После многих лет работы в сфере высоких технологий вы помните, почему вы вообще начали программировать?

Недавно у меня был разговор с другом и коллегой-разработчиком, который разбил мне сердце.

Он сказал мне: «Знаешь, я начал программировать, когда был подростком, из-за игры, в которую играл с друзьями.

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

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

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

Я занялся программированием, потому что это было весело, креативно и давало мне ощущение цели. Теперь я больше не чувствую веселой стороны… Я чувствую только давление индустрии и сосредоточенность на деньгах».

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

В тот день мы с ним немного поговорили о важности стимулирования нашего творчества и о том, что его следует больше поощрять в школах.

Но и этот разговор принес мне какой-то прорыв. Это снова соединило меня с тем, что я открыл для себя естественным образом в первые годы программирования: концепцией кода как формы искусства.

Параллель между кодом и поэзией не нова.

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

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

– Мэтт Уорд, Поэтика кодирования

Находки такого рода заставили меня глубже изучить, что другие программисты думают о коде как о форме искусства, и то, что я обнаружил, прекрасно.

Некоторые люди перенесли концепцию семантики и синтаксиса в языки программирования в другое измерение.

См., например, цели Международного конкурса запутанного кода C:

  • написать самую непонятную/запутанную программу на C в рамках правил
  • показать важность стиля программирования в иронической форме
  • чтобы нагрузить компиляторы C необычным кодом
  • чтобы проиллюстрировать некоторые тонкости языка C
  • обеспечить безопасный форум для плохого кода C

что дает такие результаты, как эта вполне действительная программа.

При таком подходе идея состоит не в том, чтобы сделать что-то полезное, а в том, чтобы красиво и искусно поиграть с языком. Это написать программу, целью которой является исключительно демонстрация творческого подхода к самому языку.

Другие восприняли концепцию кода как поэзию и привнесли свою уникальную индивидуальность очень интересными способами.

Дилан Битти — программист, гитарист и старый любитель рока 80-х. Он создал язык программирования под названием Rockstar, который позволяет писать код в стиле классических текстов песен 80-х.

Ага. Серьезно.

Существует также целое движение творческих программистов, которые используют свои навыки в качестве инструмента музыкального исполнения.

Возьмем пример Sonic Pi, в котором используется простота синтаксиса Ruby, или TidalCycles, в котором используется мощь функционального программирования на Haskell.

Теперь с кодом можно не только играть, но и делиться им с аудиторией, которая оценит ваши навыки и получит удовольствие от творческого процесса вместе с вами. Этот вид перформанса не ограничивается только музыкой и может также применяться к визуальным эффектам с помощью таких фреймворков, как Hydra.

Других привлекает минимализм.

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

Визнут, активный участник демосцены, открыл для себя bytebeat: однострочные программы на языке C, выводящие необработанные байтовые данные, которые затем можно передать на звуковой интерфейс компьютера. В результате получаются интересные музыкальные произведения, иногда с неожиданной сложностью.

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

Если вы забудете о деньгах, работе, давлении, вашем начальнике и т. д. Что привело вас в программирование в первую очередь? Если вы думаете о коде как о способе самовыражения, а не о выполнении работы, что бы вы хотели сказать и как бы вы это сказали?

Хотите услышать, как звучит код? На связи!

Первоначально опубликовано на https://cult.honeypot.io.