Научная статья на тему 'Окно в никуда, или восемь вопросов Биллу Гейтсу'

Окно в никуда, или восемь вопросов Биллу Гейтсу Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
183
48
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Иванов Николай Николаевич

С того самого момента, как в мире появились первые операционные системы, зародились споры, которые продолжаются и по сей день, какими они должны быть (а чаще, какими они быть не должны). Их архитектура, технологические особенности, интерфейсы к аппаратным устройствам, удобства для пользователя, быстродействие, комплектация, цена, способы распространения и установки, а также маркетинговая политика компаний-производителей - все это было и остается поводом для жарких дискуссий. Ни одна операционная система не порождала и пока не порождает столько диаметрально противоположных мнений по многим вопросам, как семейство операционных систем Windows корпорации Microsoft.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Окно в никуда, или восемь вопросов Биллу Гейтсу»

No4(10) 2007

Н.Н. Иванов

Окно в никуда, или восемь вопросов Биллу Гейтсу

С того самого момента, как в мире появились первые операционные системы, зародились споры, которые продолжаются и по сей день, какими они должны быть (а чаще, какими они быть не должны). Их архитектура, технологические особенности, интерфейсы к аппаратным устройствам, удобства для пользователя, быстродействие, комплектация, цена, способы распространения и установки, а также маркетинговая политика компаний-производителей — все это было и остается поводом для жарких дискуссий. Ни одна операционная система не порождала и пока не порождает столько диаметрально противоположных мнений по многим вопросам, как семейство операционных систем Windows корпорации Microsoft.

Предисловие редакции

В данной статье автор представляет свой взгляд на эволюцию операционных систем семейства Windows, а также аппаратных и программных средств в целом. Учитывая актуальность этой темы, а также неоднозначность или спорность некоторых положений, в работу включены комментарии и пояснения главного редактора. Авторский материал подвергнут незначительному редактированию и перекомпоновке.

Иванов Николай Николаевич: Появление операционных систем Windows в начале 90-х годов, безусловно, можно считать поворотным моментом в развитии новой отрасли промышленности — производстве программных продуктов (ПП). Трудно сказать, превысил ли уже объем производства в этой отрасли объем производства в топливно-энергетическом комплексе или в авиационной промышленности, но совершенно ясно, что темпы роста здесь значительно выше. Существенно выше здесь и средняя норма прибыли, прежде всего из-за нематериального характера ПП, которого по мере продаж не становится меньше, вследствие ничтожности затрат на его тиражирование.

Возможно, когда-нибудь человечество выработает новые формы торговли интеллектуальной собственностью, в которых не только стоимость производства, но и полу-

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

В этой ситуации производство новых продуктов становится оправданным только после насыщения рынка первичных продаж, когда нужно заставить тех, кто уже купил, например, операционную систему Windows, купить ее еще раз. Иными словами, повышение качества изделия превращается из основного способа конкурентной борьбы во второстепенный аспект продвижения продукта. С учетом этого обстоятельства стоит приглядеться к операционным системам Windows более внимательно.

Главный редактор: Вопрос поднимается довольно серьезный. Безусловно, пре-вальирование вопроса объемов продаж

108

Нв4(10) 2007

программного обеспечения (ПО) над вопросами повышения его качества с общечеловеческой точки зрения — факт, скажем так, не слишком «приятный». Вспоминается фраза Эркюля Пуаро в одном из романов Агаты Кристи: «Его пироги со свининой знамениты. Они отвратительны, но их очень много». Однако не стоит забывать и о том, что производство и продажа ПО — это бизнес. С этой точки зрения он почти ничем не отличается от любого другого. Например, в нефте- и газодобывающих отраслях действует налог на сверхприбыль, идущий в пользу государства, однако пользователям нефти и газа выигрыш от него невелик. Теоретически можно ввести аналогичный налог в отрасли ПО, но опять-таки непосредственным его покупателям/пользователям он не сильно поможет. Какие же еще существуют варианты? На наш взгляд их всего три:

• изначальное ограничение цен на продаваемые ПП. Следует отметить, что цены на новые ПП и без того падают со временем (что вызвано падением спроса на них), кроме того, существует множество вариантов его покупки (OEM- и Retail-версии, групповые лицензии и так далее); если же речь идет об изначальных ограничениях на цены, то встает вопрос о том, кто и исходя из каких факторов должен этим заниматься (не говоря уже о том, что эта мера противоречит законам рыночной экономики);

• ограничение по времени возможных продаж. Иными словами, после прохождения скажем двух лет, конкретная версия ПП перестает продаваться как платная. Мера несколько далекая от реальности — любой производитель просто перестанет ее тиражировать и поддерживать;

• ограничение по количеству проданных платных копий ПО. Близко по смыслу к предыдущим пунктам и имеет те же недостатки.

Не следует также забывать и о потерях производителей за счет использования контрафактных копий разработанного ими

ПО. В нашей стране они довольно ощути- g мы, что и вызывает продвижение законов [g об охране прав владельцев интеллектуаль- ^ ной собственности. Производители вынуж- ас дены себя защищать. Если бы все пользователи были добросовестны, то необходимости в таких законах не возникло бы (как и ни в каких других законах).

Н.Н.: Появление систем Windows было инициировано объективной причиной. Применявшаяся ранее в большинстве персональных компьютеров операционная система DOS (Disk Operation System) была рассчитана на компьютеры с объемом оперативной памяти не более 1 Мб. Появление машин с большей памятью привело к определенным проблемам с ее использованием, для решения которых требовалось прилагать некоторые усилия.

Главный редактор: Следует заметить, что появление машин с большими объемами памяти стало возможным благодаря появлению более совершенных процессоров с увеличенной разрядностью шины данных, а также разрядности регистров. DOS действительно изначально создавалась для компьютеров, в которых адресная шина процессора содержала 20 линий, что соответствовало адресному пространству равному 1 Мб [1]. Из-за требований обратной совместимости все версии DOS, как ранние, так и последующие, не использовали более 1 Мб, что, впрочем, не вызывало никаких проблем с их непосредственным использованием — больше памяти им и не требовалось. Проблемы возникали у прикладных программ, использующих в своей работе большие объемы данных (например, у компьютерных игр или графических редакторов), и, как следствие, требовавших больших объемов памяти. Впрочем их довольно легко можно было решить установкой дополнительных модулей физической памяти и использованием драйверов himem.sys/ emm386.exe (входящих в комплект поставки DOS) или Quarterdeck QEMM.

109

No4(10) 2007

H.Н.: Попутно в Windows появились некоторые компоненты, которые раньше считались присущими только прикладным программам. Прежде всего, к ним следует отнести систему общения с человеком, или пользовательский интерфейс. Почему-то сейчас многие считают оконный графический интерфейс неотъемлемой частью системы Windows. В свое время я достаточно много моделировал движущиеся изображения в системе DOS. Поэтому могу сказать совершенно точно — для реализации этого интерфейса Windows не нужна. Как и для поддержки работы с «мышью». Все это прекрасно осуществляется в прикладных программах, реализуемых в рамках любой операционной системы. Другой вопрос, а так ли удачен этот интерфейс, чтобы использовать его везде?

Главный редактор: Оконный интерфейс — это далеко не единственное и не главное отличие Windows от DOS. Сам автор отмечает, что ни пользовательский интерфейс, ни работа с мышью (и, как было отмечено ранее, работа в системе с большими объемами памяти) не являются экслю-зивными для системы Windows. Однако на ум сразу же приходит несколько замечаний.

I. Большинству пользователей (не IT-спе-^ циалистам) удобнее работать в графическом интерфейсе.

2. Большинству IT-специалистов — тоже.

I Чтобы удостовериться в справедливости

^ этого тезиса достаточно вспомнить особен-

| ности работы (тем из нас, кто имел такое

& удовольствие) в операционных системах

* (ОС) семейства UNIX с текстовым редакто-S ром vi или отладчиком gdb, затем вспомнить § характер работы в MS Word и MS Visual I Studio (или Borland Delphi) со встроенными <ö отладчиками, а в завершении сравнить впе-Ü чатления.

* 3. В наиболее функциональных про-§ граммах для DOS работа была удобна лишь о потому, что таковые программы имели собственный развитый пользовательский ин-

110

терфейс, который кардинально менялся от программы к программе за неимением общей канвы или стандарта.

4. Благодаря единообразному интерфейсу во всех ОС семейства Windows пользователь, включающий любой компьютер, знает, что он там увидит и как им управлять. Кроме того, предоставляемые ОС функции или API (Applications Programming Interface — интерфейс прикладного программирования) позволяют разработчику достаточно легко создавать пользовательские интерфейсы для своих приложений из стандартных элементов таким образом, чтобы они лаконично встраивались в общую картину на мониторе и в уме пользователя.

Что же касается кардинальных (если не брать в расчет пользовательский интерфейс) отличий Windows от DOS, то здесь уместно обратиться к словам таких признанных экспертов по «начинке» Windows, как Марк Руссилович и Дэвид Соломон [2].

«Характеристики Windows NT в 1989 году определялись следующими требованиями. Операционная система должна:

• быть истинно 32-разрядной, реентерабельной, поддерживать вытесняющую многозадачность и работу с виртуальной памятью;

• работать на разных аппаратных платформах;

• хорошо масштабироваться в системах с симметричной мультипроцессорной обработкой;

• быть распределенной вычислительной платформой, способной выступать в роли как клиента сети, так и сервера;

• поддерживать большинство существующих 16-разрядных приложений MS-DOS и Windows 3.1;

• отвечать требованиям правительства к соответствию POSIX 1003.1;

• отвечать требованиям правительства и промышленности к безопасности операционных систем;

• обеспечивать простоту адаптации к глобальному рынку за счет поддержки Unicode.»

Нв4(10) 2007

H.Н.: Рассмотрим основные характеристики операционной системы Windows и слишком тесно связанных с ней прикладных программ по порядку.

I. Прежде всего, вопросы вызывает надежность работы этой операционной системы. Успел обрасти бородой анекдот о том, как Билл Гейтс открыл ресторан. На следующий день из налоговой инспекции была получена бумажная ленточка с красным крестиком и надписью «Предприятие выполнило недопустимую операцию и будет закрыто». Между тем, сбой в работе программных средств, а особенно операционной системы, в ряде случаев может привести к более тяжелым финансовым последствиям, чем, например, сбой в работе системы электроснабжения. Иными словами, программные продукты все более приобретают черты источников повышенной опасности, и в этом отношении становятся похожими на оружие или взрывчатые вещества. Поэтому тот факт, что в подавляющее большинство лицензионных соглашений на использование программного продукта включена фраза «Разработчик не несет ответственности за возможные убытки, возникшие в результате использования программного продукта или невозможности его использования», заставляет усомниться в том, что в производстве этой продукции все в порядке. Во всяком случае, пора задуматься о том, любую ли интеллектуальную собственность следует защищать от несанкционированного использования, или только ту, которая прошла определенные испытания на предмет надежности и безопасности, а ее разработчик принимает на себя определенные реальные обязательства.

Главный редактор: Программы пишутся живыми разработчиками. Как и все люди, разработчики совершают ошибки — Errare humanum est (лат. — человеку свойственно ошибаться). В программных продуктах компании Microsoft не больше и не меньше ошибок, чем в продуктах любой

другой компании. Количество потенциаль- ig ных ошибок растет в зависимости от объе- § ма кода, который необходим для создания ^ продукта, а Windows — семейство очень ас развитых систем, включающее несколько миллионов этих строк. Если добавить к этому широкое распространение Windows, что объясняет постоянное внимание к ним, то становится ясно, что попытки предания их анафеме за имеющиеся ошибки — решение, мягко говоря, несправедливое.

Н.Н.:

2. Люди, которые много работают за компьютером, давно поняли, что этот ящик для наших глаз — далеко не самое полезное устройство. Многие программисты предпочитают работать в черно-белом режиме, считая, что так глаза меньше утомляются. Так что достаточно крупные элементы интерфейса, и возможность работы с ними «одним пальцем», хотя и снижают производительность нашего труда, но для глаз, безусловно, полезнее. Если укрупнить их в оконном интерфейсе, работа станет крайне неудобной, а если с третьей попытки попадать, особенно не очень хорошо работающей мышью, в мелкую кнопку, о здоровых глазах можно будет скоро забыть. Так что еще одно не очень приятное свойство операционной системы Windows, и тесно примыкающего к ней семейства программных продуктов — это негигиеничный для глаза интерфейс.

Главный редактор: Для того чтобы судить о гигиеничности и полезности/вреде пользовательского интерфейса для глаз и нервной системы необходимы медицинские заключения. Однако если рассматривать вопрос с точки зрения пользователя, то нельзя не отметить, что Windows позволяет менять размеры и гарнитуру шрифтов, используемых в пользовательском интерфейсе, а также размер элементов управления и цветовые схемы. Таким образом, каждый пользователь может выполнить настройку под себя, причем делать это не для

No4(10) 2007

каждого приложения отдельно, а для всех сразу. Мнение о том, что высококонтрастный белый текст на черном фоне (какой отображается в текстовом режиме, стандартном для DOS) представляет верх комфорта и гигиеничности, — субъективно.

Н.Н.:

3. Читая эти строки, многие люди зададут вопрос, а зачем критиковать Windows, если этой операционной системе практически нет альтернативы? Насчет альтернативы можно поспорить, но согласиться следует с тем, что Windows сейчас монополист. У всякого продукта-монополиста есть два неотъемлемых свойства — монопольно высокая цена и более низкое, по сравнению с немонопольным производством, качество. Цена равная 15-20% цены персонального компьютера — монопольно высока. Да и правомерность продажи операционной системы отдельно от компьютера достаточно сомнительна. Пожалуй, естественнее было бы рассматривать ее как неотъемлемую часть технического устройства.

Главный редактор: Альтернативы существуют: MacOS, многочисленные UNIX и Linux и многие другие ОС. Однако вызывает сомнение тот факт, что применение большого числа различных операционных ^ систем в рамках, скажем, одной организации позитивно скажется на ее работоспособности, не говоря уже о расходах на

1 поддержку всех их в работоспособном состоянии.

00

§ В отношении правомерности продажи & ОС отдельно от компьютера необходимо за-

2 метить, что, если исключить таковую воз-S можность, то останется лишь два варианта § развития событий:

S

<ô 1) для обновления версии операцион-

Ü ной системы необходимо будет покупать це-

* ликом новый компьютер. Вероятно, доволь-

§ но трудно будет найти пользователя, кото-

о рому это понравится. Ниже автор статьи сам выражает недовольство необходимо-

112

стью частой замены отдельных частей аппаратного обеспечения;

2) вместе с новым компьютером пользователь получает пожизненное (в смысле срока жизни компьютера) право на обновление установленной операционной системы. Довольно фантастичный вариант. Такая ситуация аналогична приобретению холодильника, который фирма — производитель пищевых продуктов обязуется бесплатно доверху заполнять каждый день до того момента, пока этот холодильник (к ее радости) не испортится. Можно провести и другую, более близкую аналогию. При покупке DVD-проигрывателя его счастливый обладатель приобретает право на бесплатное получение всех фильмов, выходящих на DVD-дисках.

Н.Н.:

4. Во многих профессиях одни из самых важных понятий часто определены нечетко. Для моряков это — «хорошая морская практика», для бухгалтеров — «культура бухгалтерского учета», для врачей — «врачебная этика». Для программистов всегда существовало такое понятие, как «хорошая или плохая структурированность программного кода». Обычно под этим понимается, что одна функция должна быть сосредоточена в рамках одной процедуры. Например, если программа печатает, и для изменения шрифта нужно поменять элементы в десяти местах программы — это плохая структурированность, если в одном — хорошая. Обычно плохо структурированную программу бывает крайне трудно усложнять, перестраивать, совершенствовать. Наступает такой этап, когда небольшое изменение программы приводит к неконтролируемым изменениям в самых разных аспектах ее поведения. Обычно за хорошую структурированность приходится платить некоторым замедлением работы программы. Понятие это достаточно нечеткое, разными программистами понимается по-разному на интуитивном уровне. Имеет оно и еще один, внешний аспект. Нехорошо, когда программа

Нв4(10) 2007

или данные расположены в нескольких папках, «разбросанных» по компьютеру, так что непонятно, какая папка какой программой используется. Тем более, если их расположение не определяется пользователем. Впрочем, нехорошо это не только в программировании. Например, если за телевизором волочится плата, соединенная с ним несколькими проводами. Или если багаж находится на крыше автомобиля, это тоже смотрится хуже, чем если он спрятан в багажнике.

Главный редактор: Выражение «функция должна быть сосредоточена в рамках одной процедуры» применительно к программированию — некорректно. Например, в языке программирования Pascal процедуры и функции — разные структурные единицы, и по-разному оформляются. В языке C (и C++) и то, и другое оформляется в виде функций (процедура в том смысле, как она понимается в языке Pascal, реализуется как функция с типом возвращаемого значения void, т.е. как не возвращающая никакого значения). Что же имелось в виду под «функциями» и «процедурами».

Для заявления о плохой структурированности кода Windows необходимо предварительно исследовать его. Кроме того, если говорить о пользователях, то они, как правило, над подобными аспектами не задумываются.

Н.Н.: В операционной системе DOS культурно сделанная программа выглядела примерно так же как телевизор или холодильник в красивом корпусе. Можно принести в квартиру и включить — будет работать, можно выключить, унести и не вспоминать, если не понравился. Так и программу, можно записать, запустить и работать, можно стереть и не вспоминать. В Windows дело обстоит несколько иначе. Каждая программа должна быть инсталлирована на конкретном компьютере. При этом информация о программе заносится в реестр Windows, а ряд элементов операционной

системы изменяется. Устройство реестра ig и этих элементов далеко не до конца рас- § крывается разработчиками Windows. Ины- ^ ми словами, каждая прикладная программа ас оставляет след в компьютере. Рано или поздно наступает момент, когда таких следов оказывается слишком много, они начинают мешать друг другу, и владелец компьютера решает, что, пожалуй, проще переформатировать жесткий диск, и установить Windows «с нуля».

Главный редактор: Такое действительно случается. В определенный момент при систематических сбоях бывает невозможно (подчеркнем — невозможно для пользователя) определить, что становится их источником. Однако является ли это исключительно виной операционной системы?

Реестр Windows действительно имеет свои недостатки, однако остается лишь одним из сервисов системы. Использовать его или нет — это решение должен принимать разработчик приложения. Так же как и решение о структуре папок и местах размещения файлов этого приложения на жестком диске. Существует достаточное количество приложений, совершенно различных по назначению, которые не используют реестр и хранят все свои библиотеки и файлы данных в одной папке, что позволяет легко их переносить.

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

113

No4(10) 2007

ника говорят, что в этой ситуации вы сами виноваты, так как недостаточно хорошо знаете его устройство.

Может быть, в нарисованной картине имеются некоторые передержки, но все равно ясно, что в операционной системе Windows есть проблемы со структурированностью.

Главный редактор: На наш взгляд аналогия с бытовой техникой несколько опрометчива. Дело в том, что в случае с ней не предполагается взаимодействие между различными приборами. В частности, не предполагается взаимодействие между телевизором и феном для сушки волос. В случае с аппаратным обеспечением, операционной системой и прикладными программами, использующими ее сервисы, ситуация совершенно иная.

В отношении проблем со структурированностью (которая, как автор отмечал ранее, определяется интуитивно, т. е. широко и нечетко), рискнем предположить, что в мире не сущесвует ни одной системы, и не только в области информационных технологий, ни естественной, ни искусственной, в которой нельзя было бы обнаружить подобных проблем.

Н.Н.:

^ 5. Плохая структурированность программных продуктов чаще всего оправдывается стремлением сделать их работу бы-| стрее. В связи с этим естественно ожидать, ^ что система Windows по мере своего разви-| тия будет на одной и той же технике рабо-& тать все быстрее. Однако отчетливо наблю-

* дается совершенно обратная тенденция. Ц Впрочем, что считать быстродействием § операционной системы, не совсем понятно. | Правильнее было бы говорить о том, что ес-«о ли одна и та же программа может работать ^ в любой операционной системе, то в систе-

* ме DOS она будет работать быстрее, § в Windows 98 несколько медленнее, а в о WindowsXP — еще медленнее. Заметно это

даже в программах фирмы Microsoft, наибо-

114

лее тесно привязанных к операционной системе, например, составляющих семейство Microsoft Office. Если сравнивать быстродействие различных версий этих продуктов на одной и той же технике, результат будет поразительным. На первый взгляд кажется, что над проблемой быстродействия программных продуктов в фирме Microsoft не думают вовсе. Однако это не так. Думают, но совершенно в другой связи.

6. Всем нам хорошо знакома ситуация, когда вместо старого, исправно работающего компьютера, приходится приобретать новый только потому, что на старом нельзя установить операционную систему, необходимую для работы новых версий программных продуктов. При этом новые версии оказываются хуже и медленнее старых. Переход же на них обычно стимулируется какими-то «силовыми» приемами. Например, выпуском принтеров, которые можно эксплуатировать, по существу, только в Windows, или версий текстового редактора, формирующего файлы, несовместимые с более ранними версиями. В любом случае замена компьютера обусловлена не сложностью задач, которые на нем предстоит решать, а искусственно вызванной ситуацией на рынке компьютеров и программных продуктов. В отношении использования компьютера только для редактирования и распечатки текстов, можно совершенно определенно утверждать, что задача формирования красивой печати вполне по силам компьютерам самого низшего уровня, но кто думал о том, чтобы программа Word могла работать на PC-286? И сколько компьютеров этого типа полностью выработали свой ресурс?

Теперь попробуем спросить себя, кому выгодно, чтобы для решения тех же задач, которые вчера решались на одних компьютерах, сегодня мы покупали другие? Безусловно, это выгодно производителям вычислительной техники. Выгодно это и производителям операционных систем — вновь и вновь один и тот же человек покупает их вместе с новыми компьютерами. Таким образом, налицо сговор производителей тех-

№4(10) 2007

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

Главный редактор: Ситуация несколько утрирована. На момент добавления этих комментариев редакция работала на персональных компьютерах, собранных 4 года назад в июле 2003 года. Мы, безусловно, имеем представление о процессорах с большим быстродействием, больших объемах памяти, новых поколениях видеокарт и прочем, но поскольку для нашей работы они не требуются, ни компания Microsoft, ни производители новых аппаратных средств не могут заставить нас поменять технику. Для подобной работы апгрейд не нужен.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Тем не менее, существуют категории программных продуктов для которых увеличение быстродействия и объемов памяти необходимо, например, программы-серверы для Internet. Во времена активного использования компьютеров на базе процессоров Intel 80286 такой проблемы не было, собственно, на момент появления в 1983 году процессора i80286 [3] Internet еще не был «Интернетом» [4]. Кроме того, компания Intel выпустила упомянутый процессор именно потому, что стала наблюдаться явная нехватка вычислительных мощностей при работе с большими объемами данных. Со временем нарастали мировые «запасы» различных данных, резко увеличилось и продолжает увеличивать число пользователей, также как и людей, использующих компьютерные сети. Естественно появлялось новое ПО, и поэтому совершенствовалась аппаратная часть компьютеров. Мир менялся. Этот процесс называется эволюцией — вряд ли сейчас можно говорить об использовании автомобилей на основе двигателя внешнего сгорания.

Н.Н.:

7. Несколько слов следует сказать и об изменении подхода к самому процессу программирования, инициированному появле-

нием операционных систем Windows. Про- § граммирование в последние годы все более § становилось процессом собирания продук- ^ та из готовых стандартных блоков. Казалось ас бы в этом есть определенный прогресс, хотя бы потому, что при этом увеличивается производительность труда программиста. Однако точно так же как в строительстве, крупнопаннельное домостроение в чистом виде оказалось бесперспективным, вероятно, и в программировании есть некий оптимальный состав готовых модулей, при укрупнении которых процесс программирования выхолащивается. Из таких модулей можно строить программные продукты только в достаточно узком коридоре заданных возможностей. Более того, собранные таким образом программы, как правило, крайне медленно работают. Те, кто наблюдал работу программ, созданных на базе Microsoft Office, или в которые встроены эти программы, могли убедиться в этом на собственном опыте.

Главный редактор: В отношении макросов, реализованных в среде MS Office с помощью Visual Basic for Applications все не так просто. Если подсчитать время и усилия (а, значит, и затраты), которые необходимы программисту, для того чтобы реализовать простой макрос, выполняющий некоторые вычисления в книге MS Excel, то окажется, что они ничтожны. А вот при отсутствии такого готового приложения и возможности писать под него макросы, программисту пришлось бы создавать с нуля не только расчетную программу, но и сам процессор электронных таблиц.

Что касается модульного программирования и повторного использования кода, то они родились из идеи о том, что бессмысленно сотнями, тысячами и миллионами раз изобретать велосипед. Например, готовые функции сортировок и поиска находятся в стандартных библиотеках C++ и доступны программисту совершенно независимо от того, для работы в какой операционной системе он пишет программу.

115

No4(10) 2007

В отношении выхолащивания програми-рования необходимо отметить, что готовые блоки или элементы используются лишь тогда, когда это имеет смысл (по аналогии с упомянутыми выше функциями).

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

Кроме того, модульное программирование не перекрывает кислород другим программистским парадигмам: любая программа, работающая в среде Windows может быть написана на любом языке программирования, например, на языке Ассемблера, без применения готовых крупных блоков.

Н.Н.: Достаточно широко распространены термины «DOS-приложение» и «Win-dows-приложение». Не говоря уже о том, что эти термины характерны скорее для «московинга», чем для русского языка. Обычно, вопрос о том, как понимает их тот или иной специалист, ставит в тупик. И действительно, если понимать программу как воплощение алгоритма, т. е. последова-^ тельности математических инструкций, то

м

технология построения алгоритмов родилась значительно раньше всех операцион-| ных систем и даже компьютеров. Программы тоже пишутся на алгоритмических язы-| ках в общем-то не привязанных к операци-& онным системам. Операционная система ^ участвует только в переводе программы на Ц язык машинных команд. И если сама техно-§ логия построения алгоритма оказывается | привязанной к этому процессу, сразу воз-<о никает ощущение, что что-то здесь нечисто. ^ Пожалуй, можно сказать, что «программы * под Windows» — это программные продук-§ ты, созданные на базе и в рамках, задаваема мых прикладными программами фирмы Microsoft, а «программы под DOS» — все

116

остальные, даже если они не имеют к операционной системе DOS никакого отношения.

Главный редактор: Никакая операционная система никогда и никаким образом не участвует в преобразовании исходного кода в машинный. Это исключительная прерогатива компилятора с того языка программирования, на котором программа изначально была написана. Операционная система предоставляет программисту функции (или системные вызовы), к которым он может обращаться из своей программы или не обращаться в зависимости от того, что он сочтет нужным. В DOS такие сервисы предоставлялись через механизм программных прерываний и активно использовались.

Н.Н.: В итоге, по мере эволюции операционных систем Windows, отчетливо прослеживается тенденция развития к такой операционной системе, которая обеспечит невозможность функционирования на компьютере никаких программ, кроме созданных фирмой Microsoft, и их комбинаций.

Главный редактор: Заметим, что с начала 90-х годов прошлого века количество приложений, работающих на компьютерах с установленной ОС семейства Windows не сокращается, а стремительно увеличивается, как и число производителей этих приложений.

Кроме того, идея о том, что Microsoft в состоянии разработать любые программные продукты для каждого пользователя на все случаи жизни, кажется утопичной.

Н.Н.:

8. Плохая структурированность программ «под Windows» и их «размазанность» по компьютеру привели к еще одному следствию — повышенной виросонеустойчиво-сти компьютерной системы. Действительно, если пришедшая через Internet программа может прописаться в реестре Windows

№4(10) 2007

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

Иными словами, ситуация здесь напоминает замок на двери квартиры, ключ от которого есть у всех воров и других «правона-падательных органов», но не у хозяина.

Подведем некоторые итоги. Естественно, субъективные и отражающие мою личную научную позицию. Направление развития промышленности, производящей программные продукты на базе операционных систем Windows — тупиковое направление. Думаю, что жить этим операционным системам осталось три-четыре года. Вряд ли имеет смысл фирмам, производящим программные продукты и претендующим на более долгую жизнь, слишком тесно связывать их структуру с программными продуктами фирмы Microsoft.

Что же будет дальше? Какие программные системы придут на смену этой продукции, и, прежде всего, операционным системам Windows? Поскольку сейчас на мировом рынке явственно ощущается недовольство поведением монополистов в производстве системного программного обеспечения, рискну предположить, что появление реального конкурента на рынке операционных систем массового использования было бы доброжелательно встречено всеми учасниками этого рынка, даже если его продукт будет, на первых порах, уступать Windows. Особенно, если в интерфейсе этих продуктов появятся какие-то принципиальные новинки, например, голосовое управление.

Главный редактор: На сегодняшний день голосовое управление не является принципиальной новинкой. Оно не явля-

лось ею и 5 лет назад. Такие возможности g реализованы в той или иной степени прак- [g тически во всех операционных системах за ^ счет внутренних механизмов либо приклад- ас ных программ сторонних производителей. В частности, в систему Windows XP встроены возможности голосового управления.

H.Н.: Для России, Украины или Белоруссии экономические последствия разработки операционной системы, способной вытеснить Windows с мирового рынка, вполне могли бы стать сравнимыми с последствиями экспорта нефти или газа, с той только разницей, что никак не отразятся на экологическом состоянии наших стран. Для этого на постсоветском пространстве есть все условия. Это и хорошие математические школы, и более низкая, чем на Западе, себестоимость разработки программных продуктов. Наконец, в последнее десятилетие появилась, хоть и недоразвитая, промышленность по производству программных средств, в которой сформировался менеджмент, вполне способный вести конкурентную борьбу на внешних рынках. Так что, на мой взгляд, пришла пора осознания того обстоятельства, что разработка операционных систем нового поколения вполоне достойна стать национальной задачей одной из этих стран.

Список литературы

I. Финогенов К. Г. Самоучитель по системным функциям MS-DOS. М.: Радио и связь, Эн-троп, 1995.

2. Руссилович М., Соломон Д. Внутреннее устройство Microsoft Windows: Windows Server 2003, Windows XP и Windows 2000. Мастер-класс. 4-е изд. М.: Русская Редакция; СПб.: Питер, 2006.

3. Брей Б. Микропроцессоры Intel: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, Pentium Pro Processor, Pentium II, Pentium III, Pentium IV. Архитектура, программирование и интерфейсы. 6-е изд. СПб.: БХВ-Петербург, 2005.

4. Таненбаум Э. Компьютерные сети. 4-е изд. СПб.: Питер, 2005.

117

i Надоели баннеры? Вы всегда можете отключить рекламу.