Thursday, 14 September 2017

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

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

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

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

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

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

Profile

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

May 2025

M T W T F S S
    1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 2425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sunday, 25 May 2025 01:54
Powered by Dreamwidth Studios
OSZAR »