|
Aug. 28th, 2024|09:36 am |
>например почему раст нинужен, а оберон збс и безопасен про это я как раз не пишу: оно, типа, очевидно. ;-) залог надёжности — в простоте. форт простой. оберон простой. хрустик по сложности где-то в районе крестов, ещё и требует раскорячиваться весьма специфическим образом.
вообще, один из первейших критериев оценки языка — может ли один человек за пару месяцев сделать с нуля полноценный компилятор. включая кодоген, конечно. я с наножитом считерил, но это как раз месяц из двух.
это важно, потому что если один человек не может сделать компилятор — то один человек и не может освоить язык.
а с безопасностью всё совсем просто: 1. запрещаем указатели-на-что-угодно. 2. делаем сборщик мусора. 3. строгая типизация и битьё по морде за любые попытки читерить. 4. ассерты неотключаемы, проверка индексов массивов неотключаема, проверки на NIL dereference неотключаемы, проверки на целочисленное (как минимум) переполнение неотключаемы. 5. оптимизация генерируемого кода сверх самого минимума не нужна. 6. если компилятор не может стопроцентно отдетектить ситуацию «use before assign» — тупо зануляем все локалы. 7. всегда надо искать, что из языка можно выкинуть, а не что можно добавить.
ну, и мы только что получили оберон. |
|