Рекомендую эссе Paul Graham: Superlinear returns.
Что мне нравится в текстах Paul Graham так это опережение моих писательских планов. Пол периодически пишет про то, что я давно хочу написать, но пока не могу — ещё не Paul Graham :-D
Конкретно на тему нелинейных изменений я уже лет 10 хочу написать эссе да побольше. Но если бы я сел его писать сейчас, то это был бы длиннопост со странными графиками и терминами и без таких интересных примеров как у Пола. Поэтому приходится давать ссылки на его эссе.
Дальше, в общем-то, можете мой пост не читать. Главное оригинальное эссе прочтите. Но оставлю пару заметок для истории, которые лучше читать после оригинального эссе.
Продолжение жизни и работы с ошибками — обсудим штуки на уровень выше.
Эссе получилось большим, но точно найдутся упущенные моменты. Если я что-то забыл — пишите. Буду благодарен и за более интересные примеры.
Итак. Давайте подумаем, как мы предсказываем будущее всякое.
Предсказаниями мы занимаемся постоянно — это буквально суть нашего существования:
Это примеры «гарантированных» предсказаний, но даже они могут не исполнится:
Фактически, мы никогда не знаем актуальное состояние мира вокруг нас:
Мы даже не обладаем всей информацией о прошедших событиях.
Поэтому.
Каждое наше решение и действие основывается на предположениях о прошлом, настоящем и будущем.
Штуки, которыми мы создаём предсказания, называются моделями.
Буду говорить в контексте программирования, но соображения можно распространить шире.
Когда мы описываем алгоритм: программу, доказательство теоремы или решение математической задачи — мы строим его описание в рамках некоторой формальной модели. В рамках соглашений и ограничений, которые мы явно или неявно принимаем.
Описать алгоритм вне формальной модели невозможно. Хотя бы потому, что любой язык — уже формализация.
Отсюда вытекает интересная проблема.
Продолжаю думать о доработке своего экзокортекса. Я уже описывал его текущее состояние. Сейчас попробую прикинуть, как должен выглядеть правильный экзокортекс в 20-ых годах XXI века.
Для начала отметим несколько банальностей:
Долгое время — тысячелетия — роль экзокортекса выполняли всевозможные библиотеки, картотеки, архивы. Нельзя сказать, что они были неэффективным и не развивались. Уверен, история библиотечного и архивного дела вещь интересная.
Но из-за технологических ограничений, экзокортекс был удовольствием для богатых. Можно сказать, качественный экзокортекс был недоступен рядовому жителю Земли большую часть нашей истории.
Тем ярче видны изменения, которые приносит увеличение доступности технологий экзокортекса. Достаточно посмотреть на влияние книгопечатания на становление науки.
Ситуацию изменило появление персонального компьютера. Автоматизация вычислений небывало удешевила обработку информации, последствия чего мы ещё не осознаём в полной мере, так как вычислительная техника продолжает развиваться быстрее, чем мы осваиваем новые возможности.
Поэтому, первое, что слудует отметить: экзокортекс будущего — это софт для управления личной информацией.
Термин «управление» я выбрал специально. Информацию необходимо не только хранить, но и передавать, редактировать, искать — нам приходится организовывать полный жизненный цикл информации, то есть управлять ей.
Под личной информацией я имею в виду информацию, с которой человек уже взаимодействал и счёл её полезной, или его софт счёл её полезной. Управлять всей информацией, само-собой, в обозримом будущем вряд ли получится.
Раз мы обсудили организацию информации, давайте поговорим о подходах к описанию свойств сущностей: композиции и классификации. Посмотрим для чего они нужны, когда какой использовать и чем может обернуться неправильный выбор.
Вопрос не так прост как кажется.
Исторически человечество сильно клонится к классификации. Начиная с ранних лет мы учим детей что классификация — это единственный основной способ организации информации — на неё опирается большинство учебников.
В итоге почти все взрослые люди имеют «урезанную» модель мира и не могут, например, в изобретательство.
К месту можно упомянуть и частный случай из отрасли — травмированность целого поколения разработчиков реализацией ООП в некоторых языках программирования, не будем показывать на них пальцем.
Заранее прошу прощения у математиков и других формалистов за отсутствие должной строгости в изложении. Свою задачу я вижу не в доказательстве математических свойств композиции и классификации, а в популяризации применения композиции.