В одном из постов @beardog говорит "тяжело быть идиотом". Не знаю, идиот ли он, но я в этом и сомневаюсь, и считаю это совершенно не важным для текущего поста.
Потому что у меня опять параллели с языками программирования. (кто про что, а я опять про это говно.)
Я считаю, что идиотом быть просто, только последствия действий тяжёло разгребать.
А быть умным — сложно, зато последствия действий разгребать легко.
И это напоминает такую картину: на языках низкоуровневых и/или на языках со слабой типизацией писать код легко, зато потом ощущаются геморрои в его отладке, поддержке, рефакторинге. А на языках со строгой статической типизацией (а то и с доказательствами корректности) писать код таки тяжелее, зато получаем почти халявную отладку (как минимум, в тех местах, где без типов мучались бы — уж точно), лёгкую поддержку и лёгкий, статически проверяемый рефакторинг.
И тут ещё вопрос "вложения сил": в первом подходе силы вкладываются в развитие умений понимать-анализировать код собственной головой, тестировать код, в умение отлаживать, в умение держать в голове кучу деталей при сложном рефакторинге (а то и при простом дописывании кода). Во втором подходе силы вкладываются в развитие умений формулировать инварианты/свойства программы на языке типов (а то и доказательств), заставляя компилятор анализировать каждый кусок кода, использующий эти типизированные значения (как при простой компиляции, так и при "рефакторинге/дописывании по ошибкам компилятора" — часто практикую такое, всё получается). Причём, компилятор будет анализировать код на соответствие типам-доказательствам независимо от того, сколько этого кода и какой он сложности. А человеки и устают, и человеческий фактор демонстрируют, и ломаются иногда.
gds
14.04.2012 12:02 umodniB841D0CB
Do you really want to delete ?
интересно бы посмотреть на результат применения этих идей к тому простенькому сишному коду под *дуино, который я в жаббир кидал.
для каждой задачи — свой адекватный инструмент. Ту мелочёвку проще хоть на отсосемблере написать, хоть на сишечьке. Я тут говорил про программы чуть побольше, где разница ощущается в полный рост.
>проще хоть на отсосемблере написать, хоть на сишечьке.
на сишечке выходит чуток портабельненько, а на ассемблере — нет.
разумеется.
Если же не брать портабельность, то для такого количества кода — пофиг, абсолютно. И, опять же, для такого количества кода и логики — сишечььька вполне хорошо подходит.
>Если же не брать портабельность
лучше брать. иногда куски алгоритмов удобнее на х86-гцц отладить, а потом быстро србрать хоть под мега8, хоть под мега16/32/64/128
Да, Кэп! :]