Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Статья про КП/BlackBox на Хабре https://zx.oberon.org/forum/viewtopic.php?f=34&t=108 |
Страница 1 из 1 |
Автор: | Zorko [ 29 апр 2013, 23:44 ] |
Заголовок сообщения: | Статья про КП/BlackBox на Хабре |
С разрешения автора переношу статью к нам на форум, а то там она затерялась в черновиках. Можно расценить как первые шаги «традиционного» программиста в освоении Оберон-технологий. Роман писал(а): Вдохновившись примером nerfur я решил написать статью про язык программирования Компонентный Паскаль. Автор: Ищенко Роман.Компонентный Паскаль — язык программирования c моделью компонентно-ориентированного программирования. Создан на основе языка Оберон-2 компанией Oberon microsystems, Inc. Является прямым наследником языка Паскаль. Вот полная цепочка наследования: Паскаль → Модула → Модула-2 → Оберон → Оберон-2 → Компонентный Паскаль Русскоязычная документация по этому языку есть на сайте http://oberoncore.ru. Существуют две реализации этого языка: BlackBox Component Builder Gardens Point Component Pascal Мы будем использовать первую. Текущую версию 1.5 можно скачать с http://www.oberon.ch/zip/SetupBlackBox15.exe После установки надо запустить среду с ярлыка на рабочем столе. Особенности текстового редактора среды:
Все документы по умолчанию сохраняются в формат .odc (Oberon DoCument), не открываемый текстовым редактором Блокнот Главное окно среды имеет следующий вид: Через меню File создать новый документ, назвать его к примеру HelloWorld: В документ ввести следующий текст: Код: "OBERON"
Нажать ctrl + k для компиляции. После чего нажать командер (кружочек с восклицательным знаком), радостно прочитать в Log'е долгожданный «Hello, World!» Командер вызывает указанную процедуру из указанного модуля. Синтаксис командера: Имямодуля.Имяпроцедуры. Теперь разберем нашу программу построчно. Строка 1: MODULE HelloWorld; Слово MODULE служит для объявления имени программы. Синтаксис: MODULE ИмяпапкиИмяпрограммы; Т.е. в данном случае программа лежит в папке Hello и называется World. Все команды обязательно завершаются точкой с запятой. Строка 2: IMPORT StdLog; Слово IMPORT служит для подключения дополнительных модулей. Синтаксис: IMPORT ИмяпапкиИмямодуля; Т.е. в данном случае модуль лежит в папке Std и называется Log. Строка 3: PROCEDURE Hello*; Слово PROCEDURE служит для объявления процедуры Синтаксис: PROCEDURE Имяпроцедуры; Звездочка указывает на то, что процедура импортирована т.е. доступна для вызова извне программы. Строка 4: BEGIN; Начало чего-либо(в этом случае процедуры). Строка 5: StdLog.String("Hello, world! "); ВЫзов процедуры String (вывод строки в log) из модуля StdLog. Обращение к процедуре выглядит так: Имямодуля.Имяпроцедуры. В языке компонетный паскаль нет различия между стандартными и написанными самостоятельно модулями, т.е. возможно из другой программы предварительно импортировав в неё этот модуль произвести вызов типа: HelloWorld.Hello; Строка 6: StdLog.Ln; ВЫзов процедуры Ln (преход на новую строку) из модуля StdLog. Строка 7: END Hello; Конец процедуры Hello. Строка 8: END HelloWorld. Конец модуля HelloWorld. После объявления конца модуля ставится точка. Подвал Определение языка и цепочка наследия взяты с http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BD%D1%8B%D0%B9_%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C З.Ы Готов выслушать конструктивную критику в комментариях. Я признателен Роману за разрешение опубликовать статью у нас. Приятно осознавать, что остались энтузиасты, осваивающие новые просторы не за рубли, а для души. С надеждой, что это не последняя Ваша попытка разрулить Обероны, желаю успехов в Вашей деятельности. |
Автор: | Jordan [ 30 апр 2013, 00:41 ] |
Заголовок сообщения: | Re: Статья про КП/BlackBox на Хабре |
Нужны именно такие статьи, как программировать используя оберон. В тех статьях которые лежат в архиве OberonDocu.zip, есть описание языка + сравнение с другими языками. Нужно делать туториалы. В блэкбоксе, как я понял они есть. Хотя если знаешь паскаль, разобраться не сложно. Язык уменьшился. Ничего нового учить не надо. Олег, есть ли в блекбоксе строки как в free pascal, s1 + s2. Вы показывали пример перегрузки операторов, в блекбоксе она есть? |
Автор: | Zorko [ 30 апр 2013, 06:56 ] |
Заголовок сообщения: | Re: Статья про КП/BlackBox на Хабре |
Не, перегрузки, как в OberonX, в ББ нет, но строки (они же массивы ARRAY OF CHAR) и конкатенация (склейка вида s1 + s2) — есть конечно, как же без них-то. |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |