Организация информации
Тезисно скажу пару слов об организации информации: зачем это нужно, на что влияет и от чего зависит.
Не в контексте программирования, а «вообще» в процессе жизнедеятельности. Конечно, к программированию всё сказанное тоже относится.
Мы всегда организуем информацию
Как-только люди занялись земледелием, они задумались об управлении посевами и начали разбивать землю на участки.
Когда начались большие конфликты, мы придумали флаги, униформу и кричалки боевые кличи, чтобы отличать друга от врага.
Стоит человеку взяться за новое дело, он сразу старается его упорядочить. Это касается любой активности, не только крупных явлений. Даже собирая грибы мы делим их на съедобные и несъедобные. Кто не делил — не выжил.
Зачем
Правильная организация информации сокращает время на рутинные операции мышления: поиск, воспроизведение известных последовательностей действий.
С одной стороны это даёт больше времени на творческую составляющую мышления (поиск нового), с другой — на реализацию надуманного. В итоге правильная организация информации ускоряет наши действия и / или делает их эффективнее.
Происходит это за счёт существенного сокращения количества перебираемой информации ценой запоминания небольшого набора правил её организации.
Возьмём для примера библиотеку.
Книги в ней можно никак не организовывать — свалить в кучу. Тогда поиск нужной книги будет занимать много времени — придётся вручную перебирать всю свалку.
Можно договориться, сортировать книги по названию. Тогда поиск книги значительно ускорится — мы запомнили небольшое правило и значительно ускорили свою работу. Однако поиск по другим признакам всё ещё будет занимать много времени.
Можно создать несколько каталогов книг: по жанру, по автору, по названию, по теме и так далее.
А можно выделить целую отрасль деятельности — библиографию с кучей стандартов и правил, которые позволяют искать нужные материалы ещё быстрее и точнее.
Кстати, сама идея сгрузить все книги в одно здание — это уже какая-то организация информации.
Нюансы
Выбор и реализация правильной организации информации — дело непростое.
В первую очередь потому, что кусочек организуемой информации существует не в вакууме, а во вполне физическом и сложном мире. Из чего следует множество нюансов.
Существует разумный предел организации информации.
Усложнять организацию информации имеет смысл только до тех пор, пока выгода от ускорения работы с ней превышает затраты на поддержание системы правил.
Это утверждение выглядит само собой разумеющимся, но если приглядеться, то станут заметны множественные его нарушения: переусложнённые законы, запутанные правила, чрезмерно детализированные бизнес процессы.
Вырабатывая правила, всегда держите в голове эту идиому. О ней очень легко забыть в погоне за идеальностью. У программистов подобная забывчивость является буквально профессиональной болезнью.
Информация и физический мир влияют друг на друга.
Некоторые философские школы поспорят с этим утверждением, но на практике информация всегда отражает некое состояние реального мира: прошлое, настоящее, будущее, идеальное, возможное, etc.
Как следствие, изменения в информации отражаются в мире, а изменения мира — в информации.
Например.
Биологическая классификация паразита определяет протоколы лечения заражения им. Изменение классификации приведёт к пересмотру протоколов, равно как и неработоспособность протоколов может привести к пересмотру классификации — поиску ошибок в ней.
Протоколы лечения, в свою очередь, определяют используемые лекарства, что влияет на их потребление, нагрузку на заводы, планы по открытию новых и модернизации старых производств — влияние информации на мир велико.
Операции с информацией происходят не моментально и не бесплатно.
Во-первых, потому, что наши мозги работают медленно, как это ни парадоксально. Просматривая правила организации информации нам приходится перебирать огромное количество связей между сущностями. А количество связей изменяется более чем нелинейно с ростом количества сущностей.
Во-вторых, потому что изменение информации фиксируется не одним человеком, а консенсусом людей, которые её используют. Поэтому при изменении информации или правил её организации, необходимо информацию передавать.
В общем случае информация сначала собирается от многих людей, потом предлагаемые изменения циркулируют между ними, пока не будут согласованы, после чего распространяются на всю группу заинтересованных людей.
Даже в случае полной диктатуры остаются затраты на распространение единолично принятых изменений по подчинённым.
В-третьих, поскольку информация связана с физическим миром, её изменения требуют соответствующих изменений в физическом мире: пересмотра рабочих процессов, выпуска книг, методичек, обучения людей.
Информация сильно связана.
Не бывает небольших изолированных кусков информации, с которыми можно работать без оглядки на остальной мир. Если вы меняете правила работы с информацией, необходимо анализировать не только непосредственные следствия изменений, но все возможные (по мере сил) цепочки зависимостей.
То, что вы меняете, обязательно используется чем-то сторонним и использует что-то стороннее.
Эффект бабочки как раз об этом.
Информатизация меняет правила игры.
Многое, что было делать долго и дорого сейчас может быть сделано быстро и дёшево.
Это хорошо заметно в делопроизводстве, когда потоки бумаги заменяются электронными документами, а протоколы их обработки распространяются моментально.
Многое, что было делать быстро и дёшево, сейчас требует больше времени и ресурсов.
Например, то, что раньше решалось устными договорённостями, сейчас требует внесения изменений в софт.
В целом, компьютеры намного быстрее делают рутинную работу, но описание правил этой работы требует больше времени.