Рубріки: Новини

Професор інформатики створив TrapC — нову С-подібну мову, безпечну для пам’яті

Дмитро Сімагін

Програмістам на C і C++ може не знадобитися вивчати Rust, щоб їхній код був безпечний для пам’яті. Робін Роу, колишній професор інформатики та розробник графічного редактору Cinepaint, готується випустити форк мови програмування C під назвою TrapC. На відміну від інших проектів на базі С, новий форк буде безпечний для пам’яті додатків та систем, повідомляє The Register.

«Ще в лютому Білий дім оголосив, що нам потрібно щось зробити щодо безпеки пам’яті в C і C++ або перейти на Rust… У той час я був членом обох комітетів C і C++, і, як ви можете собі уявити, це викликало неабиякий переполох у цьому кутку», — заявив Роу.

У TrapC застосовується фундаментально інший спосіб роботи з покажчиками та спеціальний механізм перехоплення помилок на основі обробників винятків (trap). Вихідний код компілятора для TrapC планують відкрити у 2025 році.

За задумом автора нової мови, компілятор гарантуватиме, що покажчики посилаються тільки на пов’язані з ними області пам’яті. Також він буде перевіряти всі межі буферів. Компілятор запам’ятовує типи та не допускає небезпечного приведення типів. Всі новостворені змінні та буфери явно ініціалізуються або заповнюються нулями компілятором.

Замість malloc TrapC використовується схожий на C++ конструктор new. Виклики free та delete відсутні, а за очистку пам’яті відповідає компілятор, який захищає від помилок, що призводять до витоку пам’яті. У купі застосовується інкрементальне автоматичне керування пам’яттю, але без збирача сміття. На рівні ABI (бінарного інтерфейсу програми) TrapC буде сумісний з С, що дозволить комбінувати в одному додатку код на TrapC та чистому С. Однак для коду, написаному на С, безпека роботи з пам’яттю не гарантується.

Мови C і C++ є поширеними джерелами помилок у безпеці, оскільки вони покладаються на ручне керування пам’яттю. Однак у них є переваги: краща продуктивність і швидкість, ніж у Python чи Java, які керують пам’яттю через процес, відомий як збирання сміття. Недоліком ручного керування пам’яттю є те, що воно може призвести до пов’язаних з пам’яттю помилок, таких як переповнення буфера та використання після звільнення (use-after-free).

Останні статті

MiMo-V2-Pro від Xiaomi: майже наздоганяє GPT-5.2 та Opus 4.6 і коштує в 6-7 разів дешевше

Xiaomi Labs офіційно представила MiMo-V2-Pro — свою флагманську LLM-модель, яка має 1 трильйон параметрів. Бенчмарки…

19.03.2026

Meta закриє доступ до Horizon Worlds через VR. Залишиться лише мобільна версія

Віртуальний всесвіт Horizon Worlds стане недоступним через VR-гарнітуру після 15 червня 2026 року. У лютому…

19.03.2026

Голосовий UI-дизайн від Google: що вміє оновлений вайб-інструмент Stitch

Команда Google Labs представила масштабне оновлення свого експериментального інструменту Stitch, запровадивши концепцію «вайб-дизайну». Якщо коротко:…

19.03.2026

Новий тренд: Китай фінансує тисячі ШІ-компаній без найманих працівників

Влада Китаю почала субсидувати тисячі «одноосібних компаній» (One-Person Companies, OPC), які спеціалізуються на технологіях штучного…

19.03.2026

У вас є 20 000 підписників в YouTube чи TikTok? Якщо так, Facebook буде вам платити $100 щомісяця

Meta розгортає масштабну кампанію залучення топових авторів контенту з конкуруючих платформ на Facebook. Завдяки новій…

19.03.2026

Apple блокує оновлення програм вайб-кодингу в App Store

Корпорація Apple розпочала кампанію з обмеження розповсюдження застосунків, які сприяють в розробці інших програм за…

19.03.2026