Re:A new year resolution to have Crystal reach the 1.0 miles...
by groovy2shoes on Saturday December 31, 2016 @05:41PM
(#13293603)
Since when is Go "based on Oberon"? Pike himself claims that it was "based on C", with obvious influence from his own work on Squeak and Newsqueak.
Re:A new year resolution to have Crystal reach the 1.0 miles...
by nickpsecurity on Saturday December 31, 2016 @06:00PM
(#13293669)
The last history people here gave me had him describing the joy of programming in the safe, fast Oberon-2. And wanting to re-create that with the new language. Resulting language is very Wirth-like in style, esp simplicity, compile speed focus, and safety. Modified with C syntax, concurrency from Limbo, and I dont recall what else. Clearly way closer to Oberon-2 or Modula's than to BCPL like C copied/extended.
Re:A new year resolution to have Crystal reach the 1.0 miles...
by pjmlp on Sunday January 01, 2017 @07:53AM
(#13295591)
The method definition syntax, package model and unsafe package are taken from Oberon-2.
You missed that Robert Griesemer is also part of the Go team.
Re:A new year resolution to have Crystal reach the 1.0 miles...
by groovy2shoes on Sunday January 01, 2017 @11:58AM
(#13296270)
I didn't miss that at all. According to Pike, it was actually Griesemer's idea to start with C.
Re:A new year resolution to have Crystal reach the 1.0 miles...
by pjmlp on Sunday January 01, 2017 @02:58PM
(#13297016)
Wasn't aware of it.
In any case, my view is a bit different, I see Go as a mix of an AOT version of Limbo mixed with bits of Oberon-2.
Re:A new year resolution to have Crystal reach the 1.0 miles...
by groovy2shoes on Sunday January 01, 2017 @03:29PM
(#13297160)
I definitely "feel" the Limbo influence, but I've not worked with Oberon-2 (only the original Oberon, and only a bit), so I didn't pick up on it. I do "feel" the C influence as well, though.
The neat thing about the OS was that it and its compiler were simple enough for students to understand that they regularly ported or improved it a few months at a time. It's also one of the most, well-documented OS's in existence.
http://www.projectoberon.com/
That Go is basically a modified Oberon means Go, currently or with some modification, could be used for low-level, systems code up to operating systems. Even with a GC since the Oberon OS's are written in GC language. Most recent, graphical one is A2 Bluebottle if you want to look it up.