Pull to refresh

Comments 5

у многих намного худшие впечатления от языка РАЯ (он же Ершол).

Из не шибко массовых языков было бы забавно посмотреть на анализ кода на Оберон, который тут некоторое время назад рекламировала группа с одинаковыми мыслями и похожими никами, в котором "нельзя допустить ошибку", приводя как доказательство "Hello, World" и вычисление корней уравнения. Подозреваю что всё там не лучше, если проект достаточно большой (с поправкой на бедность языка и библиотек). Дубли условий и действий в разных ветках, выход за границы массива (пусть и с проверкой, но всё равно ошибка), путаница имён после копипасты, always true/false и многие другие никуда не деваются, а имена в виде X, I, A, B, C только добавляют шансов запутаться.

Оберон, в котором «нельзя допустить ошибку»

Возможно, мы читали разные статьи, но я не нигде не видел утверждений о том, что «нельзя допустить ошибку». Допускаю, что Вы не поняли основной посыл — некоторые ошибки, сделанные в программах на Си, действительно крайне сложно совершить, например, как эпичную Appleвскую:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;

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

Некоторые трансляторы Оберона генерируют код на Си, так что применить к ним те же инструмента анализа вполне возможно. Только кому это действительно интересно?
(оффтопик) раз уж начали разные языки — добавьте интерпетируемых языков (python, ruby, php, js, etc). Люди спасибо скажут.
Sign up to leave a comment.