Выбрать главу

С такими взглядами он решительно не попадает «в струю»: промышленники еще задолго до появления IT уяснили одно свойство потенциальных покупателей: они не соблазняются простотой. И даже, как ни парадоксально, дешевизной! «Надежные и ненавязчивые программы обычно не представляют интереса для разработчика. Желания потребителей значат больше, чем их нужды», - иронически замечал Вирт. Скажем ему спасибо и… вернемся к Visual Basic, а что прикажете делать?

Pascal, Modula-2 и Oberon

Про язык Pascal знают все - в основном благодаря фирме Borland, которая 20 ноября 1982 года совершила переворот не столько в программировании, сколько в экономике этой области деятельности, выпустив в продажу дискетку с Turbo Pascal 1.0 за 50 долларов (подобные системы стоили тогда по крайней мере раз в десять дороже). Интегрированная среда разработки, встроенный редактор и библиотека времени выполнения умещались в файле turbo.com размером 33 280 байтов. Этим мы обязаны искусству датского программиста Андерса Хейлсберга[Интервью с Хейлсбергом см. «Домашний компьютер» №1, 2004.], который позднее разрабатывал всем известный Delphi, а сейчас трудится в Microsoft над платформой C#. Вирт совсем не против Borland: «Когда вы программируете на Delphi, вы программируете на Паскале. Здесь ничего фундаментально нового нет. Но это была достаточно успешная разработка и во многих случаях помогала продвигать Паскаль. Я никак не участвовал в ней».

В России, ясное дело, стоимость компилятора не имела значения, но Pascal стал крайне популярен в силу своей простоты и близости к обычной математической записи. Мой знакомый специалист по микроконтроллерам, увидев как-то текст программы на Turbo Pascal, воскликнул: «Ё-мое, да я тут все понимаю!» В значительной степени приверженность российских программеров к Pascal возникла благодаря отлично написанным книжкам В. В. Фаронова, общий тираж которых, по свидетельству самого Валерия Васильевича, достиг полумиллиона экземпляров. Был создан даже компилятор Pascal для знаменитого суперкомпьютера «Эльбрус».

После Pascal была Modula-2 - почти объектно-ориентированный язык, который, однако, не содержал ни одного из знакомых нам по ООП понятий, даже самого понятия «объект». Бьорн Страуструп колебался, выбирая основу для создания нового объектно-ориентированного языка: С или Modula-2. В конце концов исключительно из коммерческих соображений (как и на десяток лет позднее в случае Java.) выбор был сделан в пользу С, и родился С++.

К выступлению Вирта в Политехе новосибирские программисты приурочили вручение в дар музею компьютера «Кронос-26», который использовал Modula-2 для расчета параметров спутников. Сейчас эти ребята создали в Новосибирске фирму xTech и выпустили трансляторы Oберона в С и С++ и компиляторы Оберона в родной код для нескольких платформ. Интересно, что их продукция вполне востребована, среди покупателей числятся NASA, Оксфордский университет, Siemens и Агентство оборонных исследований (Великобритания).

А за самим названием Oberon скрываются по меньшей мере три понятия: название проекта, новый язык программирования, ОС для персональной рабочей станции. Для характеристики проекта предоставим слово самому Вирту: «Проектируя аппаратуру и программное обеспечение для системы Oberon, мы руководствовались следующим основополагающим принципом: стремиться к ясности и простоте. Это просто необходимо при создании любой системы, претендующей на надежность. Лучший путь для достижения ясности и простоты - это создание логичной и ориентированной на получение определенных результатов структуры. А это, в свою очередь, становится возможным, когда модель, положенная в основу проекта, хорошо понимается, когда она достаточно проста и непротиворечива».

Как ОС, Oberon следует забытому ныне принципу, когда ОС и язык программирования представляют собой единое целое. Лично меня в свое время поразила одна вещь (Вирт упоминал о ней в ходе лекции): в системе Oberon нет отдельно документов, меню и командной строки. Все, что вы видите на экране, есть разбросанный по окнам текст (кроме, разумеется, окон, содержащих графику), обладающий одинаковыми свойствами, независимо от того, расположен ли он в заголовке окна (в Oberon окна называются визуализаторами, viewers) или представляет собой содержание документа. Любой текст можно править и печатать. Если в тексте встречаются зарезервированные слова-команды, их можно выполнять, даже когда они, например, находятся в теме присланного вам e-mail. В качестве команды может выступать любая экспортируемая процедура без параметров, достаточно после ее имени в тексте программы поставить звездочку. Можно вызвать и полный список команд (tool), который открывается в отдельном окне, пардон, визуализаторе. Вирту удалось соединить несоединимое - командную строку («запомни и набери») и парадигму WIMP («наведи и щелкни»).

Главным преимуществом Oberon как системы было то, что в ней с самого начала особое внимание уделялось вопросам безопасности. Если кто не в курсе, по этой причине даже в Turbo Pascal долго не было динамических массивов и адресной арифметики (которой так гордятся «сионисты») - слишком велика опасность залезть на чужую делянку в динамически распределяемой памяти. Огромное количество прикладных программ рушат несчастные «Окна» именно из-за того, что программист не проконтролировал выход индекса массива за пределы зарезервированного участка. А проблема «сборки мусора», вызывающая головную боль у программистов всех времен и народов, извините, платформ программирования, была одной из главных вопричин, которые привели к созданию Oберона. При таком подходе из Modula нещадно выкорчевывались все элементы, которые потенциально могли бы стать небезопасными, - например, перечислимые типы или указатели, если это не указатели на записи и массивы. А в целях упрощения Вирт удалил массу элементов, к которым программисты так привыкли, но которые оказались совершенно необязательными: например, понятие главной программы (и главного модуля), или оператор FOR.

ПИСЬМОНОСЕЦ: Мыши в плохом ракурсе

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

Dima Tyshenko

dim2701@mail.ru

ОТ РЕДАКЦИИ: По идее, техподдержку должен оказывать производитель ноутбука. Это связано с тем, что зачастую они чуть подправляют дистрибутивы, и, разумеется, Microsoft не может отслеживать эти изменения (это не официальный ответ Microsoft - это из личного опыта).

Да здравствует дружный коллектив ваятелей «Компьютерры»!!! Пишет вам скромный паренек из сибирского города Омска. А пишу я о том, что творилось в нашем городе недельку назад. У нашего главпочтамта проводилась распродажа лежалых журналов. Купил я номер «КТ» за 2003 год с компакт-диском всего за пять рублей, а августовский номер (этого года) журнала «Game.EXE» за 20 «деревянненьких». Но не в этом дело. Мой зоркий взгляд заметил, что раньше мой любимый журнал оформлялся совсем по-другому. Читаю я «Терру» всего лишь с марта этого года. А было так: я стоял на остановке, автобуса долго не было, и я купил первый попавшийся на глаза журнал, ну конечно, это была именно «Компьютерра». Потом вроде бы втянулся, а сейчас просто не могу дождаться очередного номера. Но это я отвлекся, вернусь к главному вопросу письма. Как часто вы меняете дизайн журнала и кто принимает это решение?

P.S. Привет Голубицкому!!!

P.P.S. А когда выйдет следующий номер с компакт-диском?

Самат Курманов

kurmanov_samat@yahoo.com

ОТ РЕДАКЦИИ: Ну кто принимает это решение, как вы думаете?