News for hackers. Stuff that matters.
Re:Active Oberon Language Report Update 2019 by bsaul on Sunday November 17, 2019 @05:42AM (#21557354)
It’s the second time i see this language mentioned on HN. Reading about it made me feel it was coming straight from the 80s, and i must say i didn’t find anything special in its feature set (but i didn’t spend a lot of time). Could anyone provide more info on what makes this language interesting ?
Re:Active Oberon Language Report Update 2019 by kryptiskt on Sunday November 17, 2019 @05:57AM (#21557384)
The language in itself is just a member of the Pascal/Modula family stripped to the minimum while still supporting modules and some form of polymorphic objects. What is interesting is what Wirth et al does with it in the Oberon book (http://www.projectoberon.com): building a complete computing environment (including a kernel, compiler and GUI) running on their own CPU. All in 9000 lines of Oberon code, no C or anything else.
Re:Active Oberon Language Report Update 2019 by boznz on Sunday November 17, 2019 @12:47PM (#21558967)
Just started reading the book and so far it is quite interesting and informative and it looks like the problem they were trying to solve were that of the massively complicated operating systems which seem to get in the way rather than help. Funny how that resonates just as much today as then.

I have the digilent board from my FPGA experiments and Oberon looks like pascal so should be pretty easy to pick up so I might give the examples a go.

Unfortunately VGA graphics and PS2 keyboards and mice seriously dont cut it these days

Re:Active Oberon Language Report Update 2019 by akapaka on Sunday November 17, 2019 @06:08AM (#21557421)
Re:Active Oberon Language Report Update 2019 by xiaodai on Sunday November 17, 2019 @08:33AM (#21557852)
Nim mentions that Oberon is one of its inspirations
Re:Active Oberon Language Report Update 2019 by pjmlp on Sunday November 17, 2019 @06:13AM (#21557435)
Active Oberon is one of the final evolution paths that started with Mesa/Cedar at Xerox PARC and influenced Wirth's work on Oberon.

A full workstation OS, written in a strong type safe GC enabled systems language, providing UI interactions similar to Lisp and Smalltalk workstations from Xerox and Lisp Machines.

All of this in the mid-90s, where most PC users where still running Windows 3.x on their computers and Amiga was mostly coded in Assembly.

If you want some screenshots and overview of how it used to look like, https://www.progtools.org/article.php?name=oberon&section=co...

Re:Active Oberon Language Report Update 2019 by ptrott2017 on Sunday November 17, 2019 @02:02PM (#21559388)
Active Oberon is a small but powerful language with a lot of good ideas within the language.

One of the interesting additions over plain Oberon is the concept and support for active cells. Active Cells provide an abstract mechanism to define systems composed of computing elements that exchange information over message channels. Not new to anyone familiar with Go Channels etc buts its one of the nice things in Active oberon and provides support for both Actor models, concurrency and parallel programming.

How this applies to scalable systems and custom FPGA hardware is described in an older paper - see https://inf.ethz.ch/personal/felixf/pdfs/2012_ActiveCells.pd...

In addition to cells there is math support for tensors (via Math Array) and matlab like array processing as well.

From a language implementation perspective it provides quite a lot in a relatively small, clean and easy to follow code base.

Re:Active Oberon Language Report Update 2019 by wbl on Sunday November 17, 2019 @07:14AM (#21557604)
Have you compared it to Go?
Re:Active Oberon Language Report Update 2019 by watergatorman on Sunday November 17, 2019 @09:57AM (#21558137)
I have compared both Modula-2 and Oberon-2 to Go, but have not compared Active Oberon to Go.

This was for purposes of creating a top-down, predictive, recursive descent parser for Go.

I am curious on how Go is being parsed. LR, LL, or ?

I am also curious about the CellType and PortType of Active Oberon. Do these correspond to Go's ChannelType and possibly to OCCAM and CSP Send and Receive Channels?

Re:Active Oberon Language Report Update 2019 by atombender on Sunday November 17, 2019 @12:27PM (#21558871)
Go uses a hand-written recursive descent parser.