Комментарии 5
Воистину, язык ада!
0
Из не шибко массовых языков было бы забавно посмотреть на анализ кода на Оберон, который тут некоторое время назад рекламировала группа с одинаковыми мыслями и похожими никами, в котором "нельзя допустить ошибку", приводя как доказательство "Hello, World" и вычисление корней уравнения. Подозреваю что всё там не лучше, если проект достаточно большой (с поправкой на бедность языка и библиотек). Дубли условий и действий в разных ветках, выход за границы массива (пусть и с проверкой, но всё равно ошибка), путаница имён после копипасты, always true/false и многие другие никуда не деваются, а имена в виде X, I, A, B, C только добавляют шансов запутаться.
-1
Оберон, в котором «нельзя допустить ошибку»
Возможно, мы читали разные статьи, но я не нигде не видел утверждений о том, что «нельзя допустить ошибку». Допускаю, что Вы не поняли основной посыл — некоторые ошибки, сделанные в программах на Си, действительно крайне сложно совершить, например, как эпичную Appleвскую:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;
В целом же, язык не запрещает делать ошибки и статический анализатор и система автоматического доказательства корректности тоже нужны.
Некоторые трансляторы Оберона генерируют код на Си, так что применить к ним те же инструмента анализа вполне возможно. Только кому это действительно интересно?
0
(оффтопик) раз уж начали разные языки — добавьте интерпетируемых языков (python, ruby, php, js, etc). Люди спасибо скажут.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ещё больше простых багов [язык Ада]