Когда мы имеем дело с развитием, существует большой соблазн представлять его как развитие эволюционное, то есть имеющее некоторые глобальные, эмерджентные свойства, когда множество независимых процессов косвенно, посредством каких-то неявных алгоритмов, влияют друг на друга. Разумеется, такой подход — это не более, чем метафора, настоящая реальная эволюция присуща только живой природе, однако, мне показалось любопытным представление об информационных технологиях как эволюционирующей среде, а также проведение условного сравнительного анализа между живым организмом и информационным.

Я предполагаю рассматривать программное и аппаратное обеспечение, а также, использующие их информационные технологии, как эволюционирующие «организмы», совокупность которых образует некоторое связное пространство, представляющее собой аналог биосферы. Такой подход не есть новаторство, попытки распространить феноменологию эволюционных процессов на социальные процессы появляются постоянно, одну весьма значимую попытку применить эволюционный подход к информатике предпринял футуролог Станислав Лем еще в 1966 году в работе «Сумма Технологий». Чаще всего «эволюцию» применяют в качестве синонима понятию развития вообще, которым удобно пользоваться при ретроспективном анализе тех или иных систем, претерпевающих серьезные качественные изменения. Однако, сравнительный анализ биологической эволюции и эволюции информационных систем показывает, что мы имеем довольно точное и адекватное подобие, позволяющее относится к эволюционной модели в информатике с большей серьезностью, по крайней мере как к прочной аналогии.

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

  • Наличием «борьбы за существование» вследствие ограниченности общего ресурса для существования;

  • Наличием механизмов изменчивости, благодаря которому происходит видовое изменение (мутации);

  • Наличием механизмов отбора, который часто называют «естественным», предполагая, что «искусственный» отбор есть прихоть причудливых потребностей человека.

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

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

  • Состав. Организмы состоят из совокупности типизированных элементов.

Информационные организмы имеют очень высокую типизацию. Вспомним, что своим появлением вычислительные машины обязаны предположению об эквивалентности данных и программ их обработки. Информационные организмы дискретны, на нижнем уровне все элементы информационных систем раскладываются условно до бита (0|1). Информационные организмы детерминированы — любая программа есть совокупность алгоритмов. Всё это дает право говорить, что типизация для информационных организмов достигает своего высшего уровня – возможности полной формализации всего информационного пространства.

  • Организация. Организмы состоят из особых функциональных единиц, специализированных по строению и специализирующихся функционально.

Организация есть центральный аспект существования организмов, в том числе и информационных. Именно ее наличие обеспечивает все функции жизнедеятельности, описанные ниже. Для информационных организмов мы имеем весьма развитую организацию, которая с появлением глобальных сетей и компонентных технологий стала одним из ключевых моментов в реализации информационных систем. Современное программирование представляет собой в меньшей степени разработку алгоритмов, а в большей степени разработку интерфейсов и их архитектуры.

  • Обмен веществом и энергией. Организмы представляют собой открытые системы, совершающие постоянный обмен веществом и энергией с окружающей средой.

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

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

Под раздражимостью информационных систем можно понимать очень многие вещи. Имеет полное право взгляд на информационную систему как на некоторую функцию, очень сложно организованную и имеющую механизмы управления. И в качестве «реакции» на «раздражители» оказываются способности реагировать заданным образом на запросы пользователей, импликативные модули обработки, реализующие ветвления потоков в зависимости от тех или иных условий, обработка событий. А в широком смысле – любой диалог, любой интерфейс, любая процедура или модуль.
Отдельно выделим экспертные системы, семантические и нейронные сети, в которых делаются попытки имитировать накопление «знания» о каких-то предметных областях, реализуя способность системы к развитию своих «психических» функций.

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

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

  • Наследование. Отдельные признаки (свойства) организма передаются с помощью специальных носителей.

Анализируя этот признак невозможно удержаться и не указать на то, что именно механизм «наследования» (inheritance) в объектно-ориентированном программировании создал тот уровень эффективности, который обеспечил существование информационных технологий как независимый социальный фактор. В более широком смысле под наследованием можно понимать закрепление удачных решений при версионном обновлении программ производителями.

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

Рассматривая процесс разработки системы, особенно в проектировании, мы сможем выделить характерные этапы, когда система, усложняясь с уровня «черного» ящика (вход – обработка – выход), обретает архитектуру, соответствующую поставленным задачам. Модули обретают специализацию, диалоги – проработанные сценарии.

  • Филогенез (эволюционное развитие). Организмы представляют собой сущности, возникающие путем естественного отбора своих предшественников и дающие новые виды потомков.

Эта аналогия — очевидна, мы о ней говорили с самого начала.

Укажем обязательно, что эволюционный подход и представление об объектах как организмах, применим к описанию любых объектов техногенеза и предметной деятельности человека, а также к описанию социальных систем различных уровней общности (включая системы производства), но подробный анализ этого, к сожалению, выходит за формат настоящей статьи.
Справедливости ради, необходимо отметить, что единой теории эволюции на текущий момент просто не существует. Поэтому применить «в лоб» какую-нибудь модель, которая могла бы считаться классической не удается. Однако, используя всю совокупность современных представлений, можно с большой долей уверенности говорить, что эволюционный процесс характеризуется четырьмя основными фазами:

  • Образование базовой ветви – появление организма, обладающего принципиально новыми свойствами и характеристиками, совокупность которых есть некоторое видовое пространство дальнейшего эволюционирования;

  • «Взрыв» видового разнообразия – практически единовременное появление огромного количества новых видов, свойства которых существенно отличаются, но расположены в границах базового;

  • Отбор наиболее жизнеспособных видов – закрепление новых видов в цепочках потребления ресурсов жизнеобеспечения, формирование некоторой новой целостности, устойчивость которой обеспечивается всеми элементами, входящими в нее;

  • Передача эволюционного фронта как устойчивое существование новой базовой ветви и проявление ею конкурентных преимуществ.


Эволюционные ветви развиваются независимо друг от друга. Однако, идеальных ситуаций, в которых бы организм развивался изолированно не существует. Мы всегда имеем дело с «сообществом» организмов, если угодно с мета-организмом, макро-организмом. В биологически системах — это геобиоценозы, для информационного пространства — социальная организация и организация бизнеса. Поэтому мы всегда имеем координированное развитие систем различного типа, когда в этом развитии можно выделить этапы, поколения, эпохи. Условный «палеозой» с персоналками и офисными пакетами, «кайназой» с акцентом на корпоративные решения, современные «голоценовые» процессы, где рынки персональных информационных технологий от тонких клиентов уходят в мобильность. Таких кластеризаций и делений может быть очень много, фактически, это дело вкуса, настолько разнообразна и причудлива среда.

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

Система, работа которой направлена на обеспечение управления, должна быть активной, т.е. сигнализировать о состоянии тех или иных участков работы и их показателей в случае отклонения от заданного диапазона значений или нештатного поведения пользователей в системе.
Активность системы есть аспект принципиальной важности, с этого момента система становится полноправным участником производственной деятельности, а не просто сложным калькулятором с памятью. Таковая система будет внутри себя хранить «представление» об идеальном производственном цикле и иметь способность обработки плановых и фактических показателей работы, сравнения их, отслеживание динамического изменения каждого вида ресурса, а также возможность альтернативного моделирования развития. При наличии отлаженной инфраструктуры электронных расчетов, можно представить себе ситуацию, когда система «самостоятельно» осуществляет закупки материалов и комплектующих, по мере необходимости, производит расчеты с потребителями и платит налоги.

Отсюда вытекает следующее свойство информационной системы будущего – примат обработки событий. Данные, поставляемые в систему, обрабатываемые системой и генерируемые системой как результирующие, будут иметь ярко выраженную временную составляющую, логика системы будет выглядеть как структура возможных событий, с появлением в системе понятия «будущего», т.е. наличие средств моделирования Объекта, прогнозирования его развития и проработки альтернативных вариантов планирования.
Оба этих свойства позволяют говорить о возможности нового режима работы с системой – мониторинга деятельности, когда мы имеем в системе средства отображения информационной «динамики», представляющих информацию в наиболее ясной форме, обновляющих её по мере изменения на различных участках работы.

Выделение в «идеальной» модели областей принятия решения, например, при достижении каких-то критических показателей или других совокупных условий, с активизацией запросов к Лицам, Принимающим Решения или экспертам, позволит добиться необходимой скорости реакции системы на внешние и/или внутренние события. При этом обратные связи в системе (реализованные в описанных выше способностях) позволяют динамически модифицировать модель жизненного цикла Объекта, т.е. система начинает обладать способностью к самообучению.

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

Комментарии (43)


  1. Kanut79
    07.06.2016 11:05
    +1

    Всё это настолько притянуто за уши, что даже не знаешь с чего начать....


    1. Ermit
      07.06.2016 14:31

      Очень жаль, что Вам так показалось, своей статьей я как раз хотел показать, что разница очень формальная и несущественная, а в базовых вещах информационные системы ведут себя как информационные организмы.


      1. Kanut79
        07.06.2016 14:36
        +1

        Извините, но разница огромная и пытаться "притянуть" теорию эволюции к информационным системам не самая лучшая идея. Как минимум на нынешнем этапе развития этих самых информационных систем.
        И я Вам за пять минут ровно настолько же смогу притянуть теорию эволюции например к холодильникам или даже к лапше быстрого приготовления. Мне даже не особо придётся менять использованную Вами аргументацию.


        1. Ermit
          07.06.2016 14:40

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


          1. Kanut79
            07.06.2016 14:44

            Нет, нельзя. Потому что для того чтобы процесс можно было назвать эволюцией он должен выполнять определенные критерии. И в данном случае этого не происходит.
            А в качестве метафоры "эволюционным" можно назвать такую кучу вещей, что если начать это делать, то значение слова потеряет свой смысл.


            1. Ermit
              07.06.2016 14:50

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


              1. Kanut79
                07.06.2016 14:59

                В реальности только один критерий не выполняется так, как у живых организмов — самовопроспроизводство. Для производства софта и холодильников у нас существуют специальные устройства — фабрики.


                Ну давайте начнём с того, что с точки зрения эволюции любой живой организм не обязательно должен самовоспроизводится, но он должен иметь внутри себя некую "инструкцию" для этого производства. И должен быть сам в состоянии запускать это самое производство своих "копий" в том или ином виде. И "родители" должны быть в состоянии передавать свою наследственную информацию "потомкам". Ничего этого нет ни у информационных систем, ни у холодильников, ни у лапши.
                А эволюцией такие процессы (на уровне метафоры) называют давно и много разных людей, погуглите «эволюция холодильников», такое словосочетание используется.


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


                1. Ermit
                  07.06.2016 15:04

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

                  Да, я рассматриваю всерьез, но как метафору, как аналогию. И я не нашел места, где эта аналогия не выполняется. И, возможно, это повод посмотреть на эту аналогию серьезнее, чем мы привыкли.


                  1. Kanut79
                    07.06.2016 15:10

                    Открытый код это инструкция. Но проблема в том что сама "информационная система" этот код в себе обычно не содержит. Это даже если забыть что куча кода открытым не является.


                    Грубо говоря если бы у нас была эволюция, то у нас была бы куча версий Винды, которые бы боролись между собой за место под солнцем и постоянно производили новые копии себя тем или иным способом. И при этом они бы конкурировали с кучей версий Линукса, которые бы поступали аналогично.
                    А ничего этого нет. И программы пишут люди, причём обычно новая версия не имеет никакого отношения к коду старой версии и является абсолютно новым продуктом, просто имеющим похожее название. Каким образом это является эволюцией?


                    И аналогия практически нигде не выполняется. Особенно в сравнении с такими вещами как эволюция кристаллов в специальных растворах или даже так любимая Докинзом эволюция мемов.


                    1. Ermit
                      07.06.2016 15:20

                      Да, так и есть. Куча версий винды. Они борются между собой и линуксом за комп. И производятся постоянно новые версии. Как instance так и release. И, конечно, же новый продукт никогда не бывает абсолютно новым. По своим потребительским свойствам и месте в нише.

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


                      1. Kanut79
                        07.06.2016 15:26

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


                        1. Ermit
                          07.06.2016 15:33

                          Нет. Давайте, мы пока дальше никуда не пойдем, а разберемся с предыдущим тезисом. Вы сказали (цитирую) «обычно новая версия не имеет никакого отношения к коду старой версии и является абсолютно новым продуктом, просто имеющим похожее название.» Я считаю это глубоким искажением реальности. Обычно, в софтверных компаниях (исходя из моего скромного опыта) новая версия — это исправление багов, а совсем новая версия — добавление функциональности. Большая часть кода заимствуется из старых версий, особенно, если система хорошо спроектирована.

                          У меня вопрос по процедуре: согласны ли Вы с тем, что в полемическом задоре Вы очень сильно исказили факты? Если согласны, то я жду от Вас опровержение, если нет, то не смогу дальше полемизировать, поскольку не представляю как можно продолжать полемику в условиях, когда Ваше представление о реальности полностью отличается от моего на уровне фактов.


                          1. Kanut79
                            07.06.2016 15:40

                            "Новая версия" это в данном случае Windows 10 или Win XP, а не выпуск очередного апдэйта для существующей версии. Апдэйт это в данном случае не новая версия, а всего лишь подгонка существующей. И новая версия это не только новый код, но даже часто и целиком новая технология. И даже если и перенимаются какие-то фичи, то в нормальных компаниях никто для этого не переносит код старой версии в новую, и уж тем более один к одному.


                            Поэтому мне всё ещё интересно взглянуть на то, в чём должна выражаться "генетическая" наследственность информационных систем.


                            1. Ermit
                              07.06.2016 15:47

                              «Нормальные компании» — это интересный поворот беседы. Вы меня простите, я не могу с этим согласиться по факту. Как человек, который для написания кода использует библиотеки, в том числе свои, в том числе такие, которым много лет. Один из важнейших принципов программирования заключается в повторном использовании кода. Я допускаю, что я никогда не работал в «нормальных компаниях», но мой опыт противоречит Вашему.
                              Прошу меня простить.


                              1. Kanut79
                                07.06.2016 15:54

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


                                1. Ermit
                                  07.06.2016 16:00

                                  Видите ли, если мы будем для оценки процессов, о которых я пишу делить компании на «нормальным» и не очень, делить код на (цитирую Вас) говнокод и правильный код, если будем рассматривать только глобальные релизы, а не будем рассматривать апдейты и промежуточные сервис паки и так далее. На мой вкус, слишком много странных условий только для того, чтобы Вы оставались при своем мнении. Оставайтесь, я не против. Продолжать беседу я не могу, поскольку у меня нет критериев отличать правильный код от говнокода, а нормальные компании от убогих. :)


                                  1. Kanut79
                                    07.06.2016 16:05

                                    Вы можете не делить компании на нормальные или не нормальные, если это позволит Вам вернутся к теме дискуссии и показать мне в чём должна заключаться "генетическая" наследственность программ. Причём не у двух трёх отдельных вариантов, а в качестве системы, которая присутствует в большинстве случаев.


                                    1. Ermit
                                      07.06.2016 16:10

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


                                      1. Kanut79
                                        07.06.2016 16:16

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


                                        1. Ermit
                                          07.06.2016 16:23

                                          Я как бы уже несколько раз пытался Вам объяснить, что мой опыт говорит о том, что существуют библиотеки, версионность софта, преемственность обновлений и т.п., в этот момент с Вашей стороны появлялись какие-то дополнительные условия к реальности в виде «нормальных компаний» и не-говнокода. Если в процессе создания системы Вы используете свою библиотеку, на которой писали другой софт — это и есть «генетическое» наследование. )))) Там просто сложнее, чем в биологии, ибо слоев много — функциональность, алгоритм, язык, технология, платформа и т.п, а суть одна.


                                          1. Kanut79
                                            07.06.2016 16:31

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


                                            1. Ermit
                                              07.06.2016 16:36

                                              Да нет, вполне себе является.
                                              Но хотелось бы услышать, что Вы вкладываете в «эволюционное» понимание слова.
                                              Я все-таки предполагаю, что это Ваше понимание, а не «эволюционное» ))))
                                              И заодно скажите, что такое понимание, пожалуйста.


                                              1. Kanut79
                                                07.06.2016 16:42

                                                Оооо, пошла демагогия и софистика.
                                                Если Вам интересно, то прочитайте Докинза или того же Маркова. Базовые понятия у них объяснены хорошо и так же каждый из них рассматривает вопрос что можно считать эволюцией, а что нет. И почему это так.
                                                И объясняют они на порядок лучше моего. Так что думаю стоит Вам ознакомится с их произведениями и все вопросы ко мне у Вас отпадут.


                                                1. Ermit
                                                  07.06.2016 16:47

                                                  Я просто первый раз сталкиваюсь с термином «эволюционное понимание слова».
                                                  И судя по тому, что я читал у Маркова и Докинза, они мне в толковании этого не помогут, поскольку их книжки умные и ответственные в терминах.
                                                  То есть еще одна загадка у нас осталась. Ладно, я начинаю привыкать к тому, что Вы не очень хорошо можете объяснить о чем именно хотите сказать.


                                                  1. Kanut79
                                                    07.06.2016 16:51

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


                                                    1. Ermit
                                                      07.06.2016 16:59

                                                      Давайте мы все-таки останемся в рамках того, что Вы не являетесь воплощением Докинза в нашей беседе, а то получится еще смешнее: я буду спорить с Вами, а Вы каждый раз будете отсылать меня к Докинзу )))))
                                                      Вернемся к точке Вашего непонимания. Ваше «Обычно новая версия не имеет никакого отношения к коду старой версии и является абсолютно новым продуктом, просто имеющим похожее название» я предлагаю в такой редакции: Обычно новая версия имеет прямое и непосредственное отношение к коду, использует общие библиотеки и является функциональным развитием старой системы. То есть полностью противоположные смысл тому, что Вы сказали. Если Вы с этим согласны — продолжим, если нет, давайте закончим, Вы не очень хорошо понимаете как устроено создание систем, на мой вкус.


                                                      1. Kanut79
                                                        07.06.2016 17:05

                                                        Давайте мы все-таки останемся в рамках того, что Вы не являетесь воплощением Докинза в нашей беседе, а то получится еще смешнее: я буду спорить с Вами, а Вы каждый раз будете отсылать меня к Докинзу )))))


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


                                                        Ну и где здесь эволюция? Это чистое "наследование внешних признаков". То есть, как я уже писал выше, это скорее пример ламаркизма. Интересно в качестве теории, но не то что пропагируете Вы.


                                                        1. Ermit
                                                          07.06.2016 17:08

                                                          Использование алгоритмов и библиотек — это не внешние признаки.


                                                          1. Kanut79
                                                            07.06.2016 17:12

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


                                                            1. Ermit
                                                              07.06.2016 17:16

                                                              Мы не будет их относить к «симбиозу». В этом нет никакой необходимости.
                                                              Код системы чуть более, чем полностью состоит из библиотек, интерфейсов, вызовов функций, объявлений переменных типов и их алгоримтов. Извините, Вы программист или биолог?


                                                              1. Kanut79
                                                                07.06.2016 17:27

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


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


                                                                А вот если у нас в разных программах вдруг обнаружатся одинаковые интерфейсы или функции, то тогда я соглашусь что это можно рассматривать как некое "генетическое" сходство. Но опять же возникает вопрос: было ли здесь наследование? Ведь одинаковые функции мы можем встретить и в абсолютно разных программах, которые друг с другом никак не связаны.


                                                                П.С. "И нет никакой необходимости" это в данном случае не аргумент. Я показываю Вам что ситуацию можно объяснить не только Вашей теорией, но и другими вариантами. И если Вы хотите защитить Вашу теорию, то Вы не можете просто отмахнуться от этих самых других вариантов.


                                                                1. Ermit
                                                                  07.06.2016 17:33

                                                                  Притянуто за уши, более чем нужно. Мозг — это симбиоз клеток, а не орган. Клетка — это симбиоз белков и органических молекул. Молекула — это симбиоз атомов и элентарных частиц. ))))) Я понимаю, что Вы не хотите признавать очевидного, но придется и на этот раз.

                                                                  Суть проста. Система — это код. Код — это набор каких-то алгоритмов, которые существуют как фукции, организация памяти и прочая, условно, код организован в библиотеки. Всё.


                                                                  1. Kanut79
                                                                    07.06.2016 17:44

                                                                    Притянуто за уши, более чем нужно. Мозг — это симбиоз клеток, а не орган. Клетка — это симбиоз белков и органических молекул. Молекула — это симбиоз атомов и элентарных частиц.


                                                                    Я смотрю что с биологией у Вас действительно не то чтобы очень.
                                                                    Суть проста. Система — это код. Код — это набор каких-то алгоритмов, которые существуют как фукции, организация памяти и прочая, условно, код организован в библиотеки. Всё.


                                                                    Слишком упрощенно и применимо далеко не к любому коду или языкам программирования.


                                                                    1. Ermit
                                                                      07.06.2016 17:46

                                                                      У меня нормально всё с биологией и физтех в качестве образования )))
                                                                      Не упрощенно, а точно и универсально. И без всяких посторонних сущностей в виде «нормальных компаний», «правильного кода», «симбиоза».
                                                                      Пойдите лучше, Гради Буча почитайте. ))


                                                                      1. Kanut79
                                                                        07.06.2016 17:51

                                                                        У меня нормально всё с биологией и физтех в качестве образования )))


                                                                        Что физтех заметно, что с биологией всё в нормально — нет.
                                                                        Не упрощенно, а точно и универсально.


                                                                        Офигенно универсально. Вам кинуть список языков программирования, в которых это не так, или сами найдёте?
                                                                        Пойдите лучше, Гради Буча почитайте. ))


                                                                        Не припомню чтобы он такое выдавал.
                                                                        И без всяких посторонних сущностей в виде «нормальных компаний», «правильного кода», «симбиоза».


                                                                        Ещё больше демагогии. Вы не стесняйтесь, добавляйте.


                                                                        1. Ermit
                                                                          07.06.2016 17:54

                                                                          Вам стыдно за Ваши собственные термины? Разделяю )))


            1. themtrx
              08.06.2016 06:11

              Нет, можно. Смотрите второй закон термодинамики.


  1. Loshadkin
    07.06.2016 11:53

    «Я предполагаю рассматривать программное и аппаратное обеспечение, а также, использующие их информационные технологии, как эволюционирующие «организмы», совокупность которых образует некоторое связное пространство, представляющее собой аналог биосферы.»
    Зачем?


    1. Ermit
      07.06.2016 14:36

      Для лучшего моделирования, для лучшего анализа, для лучшего предсказания трендов. Всегда полезно иметь дополнительную метафору, когда пытаешься разобраться с процессами на рынке, от которых зависит твоя профессиональная деятельность.


  1. potan
    07.06.2016 19:17

    Вы не знакомы с концепцией мемов и вообще с работами Докинза?


    1. Ermit
      07.06.2016 19:29

      Знаком с «Эгоистичным геном», трудно не быть. )) Но я пытался делать иные акценты. Возможно не получилось, статья просто обозначает элементы модели. С концепцией мемов тоже знаком, к.м.к. она не дает представлений о механизмах, она слишком феноменологическая. Мне интересно понять эмерджентность самой среды, поскольку эволюция развивается фронтами и это самое важное в ней.
      В этом смысле мой «базовый» автор — Тейяр де Шарден.


  1. fivehouse
    09.06.2016 12:09

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


    1. Ermit
      09.06.2016 15:50

      Спасибо! Вопрос о степени строгости (или притянутости) такого изложения — это отдельный вопрос, а вот использование «эволюционных» моделей в качестве средств анализа и прогнозирования будущего (даже ближайшего) — это очень важно. Согласен с Вами.