Hacker News new | ask | show | jobs
by mapcars 3455 days ago
>Go is a good enough replacement for C, for user space applications.

Are you sure you are not describing Rust?

2 comments

Go is based on Oberon: a family of simple, safe languages that were used to write OS's. Started with Modula-2 in Lilith project. At one point, the machines ran ETH University. By Oberon, they got a GC but could also do unsafe manipulations for hardware interfaces or performance. Forced you to put it all in modules declared SYSTEM ("unsafe").

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.

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.
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.
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.

I didn't miss that at all. According to Pike, it was actually Griesemer's idea to start with C.
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.

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.
No, please research Oberon and read the Project Oberon book.