=?iso-8859-1?q?=5Bmdk-re=5D_Re=5B2=5D=3A__=5BJT=5D_=CC=C9=CE=D5=CB=D3=2C_?= =?iso-8859-1?q?=D7=C9=CE=C4=D9=2C_=C0=DA=C5=D2=D9=2C_=C1=C4=CD=C9=CE=D9?= =?iso-8859-1?q?=2C_=D6=C5=CE=C1_=3A=29?=

Yuri Ryazantsev =?iso-8859-1?q?yuri_=CE=C1_unix=2Eru?=
Ср Окт 24 22:12:02 MSD 2001


On Wed, Oct 24, 2001 at 11:21:47PM +0600, Gosha wrote:

> SS > Дорогие господа! Сейчас конец 2001 года. Win95 появилась в начале 96
> SS > (не помню - прав?). Довольно рассказывать сказочки! Никто никуда не
> SS > тормозит. На одном и том же железе Win2000 работает быстрее, чем
> SS > Gnome, и не медленне, чем KDE. Это то, что я вижу. И мне не потребны
> SS > глубокомысленные заключения "специалистов", пока у меня есть глаза.
> SS > Касательно WinXP, то это система, близкая к идеалу. Первые мои слова,
> SS > после получасового знакомства с ней: "не прошло и десяти лет, как
> SS > сделали операционку". Да, многие идеи интерфейса взяты из оконных
> SS > менеджеров Linux, но КАК реализованы!
> SS > Я за Linux, за свободный софт с точки зрения его законности, точнее,
> SS > законности его использования. Но не нужно передёргивать. Оскорбление
> SS > конкурента не делает его слабее.
> 
> Полностью согласен! Я когда поставил XP и поковырялся с ней, у меня
> возникли аналогичные мысли. А что касается интерфейса, то мне просто
> стало обидно за то убожество, которым мы все пользуемся в Иксах,
> будь то Gnome, KDE и т.д.
> Я, чтобы не расстраваться, стараюсь больше XP не загружать.
> Глаза б мои ее не видели!

Заранее прошу уважаемую публику прощения за столь длинное письмо. Ну не
сдержался :-) Долго терпел. То что вы здесь обсуждаете возникает в разных
рассылках и тусовках постоянно: MAC vs. PC; Win vs. UNIX; PostgreSQL vs
MySQL; Perl vs PHP и т.д. Забываете только, что универсального инструмента
не существует. Каждый строится исходя из задач для которых он
разрабатывался. Поэтому и возникает вопрос: почему вы сравниваете систему
изначально разрабатываемой как desktop (Windows) сравниваете с системой, 
которую строили под задачи application server (UNIX). То что происходит
сближение этих систем еще не означает, что одна заменит другую. Да, есть
попытки сделать application server из Windows (терминальный сервер, ...), но
это такое же убожество, как и Plug-and-Play UNIX. Также и требования к
админу системы и ее пользователю: для десктопа это одно и не очень
квалифицированное лицо (все равно кроме как себе, больше никому жизни не
испортит); а для сервера это разные люди: пользователь работает в строгом
окружении, а админ достаточно квалифицированный. Знал я одну компанию,
которая экономя на сисадмине (100 у.е. была у него з/п), получила WinNT
сервер с выходом в Инет и расшаренными всеми ресурсами включая 1С с ключом
наружу. А пароль у пользователя Administrator был "123". :-)

Единственное, что под конец хочу вам дать почитать статью, которая была
напечатана в самом первом русском журнале "Доктора Добба". Кто будет читать,
учтите, что написано это было в 1996 году и тогда еще было все свежо: и
мейнфреймы и сервера и настольные ДВК и PC.

with best wishes,

Yuri.

Журнал д-ра Добба, Январь-Февраль 1996, N 1(13)

Верной дорогой идем, товарищи?

"Эффективность программного продукта обратно
пропорциональна красоте пользовательского интерфейса".
                    Третий закон компьюлогии

За последние годы кнопки, виджеты и WYSIWYG - программы полностью заполонили
экраны наших компьютеров. Пользователи шарят мышками по экранам в поисках
нужной кнопки или меню. Программисты новой волны усиленно ваяют все новые и
новые эффекты и скоро создадут, пожалуй, четырехмерные кнопки. Посылать
факс, в котором используется менее десяти шрифтов, многие считают просто
неприличным. В общем, прогресс налицо, точнее, на экран. А что реально-то
изменилось?

Лет эдак десять назад компьютеры были покрупнее, но послабее. Сейчас
практически у каждого на столе стоит компьютер, о котором тогда и мечтать-то
не могли. Жесткий диск в 40 Мбайтов тогда был вершиной технического
прогресса (а винчестер - тем более). Оперативная память в 1 Мбайт на
СМ-1420 была предметом зависти коллег, которые работали на СМ-4 с 256
Кбайтами. Но, тем не менее, все это работало и достаточно прилично.
СМ-1420 вполне сносно "тянула" UNIX на 8-10 терминалах. И графика была при
необходимости, и даже векторная. Куда же уходит вся эта мощь, которую мы
приобрели за последние годы? Правильно, на обеспечение GUI - Графического
Интерфейса Пользователя, idea fix последних лет. Это он, "жрет" почти все
ресурсы наших компьютеров, это он заставляет пользователя с 8 Мбайтовой RAM
чертыхаться перед экраном, когда программа еле шевелится. Причем
пользователь сидит за компьютером один, в гордом одиночестве. Если бы их
было двое или трое, они бы давно подрались. А стоит ли овчинка выделки?

Основные идеи при разработке GUI - ориентация на неподготовленного
пользователя, унификация интерфейса, WYSIWYG. Неподготовленные
пользователи и 10 лет назад нормально работали, если им писали нормальные
программы. Хорошо, если один из десяти знал, что он работает в UNIX или
RSX-11. Остальные об этом даже не подозревали. Однако работали и были вполне
довольны. Сейчас каждый пользователь знает, что он работает в Windows или
OS/2, однако, вряд ли эффективность его работы сильно выросла.

Теперь хорошо, если хотя бы один из 10 знает все кнопки, которые
"вылупились" у него на экране. Унификации интерфейса как не было, так и
нет. Посмотрите хотя бы на keyboard shortcuts для распространенных команд -
они во всех программах разные, а елозить мышью по коврику, чтобы сделать
Cut&Paste - не очень эффективно. А нужен ли для всех программ WYSIWYG?
Сомневаюсь. Итак, что же нам дает GUI по большому счету?

Знаете, в последнее время я заметил, что все больше и больше профессионалов
вообще отказывается от графического интерфейса и работает в текстовом
режиме. Один из моих знакомых поведал мне, что пользуется Windows 95 для
того, чтобы распознавалась и подключалась вся его аппаратура (вот он,
долгожданный Plug-and-Play), а потом выходит в Norton Commander в текстовый
режим и работает дальше, как нормальный человек. Многие могут возразить:
профессионал - это профессионал, а пользователь - это совсем другое дело.
Мне кажется, что это большая ошибка. Если умный человек хочет сам чинить
свой автомобиль, он купит себе инструмент, которым пользуется автомеханик.
Не очень умный же пойдет в магазин и купит самый красивый набор с надписью
типа "Professional Tool Set - Everything You'll Ever Need to Repair Your
Damn Саг - No Kidding", а потом будет долго думать, почему у него ничего не
получается. Так и с пользователями. Они покупают красивую игрушку и долго
думают, почему она, такая симпатичная, так странно работает. А потому! Все
хотят сделать компьютер с программным обеспечением, чтобы уж совсем неподго-
товленный пользователь его не боялся. Так сделайте его мягким, плюшевым и
круглым. И чтобы программы были, как комиксы. И вместо клавиатуры -
джойстик. Узнаете - Sega Mega Drive. Мечта пользователя. Только что он на
нем делать будет?

Большинство фирм по производству программного обеспечения занято большую
часть времени пользовательским интерфейсом. То, что лежит под ним, их
волнует гораздо меньше. Все соревнуются: у кого лучше помойка (Trash Can)
получится. Помойки получаются изумительные: положил - достал, опять
положил. Прогресс! Вот и получается, что наконец-то в 1995 году фирма
Microsoft "изобрела" вытесняющую многозадачность (как будто ее до этого не
было).

А что такое виртуальная память в Windows или OS/2? Первая просто говорит:
Out of memory, во второй начинаются чудеса, понять которые практически
невозможно "неподготовленному пользователю". А ведь виртуальная память
или есть, или ее нет, как "свежесть" у осетрины. Если она есть, и есть место
на диске, тогда вы никогда не должны видеть, что у вас не хватает памяти. А
все остальное к виртуальной памяти никакого отношения не имеет.

А все эти новомодные средства визуального объектного программирования.
Удивительная вещь. Обязательно попробуйте. Все просто, как три рубля.
"Оттяни-урони", "оттяни-урони" и программа готова!

Точнее не программа, а ее интерфейс. Любимая демонстрация - построение
текстового редактора. Раз, два, три, четыре, пять, ничего не надо знать!
Можно еще в редактор CD-Player включить. Только зачем все это нужно?
Текстовых редакторов не хватает? Или CD-Рlауеr'ов? А попробуйте-ка написать
нормальную программу, которая еще что-нибудь делает. Ага, вот вы и попались!
Нормальный программист, конечно, напишет, но ему обьектное визуальное
программирование не очень- то и нужно. А молодое поколение, "клоны Билла
Гейтса"? Они будут ждать, пока им сделают соответствующие ОСХ и MFC. Тогда
они их "оттянут и уронят" куда надо. Вот и все! Microsoft Windows и Visual
Basic! Что еще нужно современному программисту?

Современное программное обеспечение напоминает BMW с двухцилиндровым
мотоциклетным двигателем. Внутри - лепота: кнопочки, лампочки, дисплейчики.
Только ездить нельзя. Если бы автомобилестроители делали так свои машины,
они давно бы разорились. А поставщики программного обеспечения живут и
процветают. Хотя есть нормальные движки - Unix, например. Дорого? Возьмите
Linux. Тот же Unix, только бесплатно. Куда уж дешевле!

Хотите кнопочек - их у нас есть. Запустите X-Window. Большинство возразит:
"Это же сложно". Да, посложнее Windows будет. Но зато нормально "ездит". И
вообще, почему для того, чтобы сесть за руль, надо учиться, а для того,
чтобы сесть за компьютер - нет. А не начать ли делать автомобили для
неподготовленного пользователя? Или книги для не умеющих читать? А чего им
учиться. Для того чтобы сесть за компьютер, сейчас почти никто не учится.
Прочитал книжку "Word за 5 минут" - и вперед. Надо и для водителей такие
книжки писать: "BMW за 6 минут", "КАМАЗ за 10 минут". Прочитал, сел, поехал.
Почему никто не додумался? А если читать не умеет, комиксы нарисовать. Ну,
чем не пиктограммы?

Производители программного обеспечения стараются всех убедить, что
пользователю все равно в чем работать, лишь бы он делал то, что ему нужно.
Поэтому и получается, что когда он покупает автомобиль, все разузнает о его
внутренностях. А когда речь идет о программном обеспечении, то внутренности
никого не интересуют. А зря! Двигатель тоже не последняя вещь. А размеры
программ! Это что-то страшное. Вроде бы весь пользовательский интерфейс
берет на себя операционная система. И это хорошо. Парочка вызовов API- и
готово. Так отчего же программа, которая выводит: "Привет, ребята!", тянет
килобайтов на 50-60. Странно что-то. Скоро компакт-диска мало будет, чтобы
программу записать. Если сейчас текстовый редактор дискет на 10-15 потянет в
сжатом виде, то скоро и десяти компакт-дисков не хватит. Жутко становится. И
это при наличии динамических библиотек!

А проблемы с локализацией? Лет эдак 8-10 назад казалось, что эта проблема
будет вот-вот решена. Вроде бы, чего проще: сделал несколько файлов
сообщений на разных языках, и в зависимости от потребностей пользователя
подключай один из них. Это ведь уже было! Установил в UNIX переменную
окружения language - и все. Даже сама операционная система начинала
говорить на нужном языке (в том числе, на русском). Для большинства языков
(8 бит на символ, написание слева направо) этого было достаточно. Куда все
это делось и почему? Проблема как была, так и осталась. Общеизвестно, что
производительность системы определяется ее самым узким местом. Так вот,
производительность современных компьютерных систем сдерживается не
пропускной способностью дисковых интерфейсов, не тактовой частотой шины
или временем доступа к памяти, а системным программным обеспечением.
Большинство операционных систем не использует всех возможностей аппаратуры
и при при этом тратит большую часть времени на реализацию GUI. Это все
равно, что возить троих детей в школу на "Феррари" - по одному и со
скоростью 30-40 км/ч. Хотя с виду очень красиво. Не пора ли об этом серьезно
задуматься.

И вообще, оглядываешься назад и становится грустно, вперед мы шли или
куда-то в сторону? Хотелось бы узнать мнение читателей.

		    Эдуард Тулупников
		    
		    Главный редактор
		     
		     




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