Когда я был ребенком и пошел домой после школы, за мной ухаживала бабушка. Я рассказал ей о своих приключениях в школе, о том, как я торговал своими сокровищами, я дал пять гелевых шаров и получил взамен пластиковую штучку с буквами. «Что за пластиковое письмо?» - спросила бабушка. Жарила на обед обычную курицу, это был папин день, он приходил рано утром. Это похоже на маленькую прессу, в которой есть все буквы. Вы просовываете лист бумаги между его двумя сторонами, нажимаете на букву, и она оставляет след на бумаге, она почти пробивает ее.

Десять лет спустя я вместе с друзьями из университета основал литературный журнал. В нем были все модные в то время интеллектуальные эссе о постмодерне. У нас были долгие дискуссии, подогретые холодным вином, на темы, которые мы понимали менее чем наполовину. и более чем вдвое переанализированы. Мы публиковали стихи, критику, эссе, фотографии и все остальное, что попадает в серую зону между ними. Эссе принадлежали моей территории, и я ввел правило бабушек. Я не одобряю ни одной статьи, которую не поняла бы моя бабушка. Не то чтобы она увлекалась постмодерном. Я не давал ей ничего читать, это был просто воображаемый тест. Авторы поняли, у них тоже была бабушка.

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

Если есть хлеб с маслом программирования, хлеб должны быть базами данных. Базы данных говорят на общем языке. Не все говорят одни и те же слова, есть диалекты. Даже если есть стандарт, он не может указать каждый случай. Microsoft была печально известна тем, что не придерживалась каких-либо стандартов, имела свои особенности, которые работали только с их продуктами. Это как испанский или английский. Некоторые фразы, используемые в Мексике, звучат нелепо для жителей Мадрида, а некоторые они даже не понимают. Но если вы выучите испанский в Аргентине, у вас не будет проблем с тем, чтобы вас поняли в Испании. Базы данных говорят на языке SQL, что означает язык структурированных запросов, но вы произносите его как «продолжение». Эти программисты любят каламбур, они помешаны на игре слов.

Как я могу рассказать бабушке о базах данных? Предыдущий абзац - это всего лишь введение в обстановку. Он определяет одно слово из огромного словаря программирования. Он не учит вас основам SQL. SELECT* FROM person, это будет первое предложение, которое будет «Привет, меня зовут Измаил, назовите меня Измаил», начало пути на всю жизнь в страну баз данных. Хочу рассказать бабушке о своих приключениях на работе. Насчет штучки с буквой SQL. «Что за письмо?» - спрашивала она. Обучаю ли я ее базам данных, таблицам и запросам, индексам и внешним ключам? (Вам не обязательно понимать эти слова. Я поместил их здесь, чтобы покрасоваться.) Для чего? Только чтобы рассказать ей историю за двадцать минут, пока она жарит свою вечную курицу.

В основном это небольшие одноразовые рассказы, развлекательная ценность которых минимальна даже для посвященных. Это похоже на светскую беседу любителей выпивки за сериалами. Вы смотрели последнюю серию Карточного домика? Тот парень Майкл Келли был груб, когда разорвал контракт. Но моя повседневная жизнь построена из таких тривиальных блоков, из маленьких побед и неудач. Я изучаю язык и его тонкости. Я узнал, что приведенное выше утверждение означает «вернуть все данные из таблицы базы данных« человек »». Я узнал, что означает этот запрос: SELECT name FROM person WHERE name LIKE "A%" ORDER BY name. Верните все имена, начинающиеся с «А», и отсортируйте их в алфавитном порядке.

Здесь нужно небольшое техническое объяснение, но не бойтесь. База данных - это набор таблиц. Таблица - это набор однородных данных. У вас может быть таблица лиц, у которых есть имя, день рождения, пол, адрес. Это то, что я использовал в предыдущем примере. У вас может быть стол для учеников в школе, еще один стол для учителей, еще один для классов, которые они преподают. Есть механизм для соединения таблиц и определения взаимосвязи между ними. Таким образом, вы можете задавать вопросы, включающие несколько таблиц, например: «Какие студенты посещают уроки истории, которые ведет г-жа Пумперникель?» Нет, я не пишу здесь этот SQL-запрос.

Есть волшебные слова, которые выполняют операцию над столом. Это вспомогательные глаголы этого языка. Вы встретили SELECT, который возвращает данные таблицы. Вы можете ОБНОВЛЯТЬ содержимое или ВСТАВИТЬ в него новые данные. Вы даже можете использовать CREATE TABLE, чтобы создать новую, или DROP TABLE, чтобы удалить существующую таблицу. Если вы зашли так далеко, я вам кое-что покажу. Если я потерял вам несколько абзацев назад, пожалуйста, прочтите их еще раз, вы будете вознаграждены. Вы можете заглянуть в сознание программиста. Я собираюсь показать вам программную шутку, которую никто не понимает за пределами этой секты. И вы это поймете. Вот так.

В реальной жизни этого, наверное, никогда не было. Но теоретически это возможно. Если вы введете некоторые данные в базу данных и случайно запустите их, вы можете в конечном итоге потерять все свои студенческие записи. DROP TABLE Students делает именно это.

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

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

Программирование часов и программирование черепах для детей сегодня в моде. Мы думаем, что все должны говорить на этом языке. Я не уверен. Я не хочу, чтобы моя семья и друзья научились писать настоящий код. Достаточно, если они поймут это на базовом уровне. Тогда они могут решить сами.

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

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

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

Это мое предубеждение. Я стою в обоих мирах, в мире поэтов и в мире программистов. Я двуязычный, могу общаться с жителями обеих земель. Какой у меня родной язык? Боюсь, что никого из них больше нет. Я говорю с мягким акцентом. Оба человека могут сразу заметить, что я не один из них. Я мог бы быть почти там, но нет. Мое предубеждение состоит в том, что программисты рождаются с меньшим сердцем, чем у среднего населения, и они компенсируют это своим мозгом.

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

Было предпринято несколько попыток снести стены вокруг ИТ и открыть их для публики. Книги рассказывают тайну жизни Twitter и Microsoft. Я видел стихи, написанные на языках программирования. Но они неглубокие в том смысле, что не дают дополнительных знаний. Просмотр четырех сезонов IT Crowd ни на шаг не приблизит вас к пониманию того, что происходит в голове программиста.

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

Когда я закрываю свой ноутбук в 18:00 и встаю из-за стола, я размышляю о своем дне. Журнал маленьких неудач и побед. Все технический характер. Затем я чувствую себя опустошенным. Мне нечего показать за 9 часов, проведенных на моем ноутбуке. Нечего делиться за пределами моей команды, за пределами секты программистов. Какое стихотворение могло бы выразить эту смесь пустоты и удовлетворения написанным мной SQL-запросом? Мне нужно это стихотворение, напишите, пожалуйста, мне.