Автор Тема: Project Oberon (New Edition 2013)  (Прочитано 46735 раз)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Project Oberon (New Edition 2013)
« : Ноябрь 30, 2013, 03:50:11 pm »

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #1 : Ноябрь 30, 2013, 04:17:24 pm »
Круто! Там отличное предисловие к 2013 году, про то что и почему поменялось.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #2 : Ноябрь 30, 2013, 04:25:50 pm »
Угу. Проект переписан на новой ревизии языка.
И более того, это теперь не мертвая система, т.к.:
Цитировать
The decision for a new processor was expedited by the possibility to implement it, that is, to make it
concrete and available. This is due to the advent of programmable gate arrays (FPGA), allowing to
turn a design into a real, functioning processor on a single chip. As a result, the described system
can be realized using a low-costdevelopment board. This board, Xilinx Spartan-3 by Digilent,
features a 1-MByte static memory, which easilyaccommodates the entire Oberon System, incuding
its compiler. It is shown, together with a display, a keyboard and a mouse in the photo below. The
board is visible in the lower, right corner.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #3 : Ноябрь 30, 2013, 06:26:02 pm »
Похоже, что нашел плату с фото из книги: http://www.chipdip.ru/product/dl-s3board/

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #4 : Ноябрь 30, 2013, 06:32:35 pm »
Ну, что же, теперь у любого желающего есть все шансы получить труъ-Оберон компьютер занедорого!
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #5 : Ноябрь 30, 2013, 06:42:13 pm »
И самое главное, теперь есть авторская реализация компилятора  ;)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #6 : Ноябрь 30, 2013, 06:59:44 pm »
И самое главное, теперь есть авторская реализация компилятора  ;)
Да, надо будет его собрать посредством OberonJs :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #7 : Ноябрь 30, 2013, 07:11:22 pm »
Между прочим, мы тут в конфе выяснили, что тот язык который используется в книжке, не соответствует Oberon report'у:
PROCEDURE Handle(G: Display.Frame; VAR M: Display.FrameMsg);
    VAR G1: Frame;
  BEGIN
    CASE G OF Frame:
      CASE M OF
      Oberon.InputMsg:
        IF M.id = Oberon.track THEN Oberon.DrawMouseArrow(M.X, M.Y) END |
      Oberon.CopyMsg:
        Oberon.RemoveMarks(G.X, G.Y, G.W, G.H); NEW(G1); G1^ := G^; M.F := G1 |
      MenuViewers.ModifyMsg:
        IF (M.Y # G.Y) OR (M.H # G.H) THEN G.Y := M.Y; G.H := M.H; Restore(G) END
      END
    END
  END Handle;
( http://www.inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Checkers.Mod.txt )
Тут CASE Виртом используется как WITH. А согласно репорту CASE таковой семантики не имеет.

Так что большой еще вопрос что за язык реализует тот Виртов компилятор.
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #8 : Ноябрь 30, 2013, 07:44:51 pm »
Это несколько внезапно, но мне нравится ход его мыслей  :)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Project Oberon (New Edition 2013)
« Ответ #9 : Ноябрь 30, 2013, 08:14:16 pm »
Цитировать
[00:04:16] <boris_ilov> сделал поиск по исходникам
[00:04:32] <boris_ilov> CASE теперь не работает с INTEGER и CHAR
[00:04:53] <boris_ilov> теперь это тупо селектор для шины сообщений
http://46.254.16.186/oberon@conference.jabber.ru/2013/12/01.html

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #10 : Декабрь 01, 2013, 05:30:09 am »
Это несколько внезапно, но мне нравится ход его мыслей  :)

Угу. Апологеты еще не успели оправдать идеологическую правильность выпиливания WITH, о оно уже возвращается в моду (с другим синтаксисом)...

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #11 : Декабрь 01, 2013, 10:01:49 am »
На самом деле интересно проследить как менялось позиционирование этой системы и компьютера.

В 1987 году Ceres - это была современная рабочая станция, уровня недостижимого для домашних компов. Огромный экран, высокое (1024x800!) разрешение, много памяти, полностью 32битный. Для сравнения современнейший Macintosh II вышедший в 1987 году умел максимум 640×480. А стоил он $5,498, что в пересчете на сегодняшние деньги примерно составляет порядка $11300.

К тому же в Ceres/Oberon были реализованы и использовались новейшие парадигмы, причем не абы как, а качественно допиленные.

С чем бы сравнить... Ну, это все равно что если бы сейчас Вирт выкатил компьютер с дисплеем имеющим разрешение 4k управляемый через NUI и там всякое perceptual computing.

Сейчас же то что описано в книге - система и компьютер, штука очень классная для настоящих гиков  (а не тех недогиков которые пускают слюни на новые смартфонные флагманы), и отличная для университетского курса. Но вот в качестве компьютера общего назначения использоваться уже не может. Даже в качестве домашнего компа не может - оно просто не удовлетворяет базовым ожиданиям от ПК. Ну, грубо говоря, там ни музыку послушать нельзя, ни видео посмотреть, ни на форум оберонкоре зайти. И дело тут не в софте.

Кроме того, если Ceres полностью проектировался на нем самом (ну, и частично на его предшественнике - Lilit), то текущая версия уже жестко зависит от винды. Баналько "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Причем судя по новой версии книги Вирт это понимает, и не претендует на то, что этот компьютер - это машина общего назначения.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #12 : Декабрь 01, 2013, 10:53:05 am »
Банально "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Это как так? Под линуксами нет аналогичных инструментов?
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #13 : Декабрь 01, 2013, 11:33:57 am »
Банально "скомпилировать" Verilog-исходники и зашить результат в FPGA'шку без винды не выйдет.

Это как так? Под линуксами нет аналогичных инструментов?
При чем тут линукс? Важно что на самом том компе это не сделать.

Ну а на линуксе на мейнстрим-компе с компиляцией верилога все ок будет, но вот драйверов чтобы зашить дев борду может и не быть.
« Последнее редактирование: Декабрь 01, 2013, 11:38:02 am от valexey_u »
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Project Oberon (New Edition 2013)
« Ответ #14 : Декабрь 01, 2013, 12:15:12 pm »
При чем тут линукс? Важно что на самом том компе это не сделать.

Имеешь в виду, что на самой оберон-машине нет средств для её же разработки?
Ну, это, наверное, не так уж и важно. Как в том анекдоте -- фирма Apple купила суперкмопьютер фирмы Cray для разработки своего следующего компьютера, а фирма Cray купила компьютер фирмы Apple для разработки своего следующего суперкомпьютера... )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…