Support us

Появился новый диалект, в котором решается главная «болячка» С и С++

Стартап Trasec приступил к разработке нового языка программирования TrapC, представляющего собой эволюционную форму С и С++, сообщает The Register. Его главная особенность в безопасной работе с памятью, которая закроет хакерам простор для творчества.

Оставить комментарий
Появился новый диалект, в котором решается главная «болячка» С и С++

Стартап Trasec приступил к разработке нового языка программирования TrapC, представляющего собой эволюционную форму С и С++, сообщает The Register. Его главная особенность в безопасной работе с памятью, которая закроет хакерам простор для творчества.

Авторы TrapC предложили свой метод защиты от ошибок при работе с памятью, выход за границы буфера и попытку работы с уже высвобожденной памятью. Идея заключается в пересмотре алгоритмов работы с указателями памяти и создании нового механизма перехвата ошибок.

Этот механизм они предлагают базировать на так называемом «обработчике исключений» (trap), что отражено в названии языка. Также ведётся работа над компилятором для него, код которого авторы в будущем хотят сделать открытым. По плану это должно произойти в следующем году, но точной даты пока нет.

Все новые алгоритмы и механизмы защиты будут реализованы непосредственно в компиляторе. Они будут строго следить за границами выделенных буферов памяти и за тем, что указатели ссылаются только связанные с ними области памяти. Помимо этого, компилятор будет следить за применением типов и «ругаться» на небезопасное, по его оценке, их использование.

Разработчики TrapC стремятся сделать язык более простым, чем С или С++. В частности, в нём нет конструктора malloc — используется конструктор new. Также были исключены вызовы free и delete, а компилятору в числе прочего поручено отвечать за высвобождение памяти. Такой подход дополнительно повышает защиту от утечек памяти. В TrapC намного меньше ключевых слов, чем в С и С++. Так, в нём отсутствует ключевое слово union, применяемое для определения объединений. В то же время этот язык разработан для совместимости с C, поскольку он использует тот же двоичный интерфейс приложения.

У истоков стартапа Trasec, как и языка TrapC, стоит бывший профессор компьютерных наук и бывший член многочисленных комитетов по развитию стандартов С и С++ Робин Роу. Он также известен как соавтор знаменитого опенсорсного графического редактора Cinepaint, который применялся при создании графики примерно для 20 известных фильмов, в том числе «Двойного Форсажа», «Планеты обезьян», «Человека-Паука» и всех фильмов про Гарри Поттера. Помимо этого, Роу разрабатывал POSIX-библиотеку libunistd для Windows. В Trasec он выполняет роль гендиректора. Сейчас стартап занимается поиском инвесторов и сбором средств.

За проблемы с памятью С и С++ в последние годы открыто и всё громче ругают программисты и чиновники. Специалисты призывают избавиться от обоих языков и перейти на их безопасных для памяти конкурентов, а также переписать все проекты на них. Чаще всего в качестве безопасной альтернативы С и С++ упоминается Rust. Его уже предложено использовать для ядра Linux, а Microsoft задумывается о переписывании на нём части своих продуктов. Впрочем, среди программистов пока ещё много тех, кто не собирается отказываться от С и С++ в пользу Rust.

TIOBE: C скатился до исторического минимума
TIOBE: C скатился до исторического минимума
По теме
TIOBE: C скатился до исторического минимума
Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
По теме
Власти США требуют от разработчиков отказаться от C/C++ к 2026 году
Microsoft отказывается от C# — ключевой компонент Microsoft 365 перепишут на Rust
Microsoft отказывается от C# — ключевой компонент Microsoft 365 перепишут на Rust
По теме
Microsoft отказывается от C# — ключевой компонент Microsoft 365 перепишут на Rust
Читайте также
Rust впервые пробился в топ-10 TIOBE
Rust впервые пробился в топ-10 TIOBE
Rust впервые пробился в топ-10 TIOBE
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
У российских Python-программистов почти в 1,5 раза взлетели зарплаты в 2026
TIOBE назвал «язык года»-2025
TIOBE назвал «язык года»-2025
TIOBE назвал «язык года»-2025
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет
В Microsoft хотят перенести весь код с C/C++ на Rust за несколько лет

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.