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

Categories:
  • Music:

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


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

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

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

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

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

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

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

  • Нефть

    В продолжение вот этой темы выложил немного побольше данных: http://journal.kurtukov.name/?p=78 http://journal.kurtukov.name/?p=79…

  • Вынося из комментов

    Есть очень распространённое мнение, что во время Войны положение с горючим в СССР было заметно получше, чем в Германии. Типа СССР добывал многия…

  • Голодомор по американски.

    Так называется активно обсуждаемая статья Бориса Борисова опубликованная разными интернет-изданиями. Сама статья являет собой образец серой, местами…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 35 comments

  • Нефть

    В продолжение вот этой темы выложил немного побольше данных: http://journal.kurtukov.name/?p=78 http://journal.kurtukov.name/?p=79…

  • Вынося из комментов

    Есть очень распространённое мнение, что во время Войны положение с горючим в СССР было заметно получше, чем в Германии. Типа СССР добывал многия…

  • Голодомор по американски.

    Так называется активно обсуждаемая статья Бориса Борисова опубликованная разными интернет-изданиями. Сама статья являет собой образец серой, местами…