LINUX.ORG.RU

Всё, поцоны, выкидываем Rust – у Бьярне есть план...

 ,


1

6

…по повышению безопасности в С++

Решение Бьярне Струструпа по повышению безопасности в С++ опирается на концепцию «профилей». Это наборы правил, при соблюдении которых достигаются определенные гарантии безопасности. Профили будут определены в стандарте ISO C++ и будут касаться таких распространенных проблем безопасности, как указатели, диапазоны массивов и т.д.

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

Струструп подчеркивает, что эти профили не должны создавать значительных накладных расходов во время выполнения. Основное внимание уделяется тому, что может быть сделано во время компиляции с помощью статического анализа, который не только не добавляет значительных накладных расходов, но иногда даже может повысить производительность. Цель состоит в том, чтобы сделать проверки безопасности как можно более эффективными, опираясь на локальный статический анализ, а не на ресурсозатратный глобальный статический анализ.

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

Струструп также отметил, что сообщество может внести свой вклад в доработку этих профилей и формализацию их спецификаций. Для этого он создал репозиторий на GitHub.

https://thenewstack.io/bjarne-stroustrups-plan-for-bringing-safety-to-c/



Последнее исправление: cocucka_B_TECTE (всего исправлений: 2)

Я наконец осознал, в чём проблема всех этих «убийц С/С++»...

Дело в том, что всякому мало-мальски образованному культурному человеку с первого взгляда на код, написанный на С-подобном языке, становится понятно, насколько УЖАСНО и УГРЁБИЩНО это выглядит... Все эти скобочки (привет, лисп!), никому не нужные точки с запятой... Истинные Ценители Красоты понимают, что код должен выглядеть как произведение искусства, а для этого важно следить не только за содержанием, но и за формой... Конечно, идеального красивого синтаксиса не существует, отчасти можно считать некоторым приближением к идеалу синтаксис Pascal, Python, Ruby, наиболее отвратные с т.з. синтаксиса, очевидно, — C, Perl, C++.

Поэтому надо сделать радикально: написать новый C++ с синтаксисом как у нормальных языков! Т.е. фтопку все эти «{}», «<>», "()", даёшь человеко-ориентированный синтаксис!.. Для начала можно начать с создания ЯП, по синтаксису близкого к Python/Ruby, но полностью транслирующийся в современный C++. Хомячки будут счастливы и толпою побегут програть на новом модном язычке с божественным синтаксисом и гибкостью, как C++!..

Dixi, discuss.

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

Поэтому надо сделать радикально: написать новый C++ с синтаксисом как у нормальных языков! Т.е. фтопку все эти «{}», «<>», «()», даёшь человеко-ориентированный синтаксис!..

Ничего не выйдет, потому что даже когда в Питон добавили декларацию типов, код стал намного более перегружен. Какой-нибудь хачкель может позволить эти объявления типов опустить, но там и конпелятор должен быть больно умный, и типизация в языке кусачая, не для тупых. Правда в том, что нормальные человеки кот не пишут, поэтому «человеко-ориентированный синтаксис» это ненужно, только постороннюю публику завлекать, а потом жаловаться на говнокодеров — а нечего было их заманивать :).

Virtuos86 ★★★★★
()
Последнее исправление: Virtuos86 (всего исправлений: 1)