12 January 2015

Философия программирования 3 — Чичиков и программиат

Programming
Где вы нашли философию у Дональда Кнута? Академическое сообщество, это — 20 сумасшедших учёных, 2000 чичиковых, 20000 бюрократов и миллион детишек. Кнут это — Чичиков. На западе, даже сумасшедший учёный — умеет быть медийным, у нас это — «ранимые люди, с ними надо очень бережно, в лучшем смысле слова». Не могут связать двух слов, обижаются на вопросы. Поэтому в нашей науке видны только чичиковы, они раздают и получают награды, становятся директорами, основывают лаборатории, распиливают гранты, пристраивают своих. С прессой общаются, правда, тоже с трудом, — совок. А на западе это — развитой класс, они умеют работать с прессой, позиционироваться, колонизировать, занимать ниши, основывать религии. Найти человека который прочитал «Искусство Программирования» или «Конкретная Математика» практически невозможно, — те, кто считают Кнута за авторитет слишком глупы чтобы прочитать их, а те, что поумнее — читают книжки получше. Видимо, поэтому Кнут платил по 2.56 за каждую найденную опечатку, в надежде, что хотя-бы прочитают. Все его, с позволения сказать, книги — это копипаста алгоритмов из стэнфордских журналов, разбавленная топорным юмором, человек просто вовремя занял тему. А «детишки» от науки читают то, что им дают взрослые дяди — бюрократы и чичиковы. Вот и выходит, у бюрократов нет мозгов, у чичиковых есть мозги, но нет совести, сумасшедшие учёные — ранимые люди, обижаются.



Придыхание при произнесении имён, мемориальные доски, мой учитель был замечательный человек, статусные книжки и портреты в кабинете, пирожные для дочки профессора, цитатодрочерство в научных журналах — это всё академическое прохиндейство. Здесь и прописалась библия Кнута. Он подписывается китайскими иероглифами и рассказывает о том, что учился программировать по книгам советского Ершова, и делает это всё при каждом удобном случае, методично и аккуратно. Прокачка авторитета среди аборигенов. Человек прохаван. Вы видели сектантов проповедников из калифорнии по дальним каналам телевизора? Кнут их родственник, в буквальном смысле. Числовой анализ Библии, лекции «Господь и Айти». А что, креативненько, Библия — Искусство программирования — ассоциативный ряд, это Калифорния, детка.

Я не говорю, что это хорошо, или плохо — быть таким, как Кнут, просто вижу — ШАРИТ. Надо читать его книжки или не надо, личное дело каждого, — я уважаю свободный выбор, и просто констатирую: у всех есть, никто не читает. Иногда посидят помечтают в красивой позе, как барышня с томиком Байрона. Что, кстати, тоже неплохо, особенно если чаёк, пирожные, приятная музыка. Старший товарищ Кнута, Мартин Гарднер, другое дело, — закончил по специальности философия, тонкий джентельменский юмор, книжки хвалят после прочтения, а не до, — развивают интеллект. Сумасшедший учёный западного образца.

«Где ваши доказательства»? А вам, дорогой читатель, приходило в голову изучить его фигуру? Можете ли вы обойти заторы авторитетов в своём сознании? Как говорил Мюнхаузен: «если бы вырос сад, я бы так и сказал — сад, но если выросло дерево, то зачем же мне врать?» Кстати, мой первый компьютер был собран из спичечных коробков по книжке Гарднера, мальчику ни в одном магазине не хотели продать столько коробков, пришлось взрослых просить.

Дональд Кнут в роли Василя Вышиванного (Эрцгерцога в вышиванке).

Книги по программированию, вообще, дело десятое. Лучше всего учиться, во-первых: у живых людей. Просто находишь себе любого, кто умеет программировать и учишься у этого человека всему подряд. Можно смотреть ему в рот, бегать за пивом, носить за ним стул — не убудет — это сэнсэй. Даже если в жизни не очень приятный человек, горбун с запахом, или неудачник. И не обязательно учиться какому-то конкретному языку или технологии, а просто всему тому, что этот человек умеет и может показать-рассказать на пальцах, интересно показать. Это вменённое знание, тон голоса, манера сидеть у экрана, вы просто подключаетесь и впитываете. Для начинающих это лучшее, но это работает и для мастеров, как, например, Лассетер и Миядзаки.

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

И третье: свободный браузинг, это базовый навык программиста, раньше ходили по толкучкам и библиотекам, то же самое и сейчас, но в интернете: если вам надо понять, как генерируются псевдо-случайные числа — вы просто ищите в интернете. Ребёнок в 12 лет уже может это делать. Уметь найти референс, туториал, исходный код. Это и важнейший навык современного человека, умение найти что-то конкретное в сети, и умение бороться с отвлечением, оно же «СОС». СОС, это — синдром отвлекающих состояний (или сисек), Shiny Object Syndrome. СОС — это проблема нашего гиперинформационного общества, ещё двадцать лет назад испытывавшего информационный голод, помню собирали наклейки от заграничного пива на полном серьёзе, а теперь оно уже стало гиперинформационным. Проблему изменений в психике с переходом к гиперинформации обсуждали ещё советские учёные в передаче Очевидное Невероятное в тихие 80-е. Выработка фильтра в сознании, умение сохранять целенаправленность в хаосе отвлекающих объектов. А это ещё только начало, — мы живём во времена тихого, медленного, малодоступного интернета, нас ждёт информационная сингулярность, запасайтесь валерьянкой и навыком свободного браузинга.

Ну, а книги надо читать не по теме, а по людям, — выбираете высокоинтеллектуального и/или приходящегося вам по душе автора, и читаете, познаёте как он мыслит, как видит. Например книжка Страуструпа ужасна в качестве учебника по С++, но книжка прекрасная, показано, как мыслит разработчик языка программирования и опытный программист.

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

Вся наука рождена перепиской и созданием клубов по интересам. Сообщество увлечённых. Сумасшедшие учёные. История науки это p2p: люди находят друг друга, узнают милого по походке. Осмысленный круг общения, ритмичная переписка, алгоритмизированый процесс. Обнаружил дом сделанный из дуба трёхсотлетней древности в деревне Шарлибордо, — написал другим: милостивый господин Сарльваторе, сообщаю Вам, что дуб может держаться 300 лет в мокром песчаннике на берегу адриатики. Господа учли, занесли в свои тетрадки, распространяют дальше, ретвит, избранное. Дорогой сэр Карл, пересылаю Вам письмо от нашего друга из Шарлибордо, он сообщает прелюбопытные сведения о местных разновидностях дуба. Меш-сеть. Прежде чем она стала заметна людям, и на неё «дали денег», система работала столетиями автономно. В основном паразитируя на торговом почтовом траффике. Торгаши приметили, стали спонсировать, особенно тех, кто помогал считать прибыль быстрее, корабли и повозки улучшить, и прочие технологии торговли прокачивал — инновации.

Ганзейский господин со своими девайсами и документами чувствует себя в 21-м веке, хотя на дворе 16-ый.

Интернет за 500 лет до интернета, карта Ганзы.

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

Поскольку программистам нет места даже в этой периферии, они на периферии периферии, то нам остаётся только выкручиваться самим. Аналогичную проблему решали сто лет назад, возник пролетариат, новый класс, места ему не было в тогдашней системе. Чем его занять, как его контролировать было не ясно, как ему жить самому, тоже не ясно. У людей новые навыки, интеллект в десять раз мощнее чем у крестьян: способность жить в городе, существовать автономно — вне общины. Прокачанные суперлюди по тем временам, читать умели, считать немного. Ленин полагал, что им надо дать власть, как самым интеллектуально передовым. На западе нашли более простой способ: ну если вы умнее, и вам нужно занятие посложнее, пожалуйста: потребляйте. Как оказалось, потребление способно полностью занять могучий интеллект пролетариата и всех его производных, — клергия, сервисмены. Нечего было огород городить с новой общественной формацией. Тем более, что мозгов пролетариата не хватило, чтобы с господами тягаться. Им магнитофон показали, иномарку дали, они своё пролетарское государство сдали с потрохами за два года. Скорее всего программисты в основном так и останутся жить под крышей торгашей и бюрократов, и контролировать их будут дальше через потребление, только супер-потреблением, соответствующем возросшему интеллекту. Но есть часть программистов, особых.

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

Человек позвонил мне по скайпу и говорит: «я в скайпе невидимка, просто мне постоянно звонят и спрашивают как дела, надоело отвлекаться на ерунду». Знакомая картинка? Скажем, у вас 200 друзей — школьные друзья, родственники, со двора народ. Вы выпиваете, тусуетесь, личный контакт, улыбки, объятия, прогулки, долгие разговоры — это ваш первый уровень социального общения. Но в один прекрасный день вы обнаруживаете, что никто не интересуется вашей главной темой — лямбдами на хаскеле, или стартапами — поговорить не с кем, тогда вы начинаете искать таких людей вне своего круга. Выходите в интеллектуальный космос. На контакт с высокоорганизованными формами жизни. Чужой встречает Хищника. Второй уровень общения возникает если таких инопланетян в вашей жизни будет несколько, возникает сеть. Проверенная комбинация — душевное общение в первом круге, интеллектуальное во втором. Ваш личный вопрос: насколько вы хотите ограничить общение в первом уровне, и сколько времени вы хотите проводить в космическом пространстве второго?

Чувствуете, что тупеете, в свои то двацать-тридцать-сорок, чувство, что жизнь заканчивается? Человек слаб, сообщество сильно. Например, вы ковыряете свою программу, медленно, годами, всё медленнее, так и жизнь пройдёт, но вдруг я у вас раз в месяц интересуюсь — как идут дела, дорогой сэр? А вы у меня. И все у всех. Есть много участников и они знают темы друг друга, возникает сообщество и в нём возникает электрический ток, в головах, вы садитесь писать код и вдруг понимаете, что все участники сообщества мысленно с вами, они в вашей теме, вы ощущаете желание работать, чтобы, было что показать на следующем сеансе связи или встрече, и они ощущают — то же самое. Чувство фидбэка и резонанса. На этом принципе моральной поддержки и общей комотивации, строилась вся наука, культура и аристократическая политика. Душевность и в поддержание совместного интеллекта на определённом уровне, совместная экспансия и ощущение смысла бытия, групповая защищённость, и даже элементарный уход от одиночества и прозябания, и возможность равняться друг на друга и учиться. Это — высший свет. Такое сообщество могут создать программисты. Вопрос некоторого отрыва от первого круга решается легко, многие просто обрывают старые связи которые тянут вниз, но этого мало и даже не обязательно. Главное — подключение ко второму уровню, поиск равных, других программистов со сходными взглядами, видением.

На первом уровне общения можно вести себя полусознательно, отвлекаться на эмоции и прожигать время, а на втором уровне друзей — вы ДЕРЖИТЕСЬ, вы лично, все вместе, и каждый в отдельности, стараются «держать себя в обществе» — это второй уровень. Разговоры по делу и на максимуме интеллекта. Быть «на высоте». Обычно редкие, тщательно сконструированные емайлы дают возможность держать планку интеллектуального общения выше, чем посиделки в скайпе. Желание просто включить скайп или лично собраться — это надежда на то, что оказавшись среди умных людей, и вам в голову придёт что-то умное. Иногда приходит, но дисциплина переписки проверена столетиями. В скайпе скорее всего будут такие-же люди как и вы, сборище замыленых и уставших, и замороченных. А если они будут на уровне, а вы нет? Тогда нафиг вы им нужны в своём отупелом состоянии? Уровень интеллекта меняется каждые пол-часа.
Хотя иногда зацепиться языками по скайпу тоже пробуждает мысль и мотивацию. Есть такой Маринэску, — создатель одного из «американских хабров» – InfoQ, весь бизнес ведёт виртуально, офиса нет, он много пишет и говорит о том, когда в виртуальном сотрудничестве удобнее использовать чат, а когда майлы, когда спец софт, где скайп, как наладить communication flow при разбросе по планете.
Человек учит нас передовым вещам, одновременно пиарится – типичный «американский программист».

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

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

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

Часто бывает так: парень написал на форуме «Пацаны есть идея, давайте проект замутим», стартап, крауд-майнинг фоток, разработка библиотеки, клон варкрафта, но это — не работает! Паблик созданный по принципу — установили софт, регайся кто хочет, — это ещё не сообщество, это стая обезьян. Нельзя организовать стаю обезьян. А что работает? Можно только найти ОДНОГО человека проникнутого той же идеей, того же уровня как и ты сам, и держаться за него годами, разруливая обиды и непонятки, терпя все заморочки, вырабатывая общий язык, обсуждая темы на интеллекте, и вместе искать третьего, а потом четвёртого. Это работает. Американцы часто пишут, что трое это уже достаточно для взлёта проекта. Нельзя поставить форум, багтрекер, создать репозиторий, главную страничку, нарисовать лого в инкскейпе, придумать название и сидеть ждать чуда. Называется легла и ждёт оргазма. Чудес не бывает, — нужен ритм общения, не в продуктивности дело, а в ритме общения. Поэтому надо узнавать друг друга по походке и держаться друг за друга и держать уровень.

Вот люди поставили phpBB или более модный (самый лучший пока) Discourse и думают, что у них есть сообщество. А почему? Потому, что у самих кроме софта ничего нет, нет умения общаться, поддерживать связь, нет понимания, что такое общение, дискуссия, самоорганизация, культура обсуждения. Люди надеются на алгоритм заложенный в софт форума, надеются на софт, а не на себя. Да, там много кода в этой борде, но из всех десятков или сотен тысяч строк кода, именно СОЦИАЛЬНОГО КОДА — ничтожная часть. Сообщество возникает на софте заложенном в головах, а не в компах, это называется манеры, вежливость, умение себя вести, говорить по делу, вести дискуссию, держаться в обществе, держаться вместе, и много других прекрасных названий — ЕЩЁ сохранились в русском языке, но они умирают — слова есть, применение утрачено, наследники великой культурной империи превращаются в дикарей постнуклеара. Этим чумазым детям наступившего будущего не интересно переписываться друг с другом на умные темы, они играют в игрушки из запчастей от сломанных советских звездолётов или в лазеры привезённые чужестранцами. Я понимаю, мы сейчас освоим технику, и займёмся делом. Но только когда? Вы уверены, что это вообще случится, ведь техника всё прибывает и прибывает. Когда же настанет время оглянуться по сторонам и обнаружить существование аналогичных себе существ, и понять, что играться друг с другом во взрослых умных людей — тоже очень интересно?

Философия программирования
6: Продукт и Проект
5: Реактос и Колибри
4: Технология «Шапито»
3: Чичиков и программиат
2: Миф и язык
1: Трёхнаправленное программирование
Tags:философия программирования
Hubs: Programming
-5
23.3k 141
Comments 35
Popular right now
Инженер-программист ПЛК / SCADA
from 40,000 to 95,000 ₽GAFSYNRemote job
Web Developer (Kotlin Sites)
from 150,000 ₽JetBrainsСанкт-Петербург
Web Developer (Kotlin Sites)
from 150,000 ₽JetBrainsМосква
Senior Java Developer
from 140,000 ₽STM LabsНижний Новгород
Java API Developer
from 3,300 to 5,000 $AWWCOR Inc.Remote job