kaipa: (Default)
[personal profile] kaipa
Пост одного френда навел на интересную аналогию: программы довольно неплохо подчиняются теории Дарвина.

Среда обитания -- это определенная предметная область, в которой используется программа. Среда обитания может быть жестко формализована (например, космос), а может -- и нет (игры и прочая фигня).

Очевидно, что есть естественный отбор и конкуренция (рынок). Сначала идет внутривидовой отбор (тестирование, продукт-менеджмент). Самые неудачные умирают сразу. Затем программа выходит в мир, и сталкивается в конкуренции с похожими. Где либо выживает, либо нет.

Изменчивость видов -- это постоянная доработка, новые версии и т.п. Если разработка останавливается -- программа либо умирает, либо становится реликтом. Изменчивость также отвечает на изменение внешних условий.

Мутации и скрещивание генов -- рефакторинг, включение новых библиотек и включение новых программистов.

И т.д.

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

Интересно, что по-моему у Иванова-Петрова была как-то дискуссия о том, что научные теории развиваются по похожим принципам. Более того, человеческая созидательная мысль сама по себе работает так же. При решении любой проблемы, человек, отталкиваясь от какого-то фундамента, пробует малые изменения, и в голове проводит естественный отбор идей и изменений. "Прыжки", совершаемые гениями, очень редки, и как правило лишь кажущиеся, когда промежуточные шаги просто не видны наблюдателю.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

kaipa: (Default)
kaipa

April 2017

S M T W T F S
       1
2345678
9101112131415
16171819202122
23242526272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 11:02 am
Powered by Dreamwidth Studios