«Массивный, громоздкий зверь неуклюже переступает с лапы на лапу. Танцует медведь просто ужасно, но чудо не в том, что он танцует хорошо, а в том, что вообще танцует».
Алан Купер об интерфейсах, «Психбольница в руках пациентов»
Графический интерфейс и командную строку часто противопоставляют другу другу. Причем то, что поклонники GUI считают достоинствами, в глазах любителей CLI — недостаток. И наоборот. «GUI — самодокументированный интерфейс. — говорят первые, — Мне не нужно читать инструкцию, чтобы разобраться в грамотно спроектированном GUI, я просто смотрю на него, открываю меню, другое, третье, и через несколько минут (или секунд) делаю, что мне надо». «А как насчет десятого или сотого раза? — возражают вторые. — Всё это изобилие кнопочек и значков превращается в раздражающий визуальный шум и мешает работать. А скорость? Разве может сравниться хождение по многоуровневым менюшкам со стремительностью клавиатурных команд?» «Стремительность, говорите? — отвечают первые, — А изучать руководство на сотни страниц мелким шрифтом, чтобы выйти из вашего Vim-а, это тоже стремительно?»
Этот спор можно растянуть еще на несколько абзацев, но лучше подумать вот о чем: так ли уж необходимо терпеть недостатки каждого из интерфейсов? Нельзя ли быстро запрягать и так же быстро ехать? Ведь сторонники GUI на самом деле любят не кнопочки и разноцветные значки, они любят легкость обучения. Шедевры графического интерфейсостроения всегда легки и лаконичны, в них не встретишь буйства красок и россыпей кнопок. А любители командной строки привязаны не к монохромному аскетизму, а к скорости, ненавязчивости и предсказуемости консоли. Достаточно взглянуть на обилие цветовых схем подсветки синтаксиса того же Vim, чтобы убедиться в том, что суровые консольщики тоже любят, чтобы было красиво.
Медведь, танцующий не хуже балерины, интерфейс с большими и красивыми графическими подсказками, которые при этом не мозолят глаза, с гибким и мощным набором клавиатурных команд и сокращений, которые не надо изучать — фантастика, да и только. А вот и нет. Такие интерфейсы уже существуют. Только они почему-то занимают довольно узкую нишу. Но о них чуть позже.
Читать дальше →