Skip to content

Instantly share code, notes, and snippets.

@Odomontois
Last active February 16, 2023 16:36
Show Gist options
  • Save Odomontois/ebbe27d504c6560a0241a3c0a8dfcdfa to your computer and use it in GitHub Desktop.
Save Odomontois/ebbe27d504c6560a0241a3c0a8dfcdfa to your computer and use it in GitHub Desktop.
Теория категорий для программистов

Теория категорий для программистов

Книга о математике для нематематиков от нематематика , которую он никогда не писал

Домашняя работа для курса "Как «работает» cовременная литература"

Только что закончилась эпоха, когда востребованность IT и в частности программистов бесперебойно росла.

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

"Книга для программиста" тоже стала оригинальным жанром, выросшим из технической литературы. Начав с жанра обычных мануалов, технические писатели быстро осознали, что в новой плотном социальном слое читаль может склоняться не только к насущным вопросам "как сделать то и это", но и более экзистенциального, философского толка "а зачем это вообще делать", "а как это делать так, чтобы тебе и другим было после приятнее жить", "что делать должно и не должно". Психологический комфорт был важен для трудноизмеримого понятия "продуктивность" специалиста, и авторы спешили давать свои советы, создавая целые идеологии, о том, как командам делать что-то, сохраняя энергию и мотивацию. Другие писатели просто явно заигрывали с классической литературой посреди технических текстов, чего только стоит серия "The Little Schemer", "The Little Typer", "The Little Learner" Дэниэля Фридмана, передающая читателю новые концепты в стиле "Маленького Принца"

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

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment