Остается ли программирование искусством?
Архив
Дмитрий,
руководитель проекта в софтверной компании
Shareware-программирование - возможно… Но индустриальное - ни в коем случае. Искусство не может гарантировать результатов, а уж тем более в заданный срок и с заданными характеристиками. Какое уж тут искусство. Ремесло. С другой стороны, если классическую (строительную) архитектуру считают искусством («технологичным», полагаю), то и разработку архитектуры программного обеспечения также можно отнести к технологическому искусству.
Валерий Толков
Искусство - удел одиночек, художников, писателей. Помните, у Войновича в романе «Москва 2041» рядовые литературной службы коллективно писали роман про генералиссимуса? Один описывал природу, другой следил за идеологической выдержанностью, третий сочинял эпиграфы. Вот в точности так и делаются современные программы в крупных компаниях. И получаются эти программы толстыми, увесистыми и интересными, как учебник по истории КПСС. А если вы вдруг встретили небольшую программу с интересной идеей, красиво сделанную, а открытый исходный код поражает стройностью, знайте, писал ее вечерами увлеченный художник, поглощая кофе и пиво и не надеясь на какое-либо вознаграждение… Жаль, что не переживет она его, а сгинет через несколько лет вместе с устаревшим железом, и не будут компакты с исходниками выставляться на аукционах за сумасшедшие деньги на радость наследникам. Но кто-то увлеченный, вдохновившись ею, напишет другую программу…
Антон Чижов,
программист
Хорошее программирование (не чистое кодирование) обязательно носит в себе элементы дизайна, архитектуры, композиции. Это уже искусство. Но, как и в искусстве, без правильно поставленной техники программирования - обойтись невозможно. И чем дальше развивается программирование, тем больше приходится заниматься композицией и архитектурой, тем дальше уходят сами программисты от простого кодирования на языках, приближенных к компьютеру.
Евгений Касперский,
руководитель антивирусных исследований «Лаборатории Касперского»
И да, и нет. Современные технологии сделали программирование таким же ремеслом, как и многие прочие профессии. Однако остается еще очень много задач, процесс решения которых иначе как искусством назвать нельзя.
Конвейер на «Форде» - ремесло. Болиды Формула-1 - это искусство. Примерно так же и в программировании. Когда лепится очередная база данных или АРМ - это ремесло. Когда нужно выжать из операционной системы и железа все, на что оно способно, - это искусство. И так будет всегда.
Александр Федоров,
руководитель отдела компании «Платинум»
Любая работа может быть работой, а может искусством. Все зависит от того, как к этому относится человек и как поставлен сам процесс. Например, в старые добрые времена добыть вагон сырья считалось большим искусством: посидеть за рюмочкой чая с этим, потом с тем, провести правильную беседу, а в результате выделялись фонды.
Одно дело - маленькая компания, где каждый человек, по большому счету, является уникальным. Он и ставит задачу, и думает, как ее реализовать, и составляет алгоритм, и, в конечном итоге, программирует - он творец. Другое - большая, где существует четкое разделение труда, и каждая идея реализуется достаточно формализованным набором шагов. Но тут уже все зависит от человека. Ведь любую задачу можно выполнять механически, а можно подойти творчески, когда, скажем, от большой лени программист садится и думает, как ему меньше ударить по клавишам и получить такой же результат.
А возьмем другой пример: пусть у нас на заводе есть несколько производственных процессов, которые нужно автоматизировать. Предприятие выпускает несхожую продукцию: швабры и самолеты. Вроде бы вещи совершенно разные, но задача найти в этих процессах общие части и спроектировать систему так, чтобы она состояла из кубиков, складывающихся и в процесс производства швабр, и в производство самолетов, - это и есть искусство.
Алексей Проничев,
президент компании «Арсеналъ»
Безусловно, с каждым годом усложняются требования, предъявляемые к работе программиста, как в плане работы в команде, так и в плане использования соответствующего инструментария. Соответственно появляется и разделение труда на простых кодеров и тех старших программистов-аналитиков, которые занимаются конструированием систем. Полагаю, что на некотором низшем, черновом уровне говорить об искусстве программирования уже нельзя. Но если рассматривать конструирование достаточно сложных программных продуктов, то здесь, безусловно, именно от искусства аналитика зависит, насколько система будет гибкой и масштабируемой, то есть приспособленной к развитию.
Дело ведь не в том, что коммерциализация продукта уничтожает искусство: просто к продукту предъявляются все более усложняющиеся требования. Какие-то простые вещи, доступные для написания одним человеком, уже давно встраиваются в большие сложные пакеты, предлагающие сразу широкий набор функциональности. Ведь и у потребителей требования выросли: они желают получить в одном продукте сразу набор функций, объединенный какой-то идеей.
В любом случае при написании коммерческого ли, фриварного ли продукта должен быть лидер, который определяет идеологию продукта, определяет, как этот продукт строится. Без лидера команда не работает. И вот об этом лидере уместно говорить, применяя контекст искусства.
Дмитрий Вайнман,
программист «Студии Артемия Лебедева»
До тех пор, пока существуют программисты, не следующие технологическим стандартам, разработанным для них другими, процесс написания кода содержит элемент искусства. А поскольку стандартами регламентировать все встречающиеся ситуации невозможно, искусство будет всегда.
Митя Хмель,
виртуальный программист головы своей
…а если спросить: является ли искусство программированием?
[i38758]