Monday, October 6, 2014

Принцип красоты

(обновляется)

"Только красивый самолет будет хорошо летать"


(А.А. Туполев)

Принцип красоты - это главный принцип визуального программирования.



Перефразируя слова выдающегося советского авиаконструктора можно сказать Только красивая программа будет работать хорошо. 

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

Первая идея выглядит как объективная и меркантильная, вторая, как идеалистическая и субъективная.  Но так ли объективна первая? И имеет ли ради неё заниматься вопросами ВП? Допустим, ВП действительно позволит писать больше качественного кода, ну и что? Капиталист на которого ты "пашешь"(пусть даже этим самым капиталистом является часть тебя самого) только увеличит норму выработки с десяти погонных метров кода в день, до двух километров, при этом ещё и урежет зарплату, мотивируя это тем, что теперь любой гастарбайтер с улицы сможет делать ту же самую работу за меньшие деньги. Произойдет ли в таком случае повышение производительности для тебя лично? Конечно нет. Метры или километры - напряг останется и счастья не прибавит Так что, ради этой первой "фишки" заниматься визуальным программированием вовсе не стоит. Это ложная цель.

Остается вторая - эстетическое удовольствие. А так ли уж смешна она? И так ли  субъективна? Сравним две картинки: не вдаваясь ни в какие детали видно что одна приятнее глазу чем другая.



и вторая


Отчего возникло это ощущение? Просто системе глаз-мозг гораздо легче, а значит и приятнее воспринимать ритмические, повторяющиеся рисунки. Для него это как подрограммы, то есть, повторяющиеся функциональные единицы кода для программиста.

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


Так что, мой себе завет: Не жалеть времени и сил на красоту! Только это по-настоящему важно в визуальном программировании. 



No comments:

Post a Comment