[Uneex] Статья из Dr Dobb's

Vladimir Voznesensky vovic на smtp.ru
Ср Дек 29 13:45:42 MSK 2004


Хммм.
Я в первый раз обнаружил, что у Никиты знаменитая фамилия :).

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

Возьмём грудного ребёнка.
Он ничего не знает, ничего не умеет. В него что-то заложено, bootstrap 
так сказать, чтобы он совсем уж не сдох и мог чему-то научиться.
Если бы в него был заложен интерфейс RS232, то, вероятно, 
оконно-кнопочный графический интерфейс был бы для него нонсонсом, а к 
возрасту полутора-двух лет его уже можно было бы научить, вероятно, 
играть в разные BSD Games и MUD, при чём без всяких терминалов и прочих 
Human Interface Devices.
Но, по каким-то своим причинам, Создатель не дал человеку такой 
интерфейс. Вероятно потому, что тот интерфейс, что есть, более 
универсален и гармоничен.
Ребёнок учится, постигает мир. На каком-то этапе собственного развития 
ему может быть предоставлена возможность манипуляции более абстрактными 
вещами, нежели еда, мебель и т.д., как то алгебраические формулы или 
классы ООП. И тут возникает вопрос, нужны ли человеку эти абстракции, 
или он может обойтись конкретными акциденциями (реализациями) без 
сущностей или сущностями физического мира.
Ведь тот самый пресловутый плюшевый комп с тремя кнопками, та самая 
помойка -- ни что иное, как попытка с помощью аналогий с акциденциями 
физического мира представить акциденции совершенно другого мира, мира 
выдуманного.
Конечно, пока аналогия с физическим миром работает, всё ок. Но, этот 
подход обладает следующими недостатками:
1. Он ограничивает возможности человека формальными законами физического 
мира. Как пользователя, так и разработчика.
2. Не выходя за пределы аналогий с физическим миром, мы не можем 
сказать, насколько наши представления адекватны, и почему что-то 
происходит не так.
Лично мне представляется, что феномен Microsoft в том, что они убедили 
потенциального пользователя в том, что ему ничему принципиально новому 
не придётся учиться при использовании их Виндовз.
Для людей преклонного возраста это, вероятно, оказалось выходом и 
огромным подспорьем всилу их ограниченных возможностей по обучению. Но, 
я не уверен, что такой подход адекватен для молодых специалистов, пусть 
и никак не связанных по базовому образованию с программированием.
В нашем институте все молодые физики умеют программировать. Как 
теоретики, так и те, что орудуют паяльником на токамаке.
Почему? Да потому, что никто, кроме них лучше их самих не знает, что им 
нужно.
Без всякого сомнения, существуют типичные use cases (в терминах 
Гоши-процедуры), которые необходимо в прикладной области отлавливать и 
автоматизировать. Но, для чего? Не для того ли, чтобы освободить рабочие 
руки для последующей автоматизации?
История научно - технической революции учит нас, что успешным бывает 
лишь тот, кто в чём-то сделал эффективнее других. Если не рассматривать 
эффективность в сфере насилия, то остаётся эффективность в труде. А это 
достигается систематической автоматизацией рутины, более простыми и 
надёжными технологиями и т.п.
Это про плюшевый комп.

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


Подробная информация о списке рассылки Uneex