Thu, Sep. 14th, 2017

andrzejn: (Default)
На описание языка Eiffel я набрёл лет двадцать назад, и сразу же влюбился в его принцип Design by Contract. Я вообще люблю, чтобы всё было описано максимально чётко: что куда можно и нельзя передавать, что откуда следует ожидать. И чтобы всё максимально проверялось как можно раньше. И в языки с нестрогой типизацией я так и не поверил. Контракты просто идеально соответствуют моему представлению о прекрасном. (Отсюда следует, что реальный мир почти всегда ужасен). Жаль, что Eiffel так и не захватил весь мир, а больше с тех пор контракты мне нигде не попадались.

Так что когда я два года назад узнал о проекте CodeContracts for .Net, я ухватился за него всеми руками. Это было в точности то, что надо. И оно показало мне уйму сомнительных мест в моём коде. А я-то думал, что пишу аккуратно... (Потом я пробовал пропускать через анализатор исходники нескольких популярных библиотек, и всегда это оказывался ад кромешный из кучи не проверенных разработчиками возможных ситуаций).

Но, блин, проект уже два года как заброшен. В VS.Net 2017 и .Net Core поддержки контрактов нет и не будет. И чем их теперь заменить? Пока что перевожу проекты на R# Code Annotations. Это не то, но хоть что-то...
andrzejn: (Default)
Мы, любопытные потомки обезьян, вынуждены постоянно искать новизну, иначе нам становится скучно.

Самый дохлый вариант - ограничиваться собственным воображением. Бессознательное, конечно, старается подкидывать сюрпризы, а потом удивляется тому, во что разум превращает простые импульсы, но эта система всё-таки замкнутая и бедная. Приходится дополнять её внешним миром. Внешний мир разнообразен, но (если не углубляться в теорфизику и молекулярную биологию) достаточно прост и предсказуем. А наши мозги за миллион лет эволюции натренировались быстро находить в природе существенные закономерности. И нам опять становится скучно. Приходится путешествовать и лазить в стрёмные места. Животные - уже интереснее.

Труднее всего предсказывать системы, которыми управляет мозг вроде нашего. Другие люди (пока искусственные интеллекты нас ещё не превзошли) - единственный гарантированный источник вечного изумления. Не считая взаимной заботы и взаимопомощи, отношения нам нужны именно для этого.

Только другой человек способен дать человеку неистощимый поток непредсказуемых проблем.

Profile

andrzejn: (Default)
Андрій Новосьолов

October 2017

M T W T F S S
       1
2 3 45 67 8
91011121314 15
1617 18 19 202122
23242526272829
3031     

Style Credit

Expand Cut Tags

No cut tags
Page generated Fri, Oct. 20th, 2017 23:07
Powered by Dreamwidth Studios