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


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

Assembly language © http://www.hexblog.com/?p=17

Эти же ребята акцент внимания устанавливают на синтаксис. Разговор о языках с ними — это разговор о том, как язык выглядит.

Внешность языка — один из ключевых параметров, по которым они оценивают то, насколько хорош.

В немецком слишком много умляутов, фу-фу, давайте на нём сервис не писать. А мне неопределённые артикли норм, английский рулит, пишем базу на английском. Слушайте, вы все ошибаетесь, посмотрите на китайские иероглифы, они ня. Сам ты ошибаешься, вон в японском какая изысканная строгость, хоть сейчас числодробилку на нём рисуй.

LISP © http://kazimirmajorinc.com/Documents/Lisp-code-typography/index.html

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

И это хорошо.

Плохо то, что чем выше уровень [близости к человеку] языка, тем больше цена, которая платится. Верю, однажды будет вселенная, в которой Ruby переплюнет машинный код, но не сегодня. И тут начинают бунтовать прорабы.


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

У прораба линейка и секундомер. На искусствоведа он смотрит примерно так же, как мебельщик из Техаса на оформителя палат Людовика XV. Чувак, нужен стул, выдерживающий быка с ковбоем, а вот эти твои маленькие китайцы с завитушками не нужны.

JavaScript © http://stackoverflow.com/questions/6592391/a-tool-to-format-a-long-minified-javascript-code-jcarousel

Приоритет, ясен пень, на другом. Прораб готов что сам поле лопатой перепахать, что толпу кандидатов наук заставить картошку перебрать ради достижения результата. Результат (с большой буквы) для прораба — то, что отвечает суровому ТЗ, а то и переплёвывает его вдвое.

Тут занятно другое. У прораба тоже есть эстетика. Ему приятно смотреть на двигатели, на тысячу патрубков и миллион проводов. Он считает, что код — это проекция компьютерной архитектуры в текст. И чем больше фотографической точности, тем лучше. Предельная функциональность исходного кода (предмета искусства) — вот один из идеалов прораба. Рококо для него — это мишура, уродливый слой косметики, скрывающий прекрасное тело. Он не особо доверяет коду, который выглядит слишком пластиково, слишком декоративно.

Brainfuck © http://www.kryptonite-dove.com/blog/learning-brainfuck

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

И это хорошо.

Плохо то, что пока десяток прорабов маленькими надфилями и микронанометрами сотворит наикрепчайший киберпанковый стул в мире, один искусствовед на своём пиджинскрипте налабает десять табуреток.