Переселение в виртуальный мир.
Едет по шоссе программист со своим боссом. Моторглохнет. Босс: «Позвоню по мобильному телефону, черезчас за нами заедут.» Шофер: «Да тут, может, работына 15 минут—в моторе покопаться!» Программист:«Слишком долго! Давайте все выйдем из машины и сновазайдем.»Владелец компьютера оказывается полным хозяином открывшегосяему «виртуального мира». Он может делать там что хочется. Онотдыхает там душой от неприятностей, опасностей и несвободымира реального. Он побеждает там всех своих врагов в компьютерныхиграх. Он стремится убежать туда при каждой возможности. Тампроходит лучшая часть его жизни, а реальный мир—лишь жалкоеподобие красочного мира компьютера.Обитателю «виртуального мира» становятся гораздо менее нужнымидрузья, особы другого пола, еда, книги. Его главная забота—какрасширить возможности своего мира: нарастить память, быстродейст-вие и пр. (Конечно, даже в этом мире случаются иногда катастрофы: сгорает какой-нибудь блок, или вирус «сносит» половину операци-онной системы, но это вещи всегда можно поправить: в крайнем случае купить новый компьютер.)Навыки, приобретенные в «виртуальном мире», подсознательнопереносятся в реальный мир—и иногда оказываются совершенноне адекватными условиям последнего. «Виртуальщик» охотно идетна риск и проявляет небрежность в делах, поскольку привык, чтоу героя много «жизней» и что всё можно переиначить. Многозадачность имеет две функции:1) обеспечивать параллельное существование нескольких процессовобработки данных;2) обеспечивать быстрый переход пользователя от одной программык другой.Альтернатива многозадачности во второй ее функции—использо-вание интегрированных систем. В многозадачной системе разные программы используются для того, для чего в однозадачной системеиспользуются разные части одной программы.Зачем многозадачная система пользователю, который во всякиймомент работает над единственной задачей? Если он на нейсосредоточился, ему затруднительно и неприятно отвлекаться начто-то еще. К тому же всякие отвлечения—обычно в ущербкачеству работы. Не так уж много найдется пользователей,у которых время от времени появляется необходимость запускатьдолгие «фоновые» вычисления или которые имеют постоянноработающий модем, или которых переключают с задачи на задачувнезапно меняющиеся внешние обстоятельства.Задача медленно выполняется? Но это естественно, если значи-тельная часть ресурсов системы тратится на обеспечение многоза-дачности!Зато многозадачность позволяет на рабочем месте играть в компьютерную игру, шарить в интернете, рассматривать порнографию,болтать на «форуме», быстро пряча следы своего занятия в случаеприближения коллеги или начальства. (Надо сказать, я и до появления многозадачных операционных систем много использовал служебный компьютер в личных целях—точнее, в целях исправления и просвещения человечества—но с приходом многозадачных системделать это мне стало гораздо легче.) * * * А вот и цитата подходящая попалась под руку. Из газеты (ноябрь 2002): «Проведенный недавно по заказу корпорации Intel опроспоказал, что более 75% пользователей хотя бы иногда выполняют насвоих ПК несколько задач одновременно. Самым популярнымсочетанием выполняемых на ПК одновременно задач являютсякомпьютерные игры во время записи CD-диска.» Комментарий: 25%пользователей НИКОГДА не применяют многозадачности. Наверное, еще50% легко обходились бы без нее, если бы ее не было. Еще 20% тожебез затруднений перенесли бы ее отсутствие при условии, чтопрограммы создавались бы с расчетом на однозадачный режим.Оставляю на всякий случай 5% на тех, кому многозадачность, можетбыть, действительно очень удобна для дела. И вот ради этих 5%несут чувствительные расходы остальные 95%.В однозадачной операционной системе MS DOS была возможность выполнять печать в фоновом режиме. Элемент многозадачности, таксказать. Правда, я не знал людей, которые бы этим пользовались.При необходимости можно было бы также доработать эту систему длязаписи CD-дисков в фоновом режиме или для перекачиваниячего-нибудь из интернета. Возможно, даже нашлись бы люди, которыебы этим пользовались.Я работал бы и дальше на своем PC 286, если бы была возможность выходить из него в интернет и если бы был побольше винчестер.Представляю, какой ужас творился бы в мире, если бы по-прежнемувыпускались PC 286 с винчестером чуть побольше, возможностьювыходить в интернет и полным обеспечением запчастями и всяким периферийным оборудованием. Эти компьютеры стоили бы раза в 3 меньше, чем тот, который я купил, и были бы по карману в 10 раз большему числу людей. В то же время на них было бы невозможно крутить всякие захватывающие игрушки, слушать музыку в рабочее время и смотреть порнографические фильмы.
Достоинства локальной сети:быстрый обмен данными между компьютерами;использование общих данных, программ, устройств.Но:Если компьютер подключен к локальной сети, пользователь неможет быть абсолютно уверен в том, что кто-то не читает тайком его данные, преодолев различные «защиты». Если хотя бы один изкомпьютеров локальной сети соединен с модемом, не может бытьтакже абсолютной уверенности в том, что данные не уплывают и за пределы этой локальной сети без ведома ее пользователей.Далее, до сих пор не решена проблема компьютерных вирусов, и эпизодически появляются вирусы, способные распространяться через сеть.Другие недостатки локальной сети: затраты на ...создание и поддержание сети;разграничение прав доступа;вспоминание паролей;исправление последствий неверно установленных прав доступа.Можно было бы добавить в конструкцию компьютера кнопку длямеханического или электронного размыкания доступа в сеть, когдаона не нужна, и можно было бы создавать сетевые программы,приспособленные к такому размыканию. Но то ли это слишком высокийполет инженерной мысли, то ли кому-то религия запрещает скрывать что-либо от окружающих, то ли какие-то негодяи стремятся иметь постоянную возможность контролировать меня изподтишка.
О многозадачности.
О локальной сети.
Достоинства локальной сети:быстрый обмен данными между компьютерами;использование общих данных, программ, устройств.Но:Если компьютер подключен к локальной сети, пользователь неможет быть абсолютно уверен в том, что кто-то не читает тайком его данные, преодолев различные «защиты». Если хотя бы один изкомпьютеров локальной сети соединен с модемом, не может бытьтакже абсолютной уверенности в том, что данные не уплывают и за пределы этой локальной сети без ведома ее пользователей.Далее, до сих пор не решена проблема компьютерных вирусов, и эпизодически появляются вирусы, способные распространяться через сеть.Другие недостатки локальной сети: затраты на ...создание и поддержание сети;разграничение прав доступа;вспоминание паролей;исправление последствий неверно установленных прав доступа.Можно было бы добавить в конструкцию компьютера кнопку длямеханического или электронного размыкания доступа в сеть, когдаона не нужна, и можно было бы создавать сетевые программы,приспособленные к такому размыканию. Но то ли это слишком высокийполет инженерной мысли, то ли кому-то религия запрещает скрывать что-либо от окружающих, то ли какие-то негодяи стремятся иметь постоянную возможность контролировать меня изподтишка.
О графическом интерфейсе.
Привычное слово на привычном месте воспринимается какцелостный образ, а не читается по буквам. Причем воспринимаетсяне медленнее, чем «пиктограмма». Такие слова, как New, Load, Save, Print, Delete, воспринимаются даже малоопытным пользова-телем без побуквенного прочтения. Спрашивается: зачем же заменять их рисунками?! Неоднозначность толкования или вообще непонятностьрисунков сделала необходимым выскакивание под рисунками поясня-ющего текста (при установке на них курсора). Я нередко пользуюсьтаким текстом: читаю New, Load, Save, Print, Delete и клянуизвращенцев, которым захотелось доказать свое умение делатьинтерфейс в рисунках.Далее, способность человека обрабатывать данные ограничена. Поэтому чем меньше на экране лишнего и бесполезной новизны, тем легче с этим экраном работать. В интегрированной системеFramework имелся процедурный язык, позволявший, среди прочего,имитировать нажатия клавиш и тем самым автоматизировать различныедействия пользователя. В опера- ционной системе Windows этогонет: поскольку среда графическая, работу с клавишами посчиталинесущественной.Текстовый режим экрана ограничивает количество присутствующихна экране информационных элементов. При использовании же графи-ческого режима трудно удерживаться от соблазна насовать на экран побольше всякого: шрифтов, цветов, пиктограмм, линий. В резуль-тате лишь порча зрения и затруднение восприятия.95% всех деловых применений компьютера не требует графического режима. 80% компьютеров можно эксплуатировать так, что за весьих жизненный цикл графический режим ни разу не будет на нихиспользован. Еще 10% могли бы включать графический режим в редкихслучаях. Использование текстового режима экрана позволяет обходиться менее мощным компьютером и более простой (дешевой и надежной!) операционной системой. Но нет. Вместо трех простых компьютеров ставят один сложный за тройную цену и нанимают дополнительного человека для того, чтобы разбирался в его сложностях. * * * Можно отдельно и очень долго говорить об особых уродствах самой популярной графической операционной системы—Windows. Лично меня больше всего раздражают в ней маленькие окна для прокрутки списков. Нет чтобы показать сразу строк 30! Но как бы не так: 5-10, не более, и ты «кликаешь» до болей в руке на всяких «элементах прокрутки» и шлешь горячие проклятия очкастому американскому извращенцу, а ему хоть бы что.О сложности.
У Н. Вирта (там же): «... Соблазн сложности как стимула для продаж легко понятен; сложность способствует поддержаниюзависимости потребителя от поставщика. Ни для кого не секрет,например, что основные фирмы-производители программногообеспечения осуществили—и с успехом! -- массированные инвестициив сервисное обслуживание, наняв сотни консультантов, призванныхкруглосуточно отвечать на звонки пользователей. Было бы, однако,много более экономичней как для них, так и для их клиентов, еслибы программный продукт основывался на систематических концептах(универсально справедливых правилах вывода, а не на таблицахправил, применимых только к специфическим ситуациям) в сочетаниис систематической документацией и обучающими курсами. Конечно,клиент, который платит—вперед! -- за договорный сервис, являетсобой более стабильный источник дохода, чем клиент, которыйполностью самостоятельно освоил продукт. Промышленность,вероятно, преследует цели, весьма отличные от принятых вакадемическом мире; следовательно, можно сформулировать еще один«закон»: зависимость клиента более доходна, чем его обучение. Что я нахожу истинно ставящим в тупик—так это руководства идокументация—объемом в сотни страниц! -- которые сопутствуютприкладным программам, языкам программирования и операционнымсистемам. Безошибочно, они сигнализируют как об извращенномпроектировании без четкой концептуальной базы, так и о намерениизапудрить пользователю мозги.»Можно присовокупить множество добавлений к обыкновенному,«классическому» молотку:украсить резьбой и инкрустацией;встроить счетчик ударов, измеритель импульса;сделать рукоять полой для хранения в ней чего-нибудь;вмонтировать в рукоять зеркальце; и т. д.После этого можно будет гордиться своим молотком, носить егоза поясом, добавлять к нему «навороты», читать новости о молоткахв журнале «Молотки». Он станет дороже, потеряет в надежности,потребует дополнительного ухода, но будет использоватьсяпо-прежнему главным образом для нанесения ударов, толькос меньшей эффективностью.Накопление условно-полезных сложностей в компьютерных программах происходит примерно следующим образом. Допустим, пользователь A может купить программный продукт X у одной фирмы и аналогичный продукт Y у другой. X и Y сходны по основным возможностям, но неосновная возможность Q есть только в Y. Если цена на X и Y одинакова, или Y стоит незначительно дороже X, то пользователь,скорее всего, предпочтет Y. Поскольку пользователю оказываются доступны неосновные возможности продукта Y, он начинает искать им применение—со следующими целями:чтобы ...оправдать свой выбор;выглядеть передовым;удовлетворить свое любопытство;попробовать получить скорый положительный эффект;заложить основу для отдаленного положительного эффекта—когда неосновная возможность Q будет усовершенствована,станет шире использоваться другими и т. д.Начав применять возможность Q, пользователь уже не в состоянииотказаться от нее без некоторых потерь. Когда приходит пораразрабатывать новую версию программы Y, производитель уже не можетвыбросить Q, потому что это создало бы затруднения пользователям.Изготовитель продукта X не критикует изготовителя Y за наличиев нем малополезных добавлений Q, потому что ...в противном случае изготовитель Y начнет критиковать его самого за малополезные добавления R в продукте Z;изготовитель X сам надеется выиграть от добавления Q в свои продукты.Постепенно в программе X накапливаются разные сомнительные«удобства». Потом возникает потребность в средствах быстрогодоступа к этим «удобствам», и программа еще больше усложняется.О качестве программ.
На конференции по бизнесу выступает президенткорпорации Microsoft Билл Гейтс:- Если бы автомобильная промышленность развиваласьтак же быстро, как наша корпорация, то машиныбыли бы сегодня в 10 раз дешевле.Встает представитель Ford Motors:- Если бы наши автомобили работали так же хорошо,как продукты корпорации Microsoft, то ломалисьбы 2 раза в день.Оценивать качество программного обеспечения гораздо труднее,чем, к примеру, качество автомобиля. С автомобилем все просто:хороший автомобиль—прежде всего, такой, который редко ломает-ся, легко чинится, малоопасен, экономичен, красив и обеспечивает некоторые удобства. С программами иначе. Во-первых, у сложной программы много разных свойств; во-вторых имеют значения не только сами свойства, но и характер их сочетания, способы доступа к ним; в-третьих всегда можно убедить пользователя, что низкий уровень параметра P компенсируется высоким уровнем параметра Q или наличием дополнительного свойства R.Кроме того, сбывать программы гораздо легче, чем автомобили,поскольку программу можно бесплатно скопировать для временногопользования, и она от этого ничуть не износится.У Н. Вирта (там же): «... Кажется, присутствует всеобщая вера в то, что быстрый рост скорости процессора и размеров памятикомпенсируют допущенные при проектировании программногообеспечения небрежности. Тщательная инженерная работа не приноситдивидендов в лихорадочных гонках на короткие дистанции, и этоодна из причин, почему программная инженерия имеет сомнительнуюрепутацию среди устоявшихся инженерных дисциплин.»