LINUX.ORG.RU
ФорумTalks

TrapC спешит на помощь сишникам

 no-c


0

2

Добрый доктор Айболит спешит избавить вас от обсёров в сишном коде. На этот раз речь не про революционно новый ЯП типа раста, а про критическое осмысление сишки и плюсов. По пунктам:

- TrapC memory management is automatic, cannot memory leak, with pointers lifetime-managed not garbage collected
- TrapC pointers may look the same as in C/C++, but all pointers are diligently compiler-managed and memory safe
- TrapC pointers have Run-Time Type Information (RTTI), with typeof(), nameof() and other details accessible
- TrapC reuses a few code safety features from C++, notably member functions, constructors, destructors and ‘new’
- TrapC adds 2 keywords unique to TrapC: ‘trap’ (error handling) and ‘alias’ (operator, function and data overloading)
- TrapC removes 2 keywords: ‘goto’ and ‘union’, as unsafe and having been widely deprecated from use
- TrapC uses castplates to make C containers typesafe, without the complexity of C++ templates
- TrapC printf() and scanf() are typesafe, overloadable, and have JSON and localization support built in
- TrapC has an integer-based ‘decimal’ fixed-point data type suitable for use in financial transactions
- TrapC is one-way ABI compatible with C, such that TrapC functions may call any C function as-is
- Passing a raw C pointer safely to a TrapC function requires extra steps, because TrapC pointers have hidden RTTI
- TrapC has API-compatible versions of C POSIX and C++ STL standard libraries, to not return raw pointers
- TrapC doesn’t do more than C for thread safety to prevent race conditions, but may in the future

соотв. уайтпейпер, откуда это взято:

https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3423.pdf

Давление на общество очень выскокое:

The NSA, the FBI, the White House, Five Eyes and other government agencies have declared that the lack of memory safety in C and C++

вот так, не хухры-мухры.

Какова вероятность, что такой диалект сишки добавят в gcc, люди станут портировать опенсорс софт на него, ведущие дистры станут собирать им свои пакеты, и традиционная сишка останется только в самом дремучем легаси и примитивном эмбеде?

★★★★★

А что значит название, это типа трапа, который похож на милую сишечку, но где-то там под одеждой скрывается растовский член?

goingUp ★★★★★
()

Какова вероятность

TrapC removes 2 keywords: ‘goto’ and ‘union’, as unsafe and having been widely deprecated from use

ноль

olelookoe ★★★
()

вот так, не хухры-мухры.

говорят же - «сенаторы не могут ошибаться!» короче повесточка.

и угроза расту очевидна. - другой такой же «раст». под другим названием, с другим синтаксисоv, и частично другими фичами.

вот тут и начнется внтуnривидовая борьбы за выживание двух попугаев на одной ветке.

а сишечка как есть, так и будет есть.

alysnix ★★★
()
Ответ на: комментарий от alysnix

другой такой же «раст». под другим названием, с другим синтаксисоv

синтаксис там, на сколько я понял, чисто сишный, так что точно уже не ещё один раст

seiken ★★★★★
() автор топика
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от moonmadness

так, что тебе только показалось, что сишка мертвый язык

seiken ★★★★★
() автор топика
Ответ на: комментарий от seiken

чисто сишный, так что точно уже не ещё один раст

это лишь упрощает задачу переписывания с си. при прочих равных возьмут вот это вот.

alysnix ★★★
()

the White House … have declared that the lack of memory safety in C and C++

Известные эксперты по безопасному управлению памятью в ЯП. С сайтом на вордпрессе.

TrapC

Дык что это, спецификация или реализация? Оно существует? Оно в состоянии собрать что-то из больших реальных проектов?

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 1)
Ответ на: комментарий от seiken

Ну это же не так много усилий

фигасе

из ядра выкинуть goto все равно что сломать его нахрен

очевидно что проект писан руками людей, лица которых практически никогда не деформировали посторонние предметы

Робин Роу — бывший профессор компьютерных наук
Габриэль Пантера ранее занимала руководящую должность в компании Disney.

а, ну да

ну что же, пожелаем им удачи

olelookoe ★★★
()

Пусть еще попробуют запретить сишникам в ноги себе стрелять. В оп-посте ж явное неуважение и посягательство на базовые ценности.

sehellion ★★★★★
()

вроде misra с давно есть, кому очень надо используют, даже реализации есть, которые можно воткнуть в сборку или CI, чтоб не обосраться))

sergej ★★★★★
()
Ответ на: комментарий от moonmadness

Есть причины писать на мёртвом языке (сишка) в 2025

критерии мертвости?

а то тут недавно кобол опять в новости вылез :)

sergej ★★★★★
()
Ответ на: комментарий от thesis

TrapC

Дык что это, спецификация или реализация?

Это очередная «гендерная идентификация» с прайд-парадом. :)

Stanson ★★★★★
()
Ответ на: комментарий от seiken

возьми любой дистр Линукса, выкинь весь софт на сях, посмотри, что получится.

Мэйкфайлы, много мэйкфайлов

bdrbt
()

TrapC removes 2 keywords: ‘goto’ and ‘union’, as unsafe

/thread

Очередное выдрочево.

thunar ★★★★★
()

Иногда мне кажется, что все эти многочисленные «убийцы си», которые в последнее время как из дырявого мешка просыпались, один в один напоминают историю с «убийцами айфонов», которые в итоге сами стали неотличимы от айфонов. Хруст с его unsafe отлично вписывается в эту цепочку.

eagleivg ★★★★★
()
Ответ на: комментарий от olelookoe

Долой goto! Даёшь хвостовой вызов как цивилизованную замену goto!

iliyap ★★★★★
()

Авторы названия «Rust» кусают локти ;-)

vsnb
()

memory management is automatic

Памятью не управлял - не мужик!

GAMer ★★★★★
()

...такой диалект...

Дорогой друг, я столько видел, этих ваших диалектов, аж страшно порой.

Какова вероятность...

Никакая. Даже нет, отрицательная.

sparkie ★★★★★
()

TrapC removes 2 keywords: ‘goto’ and ‘union’

Удачи этим долб господам найти в С замену union

PPP328 ★★★★★
()

Как вы яхту назовёте, так она и поплывёт.

lenin386 ★★★★
()
Ответ на: комментарий от kaldeon

Плюсы - монстр. В данном случае задача была не в создании монстра, а в улучшении безопасности сишки. Плюсы совместимы с сями, и позволяют стрелять в ногу через указатели так же, как и в С.

seiken ★★★★★
() автор топика
Ответ на: комментарий от QsUPt7S

Нет. В джаве сборщик мусора, который включается хрен знает, когда. Тут такого нет.

seiken ★★★★★
() автор топика
Ответ на: комментарий от alysnix

goto и union оставить

Они хотят всунуть в компилятор гарантии отсутствия ошибок работы с памятью, так что фичи типа прыгать по программе куда угодно и обращаться к памяти по произволу могут им мешать это сделать)

goingUp ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)