После многих лет работы в сфере высоких технологий вы помните, почему вы вообще начали программировать?
Недавно у меня был разговор с другом и коллегой-разработчиком, который разбил мне сердце.
Он сказал мне: «Знаешь, я начал программировать, когда был подростком, из-за игры, в которую играл с друзьями.
В игре была функция, которую мы все очень хотели. Каким-то образом мы с друзьями реализовали эту функцию, сделав отдельный модуль, который игроки могли скачать. Я изучил основы программирования, кодируя с их помощью этот модуль.
К нашему удивлению, он стал довольно популярным в игровом сообществе, и мы даже заработали на нем немного денег, взимая небольшую плату за каждую загрузку. Мы были детьми и занимались любимым делом, имея возможность создавать что-то, что приносило деньги. С тех пор я просто знал, что хочу работать в сфере технологий.
Теперь, когда я нахожусь на рынке труда, кажется, что все вращается вокруг того, что мне нужно знать, чтобы получить работу. Мне нужно убедить людей, что я достаточно хорош для этой работы. Мне нужно обратить внимание на то, как я говорю и как я выступаю на собеседованиях при приеме на работу. Люди советуют мне не торопиться, чтобы сравнить льготы и зарплаты каждой компании, прежде чем принять предложение.
Я занялся программированием, потому что это было весело, креативно и давало мне ощущение цели. Теперь я больше не чувствую веселой стороны… Я чувствую только давление индустрии и сосредоточенность на деньгах».
Я сопереживаю чувствам моего друга, потому что я тоже прошел через нечто подобное, как и другие известные мне разработчики. Это правда, что со временем легко прийти к точке, когда мы теряем искру почему мы делаем то, что делаем. Это может открыть дверь целому ряду проблем, таких как горечь и скука.
В тот день мы с ним немного поговорили о важности стимулирования нашего творчества и о том, что его следует больше поощрять в школах.
Но и этот разговор принес мне какой-то прорыв. Это снова соединило меня с тем, что я открыл для себя естественным образом в первые годы программирования: концепцией кода как формы искусства.
Параллель между кодом и поэзией не нова.
Я начал проводить некоторые исследования, когда до меня впервые дошло, что чтение красивого кода оказывает на меня такой же эффект, как и чтение стихов. Я был приятно удивлен, увидев, что я не одинок и что другие люди чувствовали нечто подобное.
У кода есть цель и смысл. Это требует структуры. Он должен быть легким и элегантным, не увязшим в линиях и линиях мусора. Написание отличного кода — это не то, что происходит само собой. Это требует дисциплины и работы! Это само по себе искусство.
– Мэтт Уорд, Поэтика кодирования
Находки такого рода заставили меня глубже изучить, что другие программисты думают о коде как о форме искусства, и то, что я обнаружил, прекрасно.
Некоторые люди перенесли концепцию семантики и синтаксиса в языки программирования в другое измерение.
См., например, цели Международного конкурса запутанного кода C:
- написать самую непонятную/запутанную программу на C в рамках правил
- показать важность стиля программирования в иронической форме
- чтобы нагрузить компиляторы C необычным кодом
- чтобы проиллюстрировать некоторые тонкости языка C
- обеспечить безопасный форум для плохого кода C
что дает такие результаты, как эта вполне действительная программа.
При таком подходе идея состоит не в том, чтобы сделать что-то полезное, а в том, чтобы красиво и искусно поиграть с языком. Это написать программу, целью которой является исключительно демонстрация творческого подхода к самому языку.
Другие восприняли концепцию кода как поэзию и привнесли свою уникальную индивидуальность очень интересными способами.
Дилан Битти — программист, гитарист и старый любитель рока 80-х. Он создал язык программирования под названием Rockstar, который позволяет писать код в стиле классических текстов песен 80-х.
Ага. Серьезно.
Существует также целое движение творческих программистов, которые используют свои навыки в качестве инструмента музыкального исполнения.
Возьмем пример Sonic Pi, в котором используется простота синтаксиса Ruby, или TidalCycles, в котором используется мощь функционального программирования на Haskell.
Теперь с кодом можно не только играть, но и делиться им с аудиторией, которая оценит ваши навыки и получит удовольствие от творческого процесса вместе с вами. Этот вид перформанса не ограничивается только музыкой и может также применяться к визуальным эффектам с помощью таких фреймворков, как Hydra.
Других привлекает минимализм.
В чистоте математики и операций с байтами можно найти творческую вселенную. Демосцена годами была ориентирована на создание самых красивых и интересных результатов с помощью программ, использующих минимум вычислительных ресурсов и памяти.
Визнут, активный участник демосцены, открыл для себя bytebeat: однострочные программы на языке C, выводящие необработанные байтовые данные, которые затем можно передать на звуковой интерфейс компьютера. В результате получаются интересные музыкальные произведения, иногда с неожиданной сложностью.
Творчество прекрасно, потому что оно дает каждому из нас возможность быть уникальным и самовыражаться. Теперь я хотел бы задать этот вопрос вам, дорогой читатель.
Если вы забудете о деньгах, работе, давлении, вашем начальнике и т. д. Что привело вас в программирование в первую очередь? Если вы думаете о коде как о способе самовыражения, а не о выполнении работы, что бы вы хотели сказать и как бы вы это сказали?
Хотите услышать, как звучит код? На связи!
Первоначально опубликовано на https://cult.honeypot.io.