|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[1] Другими нововведениями стали экспорт только для чтения (после имени объекта при таком его экспорте ставится не "*", а "-"); открытые массивы в качестве базового типа указателей; расширенный оператор with. Главное же новшество - связанные процедуры (виртуальные методы - в терминах Турбо Паскаля). Объясняя их отсутствие в Обероне, Вирт находил убедительные аргументы, отмечая, что определение действий, применимых к объектам некоторого типа непременно в составе определения самого этого типа, представляет собой догму, происходящую из концепции абстрактного типа данных и создающую некоторые препятствия при разработке больших систем. Решение, принятое в Обероне-2, несет черты компромисса -описания процедур-методов помещаются не в объявление самого типа, а отдельно. Эти процедуры лишь " связаны" с типом. Оберон-2 является сейчас фактическим стандартом языка и поддерживается большинством Оберон-систем, которых существует довольно много. Это, во-первых, семейство систем ETH - Федерального технического университета (Цюрих, Швейцария), организация, где работает Н. Вирт. Это Oberon/F (Oberon Microsystems Inc., Цюрих) - коммерческая Оберон-система, снабженная более традиционным, чем системы ETH, пользовательским интерфейсом (в мае 1996-го выпущена версия 1.2). Это реализация университета Кеплера в Линце. Наконец, можно назвать компиляторы Модулы-2 и Оберона-2 (система XDS), созданные в Новосибирске учениками Андрея Петровича Ершова. И все же "улучшать" создание классика - дело неблагодарное. Все, что предлагается Виртом, продумано им очень детально и глубоко. Поэтому некоторые новации Оберо-на-2, по-моему, не бесспорны. Заметно усложняется компилятор в части, относящейся к трансляции связанных процедур. Интерфейс модуля теперь перестает быть просто перечнем цитат, взятых из текста реализации модуля, а работа смотрителя затрудняется. Экспорт только для чтения мог порождать бессмысленные варианты, когда "только для чтения" экспортируется константа, тип или процедура. Лишь совсем недавно эта неточность была замечена и исправлена. Оберон и Солнце. Кофе и Сок В последнее время с интересом наблюдаю, как одно за другим в печати появляются признания поклонников Си++, их которых вдруг выясняется, что их любимый язык, оказывается, доставляет им массу проблем: сложен, механизмы контроля несовершенны, провоцирует на всякие опасные трюки (адресная арифметика и т. п.). Отчего такая откровенность? А дело в том, что компания Sun совершила трезвый поступок, предложив язык Java, который является модернизацией Си++, отличаясь от своего предшественника простотой и отказом от потенциально опасных возможностей. Все рукоплещут и каются. Но не кажется ли несколько неприличным такое запоздалое коллективное прозрение? Направление модернизации Си++, приведшее к появлению языка Java, находится в русле тех принципов, которые Вирт исповедует на протяжении многих лет и блестяще воплотил в Обероне: простота, неизбыточность, безопасность. Я уже не говорю о таком решении, как сборщик мусора, который предусмотрен в Java и который Вирт использовал еще в языке Алгол W, а после того как избавился от записей с вариантами - и в Обероне. Так не отраженным ли светом маленького спутника по имени Оберон сияет огромная звезда Sun? Язык Java (кофе - на американском жаргоне) является частью технологии распространения приложений. Но и здесь не обошлось без Оберона. В июле 1966 года в телеконференции comp.lang.oberon опубликовано сообщение о новой технологии Juice (сок), предназначенной для распространения исполнимого кода через World Wide Web и основанной на использовании Оберона. Авторы технологии Михаэль Франц и Томас Кистлер отмечают три ключевых компонента Juice: •архитектурно-независимый формат распространения программ; •компилятор, транслирующий с Оберона в переносимый формат Juice; •дополнение (plug-in), позволяющее Netscape browser (смотрителю) исполнятьJuice-приложения. Для пользователя Интернета преимущество технологии Juice проявляются в том, что, во-первых, Juice-версия переданной по Сети программы будет, скорее всего, выполняться много быстрее аналогичного Java-апплета, поскольку код Java, как правило, интерпретируется, а Juice всегда компилирует приложение в родной код целевой машины перед его выполнением. Во-вторых, переносимый формат Juice компактнее байт-кода Java, и пользователи с медленным подключением к Сети сберегут время, загружая приложения Juice. Наконец, использование Juice позволяет избежать многих проблем безопасности, поскольку он, в отличие от Java, не требует потокового анализа, чтобы убедиться, что загруженный код не выполнит запрещенных действий. Мне нравятся Delphi и Оберон Вам может показаться, что я люто ненавижу Object Pascal, Borland и Delphi. Ничего подобного. Вот уже около 8 лет я использую Турбо-Borland-Object Паскаль. Причем теперь наряду с Delphi имею счастье благодаря некоторой технической отсталости нашего института и невероятной надежности японских компьютеров Yamaha (ни одной сколь-нибудь серьезной поломки у 20 компьютеров за 8 лет!) видеть в работе Турбо-Паскаль 2.0. Поверьте, это классная программа. Что же касается Borland, то я не знаю другой компании, чьи программы были бы так же надежны, удобны, изящны, быстры и неприхотливы. Я просто хочу, чтобы мы отдавали себе отчет в том, что направление, которое приняла эволюция языка Паскаль в системах Borland, далека от идеала. Напротив, качество и проработка среды программирования систем Borland выше всяких похвал. В этом отношении Оберон-системам очень трудно (если вообще возможно) конкурировать с Borland. Системы, разработанные в ETH, имеют весьма своеобразный, хотя и концептуально очень простой пользовательский интерфейс. А среда разработки Oberon/F, хотя и оснащена интерфейсом традиционным, но, по крайней мере, на первый взгляд выглядит заметно беднее Delphi. Вообще и разработчики, и н6екоторые аналитики придают очень большое значение самой идеологии построения Оберон-систем, употребляя всякие магические слова вроде "объектная прикладная среда", "компонентное программное обеспечение", "документо-ориентированные системы" и т. п. Мне кажется, что основная ценность - в самом языке Оберон. Пользовательская парадигма видоизменяется довольно быстро, языки же более консервативны. Когда система навязывает человеку слишком многое в способе его существования в компьютерной среде, это может не устраивать творчески настроенного индивидуума. Утверждать же, что рядовые пользователи-непрограммисты когда-либо будут обитать в Оберон-среде, было бы опрометчиво. Будущее Оберона предвидеть не просто. Мне, например, представляется, что Обе-рон - идеальный язык для изучения программирования. Сочетание простоты, строгости и неизбыточности предоставляет начинающему программисту великолепную возможность, не заблудившись в дебрях, выработать хороший стиль, освоив при этом и структурное, и объектно-ориентированное, и модульно-компонентное программирование. Но от слишком многих обстоятельств, часто не имеющих прямого отношения к достоинствам самого языка, зависит его судьба. Те, кто заинтересуется Обероном, могут узнать о нем подробнее. Вот перечень известных мне публикаций на русском языке. 1.Т.Джонсон, Р.Браун, Л.Содерблом. Спутники Урана. "В мире науки", №6, 1987 2.В.Ш.Кауфман. Языки программирования. Концепции и принципы. - М., "Радио и связь", 1993 3.А.Д.Супрун. Oberon - новый продукт создателей Pascal и Modula-2. "Компьюте-ры+программы", №5, 1994 4.Р.Богатырев. Java и Juice: дуэль технологий?! "Компьютерра", №34, 1996 А это работы Вирта и его соратников : 1.N.Wirth. The Programming Language Oberon. Software - Practice and Experience, 18, 7 (July 1988), pp. 671-690 2.N.Wirth and Gutknecht. The Oberon System. Software - Practice and Experience, 19, 9 (Sept 1989) 3.M. Reiser. The Oberon System. Addison-Wesley, 1991 4.M. Reiser and N.Wirth. Programming in Oberon. Steps beyond Pascal and Modula. Addison- Wesley, 1992 5.N.Wirth and Gutknecht. Project Oberon. The Design of an Operating System and Compiler. Addison-Wesley, 1992 6.H.Moessenboek. Object oriented Programming (in Oberon-2). Springer. 1993 7.N.Wirth. Theory and Techniques of Compiler Construction. Addison-Wesley, 1996 Больше всего сведений можно найти, разумеется, в Интернете. Чтобы получить описание языка Оберон-2 из первоисточника, вам достаточно отправить по адресу ftpmail@relcom.ru письмо такого содержания: open ftp.inf.ethz.ch cd/pub/Oberon/Docu get Oberon2 Report.Text На том же ftp-сервере находятся дистрибутивы нескольких Оберон-систем: •В каталоге /pub/Oberon/Windows содержится ETH-Oberon v4 для Windows. Файл oberon.zip имеет размер 955185 байт. Это 32-битная система, которая будет работать с Windows-95 и Windows NT, а для запуска под управлением Windows 3.1 и 3.11 требует установки расширения Win32s. •Oberon/F для Windows 1.2 (май 1966) находится в каталоге /pub/Oberon/OberonF/WinOberonF12. Минимальный комплект состоит из файлов disk1.exe (1268843 байт) и disk2.exe (1292641 байт) и позволяет установить систему в Win-95/NT •Из каталога /pub/Oberon/Sources вы можете получить файл ProjectOberon.v4.tar.gz (178933 байт), содержащий исходный текст (на Обероне, ес-тетственно) Оберон-системы (включая компилятор, написанный лично Н.Виртом) для компьютера Ceres. Этот файл представляет собой созданный утилитами Unix сжатый архив, для распаковки которого вам потребуются соответствующие программы. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||