Книга бревна (fat_yankey) wrote,
Книга бревна
fat_yankey

Categories:
  • Music:

Бог как программист


Эволюционизм и креационизм в голове программиста, да думаю и любого другого инженера (не путать с изобретателем) сочетаются легко.

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

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

Однако, если мы записали бога в программисты, то хотелось бы определиться со стилем его программирования. Можно ли чему-то здесь научится? Просмотр "Доктора Хауса" наглядно демонстрирует что божественные программы написаны спагетти-кодом. По симптомам совершенно неочевидно, какой именно участок кода сбоит. Все органы и системы взаимосвязаны, неисправность в одном месте порождает каскад отказов в других, порою самых неожиданных. Картина знакомая любому кто работал со старыми системами (большинство систем накапливая изменения гомогенизируются в Big Ball of Mud).

Такой стиль программирования обычно приводят в пример как "антипаттерн".

Но я бы не стал торопиться осуждать бога. Подумайте - в геноме человека всего-навсего 3 с хвостиком миллиарда пар оснований. Т.е. размер кода 6,5 гигабит, чуть более 800 мегабайт. Меньше чем Microsoft Office, а запрограммирован целый человек. Такое на языке высокого уровня не создашь, только ассемблер, только хардкор.

Стиль программирования бога, это стиль хакера-системщика высокого полёта. Есть конечно там и сопли, и спагетти (см. картинку) и мусор. Но вспомните - этому коду много сотен миллионов лет и бог знает сколько версий.
Subscribe

  • Как пишется история

    Первым из французских соединений вступил в бой кавалерийский корпус Приу. Колебавшийся прежде генерал теперь был преисполнен решимости. Французские…

  • С шашкой на танки.

    Байки о польской коннице, атаковавшей танки с саблями наголо, с подачи Гудериана у всех на слуху. Рассказывают такие байки и о советских…

  • 22 июня

    Все уже отписались про 22 июня, отпишусь и я. Для нашей страны дата 22 июня прочно связана с 1941 годом. За «самым длинным днём» последовало самое…

  • Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 35 comments

  • Как пишется история

    Первым из французских соединений вступил в бой кавалерийский корпус Приу. Колебавшийся прежде генерал теперь был преисполнен решимости. Французские…

  • С шашкой на танки.

    Байки о польской коннице, атаковавшей танки с саблями наголо, с подачи Гудериана у всех на слуху. Рассказывают такие байки и о советских…

  • 22 июня

    Все уже отписались про 22 июня, отпишусь и я. Для нашей страны дата 22 июня прочно связана с 1941 годом. За «самым длинным днём» последовало самое…