Важная информация

User Tag List

Показано с 1 по 10 из 153

Тема: Оберон – это Спектрум будущего

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,610
    Спасибо Благодарностей отдано 
    2,182
    Спасибо Благодарностей получено 
    139
    Поблагодарили
    105 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Оберон – это Спектрум будущего

    Тема выделена из ветки http://zx.pk.ru/showthread.php?t=18336

    Здесь я попытаюсь ответить на вопрос Alone Coder’а “Почему Оберон?” – размещу мысли об Оберонах как языковой и технологической платформе, простой для освоения, экономичной, выразительной, корпоративно-нейтральной и достаточно хорошо абстрагированной от железа. Тема специально содержит претенциозный заголовок, так как создаётся для активного обсуждения (или для флейма; кто как понял) Оберонов в роли Спектрума как простой программной (языковой) платформы. Обероны приходят на место Спектруму, как достаточный для творческих личностей минимум, способный стать катализатором в раскрытии творческих способностей и задатков оных личностей, если таковые имеются.

    В Оберонах действительно есть к чему приложить руку. Здесь ещё не сказано последнее слово, есть много открытых направлений работы, например, я сделал биндинги библиотеки SDL для КП https://sourceforge.net/projects/sdl-for-oberon/, начал портировать на КП библиотеку KOL http://forum.oberoncore.ru/viewtopic.php?f=47&t=2829 (кстати, на базе этой библиотеки сделан эмулятор Спектрума EmuZWin), участвую в развитии GUI-библиотеки OVCL http://zx.oberon2.ru/ovcl.htm для компилятора OPCL, участвую в команде по развитию компилятора OPCL https://sourceforge.net/projects/opcl. Всё на некоммерческих началах, на правах энтузиаста.

    Потребительский подход к Оберону или творческий, исследовательский? Оберон – не для потребителей, в отличии от Java и .NET. Здесь маленько другое. Там – конкуренция и корпоративность. Здесь – полигон для изучения языковых средств. Там – выживаемость и реклама. Здесь мне не платят ни копейки за рекламу Оберон-технологий, даже не надейтесь. Можно совместить там и здесь? Можно попробовать. Надо развивать подход. Например, продвинутые средства для построения GUI на ETH Oberon для мэйнстрим-систем мы ещё только делаем, поэтому говорить о написании GUI-приложений для Windows на Обероне с помощью компилятора OPCL ещё рановато.

    Что ещё общего у Спека и Оберона – простота. Научиться сознательно применять его – около месяца, при условии активного использования. Научиться сознательно применять его достоинства перед другими технологиями – этому можно учиться всю жизнь. Кстати, полагаете, потенциал Спектрума уже полностью раскрыт? О постижении пределов Оберон-потенциала тоже остаётся только догадываться. Смотрите аналогию. Появилось железо классического Спека с 48 кб. Какие игры на нём делались сперва? Правильно, типа Manic Miner. Это потом уже появились Alien 8, Blade Warrior, Fairlight, Dizzy и Nether Earth. Это был путь развития программерской мысли на зафиксированном железе. А потом появились мегадемы, видео на Спеке, Fido/ZXNet и прочее. Конечно, железо уже было слегка другое, но проц практически тот же. Не считая режима Turbo. И люди всё время искали как избавиться от ассемблера, ибо понимали насколько трудно, медленно и чревато ошибками на нём работать. “Ненавижу асм, меня на него блевать тянет” (с) В.С.Медноногов

    Господа, в соседней дружественной ветке некоторых людей смущает наличие в цепочке трансляторов Ofront/SDCC промежуточного представления программы на языке Си, но почему тогда не смущает трансляция SDCC не прямо в машкод, а для начала в ассемблер? А почему не смущает такая неуклюжая и столь малоподходящая для разворачивания на других платформах форма для представления высокоуровневых алгоритмов как асм Z80? Даже Оберон в этом смысле куда как нагляднее.

    Если хочется увековечить алгоритм или хотя бы иметь его в наглядном и понятном виде для осязания и дальнейшего совершенствования, то нужно платформенно-нейтральное представление. Тут Оберон (возможно, слегка модифицированный) подходит отлично. А ещё платформы сменяют друг друга. 30 лет назад буяли MSX и ZX, потом реванш взял DOS. Вспоминается GameBoy, а ещё совсем-совсем недавно много говорили о PalmOS. Сегодня мы видим угасающую популярность платформы J2ME и возрастающую – Android. В этом свете Оберон я рассматриваю как инструмент, позволяющий автоматически развернуть алгоритмы на любой из перечисленных платформ (включая Спектрум), пусть не на 100% эффективно, но оцените саму возможность. А асм 80 в этом свете выглядит глупой частностью, хотя не здесь об этом будет сказано. В лице Оберона я обрёл языковую платформу, которая ложится на другие платформы. Спектрум-наработки можно и должно с помощью Оберона превращать в вечность, которую удастся развернуть на других платформах. Это не будет альтернативой эмуляторам. Эмуляцию Спектрума или процессора Z80 на других платформах я не рассматриваю хотя бы потому, что это очень ограниченное по своим возможностям решение, начиная с организации экрана, заканчивая мелким адресным пространством и страничной организацией памяти. Я люблю Спектрум, но давайте признаем, что плоская модель памяти, которую невозможно было реализовать в 80-х ввиду дороговизны памяти и отсутствия её больших объёмов вообще, единственно удобна. Страницы создают огромное количество проблем для программиста. Поэтому, если возникнет желание доработать готовую или начатую для Спектрума игру, мы неизбежно столкнёмся с необходимостью переноса её на язык X [подставить массово навязываемое] и платформу Y [подставить массово продаваемое]. Если же наша игра останется в коде Z80 и на базе кода с эмуляцией, её убьёт если не количество ограничений на связку эмулированного кода с неэмулированным, то хотя бы путаница во внутреннем устроении.

    Оберон-технологии – это прокрустово ложе для попыток быстро закодить плохо продуманные и плохо спроектированные решения. Этим оно здорово не нравится в начале освоения. Я бы выделил три вещи, которые больше всего не нравятся в Оберонах новичкам (ровно так же, как они не нравились в начале и мне).

    1. Отсутствие беззнаковых типов
    2. Отсутствие макропроцессора и #ifdef
    3. Присутствие автоматического управления памятью и наличие сборки мусора (мы просто не знаем что с этим делать)

    Надо думать, если мы будем реализовать Оберон для Z80, то первые 2 пункта придётся ввести однозначно, а третий столь же однозначно убрать.

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

    В заключение несколько ссылок. Извините, если повторяюсь. Мне не хотелось бы вступать в дискуссии, если Вы их не прочтёте (устал многим объяснять одно и то же). Согласен, читать многовато, но чтиво весьма интересное.

    Свердлов С.З. Арифметика синтаксиса
    http://uni-vologda.ac.ru/cs/syntax/index.html
    http://uni-vologda.ac.ru/cs/syntax/ariphm.htm
    http://oberon2005.oberoncore.ru/paper/arith.pdf

    Джозеф Темпл. Oberon против C++
    http://oberon2005.oberoncore.ru/paper/templ.pdf

    Свердлов С.З. Язык программирования Си# – критическая оценка
    http://uni-vologda.ac.ru/~c3c/articles/CScritics.htm

    Руслан Богатырёв. Оберон как эсперанто программирования
    http://www.computer-museum.ru/histsoft/ober_esp.htm
    http://oberon2005.oberoncore.ru/paper/obe_esp.pdf

    Потопахин В.В. Почему Паскаль (Газета 'Информатика' № 06-2008)
    http://inf.1september.ru/article.php?ID=200800604

    Свердлов С.З. Оберон – воплощение мечты Никлауса Вирта
    http://uni-vologda.ac.ru/~c3c/articles/dream.htm
    http://www.software.unn.ac.ru/zonnon/files/oberon.doc
    http://oberon2005.oberoncore.ru/paper/obe_drm.pdf

    Свердлов С.З. Маленький большой язык Оберон
    http://www.pcweek.ru/themes/detail.php?ID=43403
    http://oberon2005.oberoncore.ru/paper/obe_lang.pdf

    Руслан Богатырёв. Гадание на кофейной гуще
    http://oberon2005.oberoncore.ru/paper/obe_java2.pdf

    Руслан Богатырёв. Java на марше
    http://oberon2005.oberoncore.ru/paper/obe_java6.pdf

    Руслан Богатырёв. Никлаус Вирт – патриарх надёжного программирования
    http://www.osp.ru/pcworld/2004/03/102.htm
    http://oberon2005.oberoncore.ru/paper/wirth.pdf

    Руслан Богатырёв. Modula, Oberon и Java (Интервью с Д.Лесковым и В.Михеевым)
    http://oberon2005.oberoncore.ru/paper/obe_java7.pdf

    Руслан Богатырёв. Судьба Оберона
    http://oberon2005.oberoncore.ru/paper/obe_fate.html
    http://oberon2005.oberoncore.ru/paper/obe_fate.pdf

    Руслан Богатырёв. О программировании и выборе языка для представления алгоритмов
    http://web-pascal.narod.ru/stat/oprog.htm

    М.Франц. Java – критическая оценка
    http://www.osp.ru/pcworld/1997/08/56.htm
    http://oberon2005.oberoncore.ru/paper/obe_java1.pdf

    М.Франц. Динамическая кодогенерация: ключ к разработке переносимого программного обеспечения
    http://www.uni-vologda.ac.ru/oberon/...t/otherfly.htm

    Никлаус Вирт. Долой 'жирные' программы
    http://www.osp.ru/os/1996/06/27.htm
    http://oberon2005.oberoncore.ru/paper/fatprog.pdf

    Никлаус Вирт. От Modula к Oberon
    http://www.ict.edu.ru/ft/004781/m2_obe.pdf

    К.Пешио. Никлаус Вирт о культуре разработки ПО
    http://www.osp.ru/os/1998/01/41.htm
    http://oberon2005.oberoncore.ru/paper/sftcult.pdf

    Никлаус Вирт. Преподавание информатики – потерянная дорога
    http://www.inr.ac.ru/~info21/texts/2...-Aarhus/ru.htm

    Никлаус Вирт. Хорошие идеи – взгляд из Зазеркалья
    http://citforum.ru/programming/digest/wirth/

    Юрг Гуткнехт. Проект Oberon. Разработка операционной системы и компилятора
    http://notabenoid.com/book/20826

    Ханспетер Мёссенбёк. Плюсы и минусы ООП
    http://uni-vologda.ac.ru/oberon/infoart/plus&min.htm

    С.Губанов. Секреты модульных систем
    http://oberoncore.ru/articles/gubanov/

    А.Е.Недоря. Расширяемая переносимая система программирования, основанная на биязыковом подходе
    http://kronos.iis.nsk.su/sites/defau...es/Nedorya.pdf

    А.Е.Недоря. Перенацеливаемый оптимизирующий Модула-2 - Оберон-2 компилятор
    http://oberon2005.oberoncore.ru/paper/obe_ned.pdf

    Поттосин И.В. Российские исследования по ЯП и трансляции
    http://oberon2005.oberoncore.ru/paper/rus_trn.pdf

    Вива, Оберон!
    Последний раз редактировалось Oleg N. Cher; 25.03.2012 в 13:51.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 172
    Последнее: 10.12.2012, 18:36
  2. Создание кросскомпилятора языка Оберон для Z80
    от Oleg N. Cher в разделе Программирование
    Ответов: 35
    Последнее: 27.03.2012, 14:36
  3. Что это за Спектрум?
    от Nordic в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 15
    Последнее: 23.05.2009, 16:53
  4. спектрум чат
    от fatalsnipe в разделе Разный софт
    Ответов: 3
    Последнее: 01.12.2008, 17:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •