Pull to refresh
-4
0

Пользователь

Send message

Интерпретатор Оберона на Go

Reading time 6 min
Views 11K

Введение


История движется по спирали. Авторы Go, встав на плечи авторитетной корпорации Google, смогли воплотить свой идеальный язык программирования в жизнь, как когда-то Никлаус Вирт принес в этот мир язык Оберон, собственной непоколебимостью и авторитетом борясь с зарождавшимся трендом усложнения и экстенсивного развития мейнстрим-языков.

Сегодня язык Оберон забыт, но дело Вирта проявилось в языке Go совершенно неожиданно. В некоторых аспектах реализации сходство подходов не вызывает сомнений. Конечно, каждый язык по-своему уникален и нет нужды из одного языка делать другой. Время не повернуть назад. Но в разное время люди стремились сохранить технологии, ушедшие в прошлое. Чего стоят бережно хранимые эмуляторы Спектрума и MSX, музеи старых компьютеров в разных странах. Эмуляция, как один из способов остановить мгновение прочно зарекомендовал себя.

Общепринято считать, что язык Go нашел себя в нише сетевых сервисов. Но мы пойдем другим путем.
BEGIN
Total votes 22: ↑21 and ↓1 +20
Comments 9

Троичный компьютер в браузере

Reading time 8 min
Views 65K

000. Предыстория


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

Но, как я говорил ранее, всегда найдутся люди, готовые сохранять технологии прошлого в виде эмуляторов.
Приступим.
Total votes 110: ↑107 and ↓3 +104
Comments 96

Неизвестный Smalltalk

Reading time 10 min
Views 31K


Уважаемые читатели хабра. Прежде всего я хочу объяснить, что обзор языка Smalltalk делает в корпоративном блоге FLProg. Дело в том, что и сама программа FLProg и сайт программы написаны на этом замечательном языке. Его возможности и огромная скорость разработки на нём позволяют мне одному поддерживать и постоянно увеличивать функциональность как сайта, так и программы. Если интересно, как мне это удается – прошу под кат.
Подробности
Total votes 58: ↑50 and ↓8 +42
Comments 190

Оберон умер, да здравствует Оберон! Часть 1. Некоторые любят поактивней

Reading time 5 min
Views 25K
Языкам программирования семейства Оберон не суждено было прорваться в мейнстрим, хотя они и оставили заметный след в IT-индустрии. Однако, и операционные системы, написанные на этих языках (являясь одновременно и программными каркасами различных решений и средами разработки), и сами языки программирования используются в учебной, исследовательской и промышленной сферах и по сей день, понуждая к творчеству и экспериментам, развиваясь и впитывая новые веянья индустрии и влияя на неё.

Этой обзорной статьёй я открываю серию статей, посвящённых языку Активный Оберон и операционной системе A2, написанной на этом языке.

Итак, встречайте — Активный Оберон


Первая публикация по Активному Оберону появилась в 1997 году, но понятно, что язык и его реализация появились несколько раньше. За эти годы произошло много изменений в языке, переработана среда времени выполнения, написана операционная система A2…
Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Comments 41

Оберон умер, да здравствует Оберон! Часть 2. Модули

Reading time 4 min
Views 11K
О нужности/ненужности, достоинствах/недостатках концепции модулей в языках программирования есть очень много публикаций и обсуждений, поэтому я просто расскажу о реализации системы модулей в языках Оберон-семейства.

Модуль в Оберонах — это не только единица компиляции, загрузки и связывания, это ещё и механизм инкапсуляции. При обращении к сущностям подключенного( импортированного ) модуля, требуется обязательная квалификация этого модуля. Например, если модуль A импортирует модуль B, и использует его переменную v, то обращение к этой переменной должно иметь форму B.v, что снижает количество трудноотcлеживаемых ошибок использования совершенно других сущностей с тем же именем в немодульных языках, зависящих от последовательности подключения файлов и поведения компилятора.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Comments 60

Оберон умер, да здравствует Оберон! Рабочее окружение ETH Oberon

Reading time 3 min
Views 11K
Перед тем, как начать повествование об операционной системе A2, необходимо упомянуть и о её предшественнице ETH Oberon, являющейся дальнейшим развитием первоначальной Oberon System.

В контексте статей (Часть 1, Часть 2), посвященных языку программирования Активный Оберон и операционной системе A2, ETH Oberon интересна с точки зрения развития пользовательского интерфейса в Оберон-системах и влияния на ИТ-индустрию. В отличии от первоначальной Oberon System, пользовательский интерфейс ETH Oberon представляет собой набор графических визуальных объектов ( гаджетов ). При портировании на новую графическую систему ещё раз было подтверждено, что ОС Оберон спроектирована очень хорошо и при портировании потребовались минимальные изменения.

Классический рабочий стол в ОС Оберон представляет собой браузерную среду, управляемую тайловым оконным менеджером, и основан на концепции «Текст Как Интерфейс»(ТКИ) — всё есть текст ( вернее гипертекст ), любой текст может быть командой, для выполнения которой нужно либо кликнуть по ней средней кнопкой мыши, либо выделить нужный участок текста ( в любом месте ), который будет интепретирован как параметры команды и также кликнуть по команде. Команды да и вообще весь интерфейс можно писать в панелях, вставлять гаджеты, сохранять и открывать в нужное время.
Настройки ОС хранятся и обрабатываются как обычные документы, и не отличающиеся от них (привет, вики).

image
На скриншоте рабочего стола ETH Oberon мы видим внизу скрытую панель, справа открыты инструментальные панели графических редакторов Rembrandt и Leonardo, слева два документа с графическим содержимым и html страница сайта ETHZ.
Читать дальше →
Total votes 27: ↑19 and ↓8 +11
Comments 20

Information

Rating
Does not participate
Location
Россия
Registered
Activity