4 ms·
Every time Oberon comes up, I wonder how it would have done if it had had a "normal" graphical interface, and some aesthetically minded person such as Keith Ohl
by WillAdams 3y ago
Every time Oberon comes up, I wonder how it would have done if it had had a "normal" graphical interface, and some aesthetically minded person such as Keith Ohlfs or Susan Kare to make it attractive by the standards of the average user/developer.
- pjmlp 3y agoIsn't this normal enough? https://www.progtools.org/article.php?name=oberon§ion=compilers&type=tutorial https://www.progtools.org/article.php?name=oberon§ion=co... Good enough when placed against many UNIX windows managers, or the developer beloved Plan 9 and Inferno GUIs. It failed because like Xerox, it stayed mostly inside ETHZ walls, a few European universities and zero industry interest, too much focused on building UNIX clones.
- cyberax 3y ago> Isn't this normal enough? It definitely is not normal enough. It's a whole operating system, after all. > It failed because like Xerox, it stayed mostly inside ETHZ walls, a few European universities and zero industry interest, too much focused on building UNIX clones. Not really. It failed because Oberon was not a great language even in the 2000-s. Right now it's not even good enough for teaching purposes.
- pjmlp 3y agoApparently it was good enough to inspire Go authors, and everyone that enjoys its influences in Go, as the ultimate design in language simplicity.
- cyberax 3y agoAs an inspiration for some of the ideas? Maybe. As a language in itself, Oberon was crappy even at that time. From the very start, Go was utterly practical, designed to be used for actual programming, and not PhD theses. So compared to Oberon, Go had hash maps from the start. It didn't have the SCREAMING PROCEDURE/RECORD/VAR case-sensitive keywords, Go had multiple return values for error handling from the start, better namespacing support, variable declaration in-place, full support for UTF-8 for strings, etc. And of course, Go has lightweight threads and channels, making it a great language for servers.
- pjmlp 3y agoIf you are stuck with a tunnel vision of the 1992's version of Oberon, yeah. Except that Active Oberon from 1996, sorted out most of those cases. Hash maps don't need to be built-ins, as proven in many languages. Active Objects take care of lightweight threads and channels. Oberon, the OS, was also good enough for Go's hero Rob Pike to implement ACME and RIO on the same UX principles, re-use Oberon-2 (yet another version you ignored) method syntax, and Oberon's SYSTEM package as unsafe. Screaming keywords, only an issue when someone doesn't use an editor with automatic capitalization, only an issue for Notepad-like users.
- cyberax 3y agoWe're talking about Oberon here, not about its clones. And I based my reply on Oberon-2. It definitely sucked. > Hash maps don't need to be built-ins, as proven in many languages. Except Oberon doesn't have generics. From the very beginning, Go included very practical "magic" generic functions: append, len, cap, delete. Along with slices, they allowed Go to flourish without generics. Oberon only has LENGTH. > re-use Oberon-2 (yet another version you ignored) method syntax Here's Go: "func (c Type) DoSomething(hello, world string) (int, error)". Here's Oberon: "PROCEDURE (c: Type) DoSomething(hello, world: STRING): INTEGER;" (error handling is for wimps). It is similar, but not the same. Go also has structural polymorphism, which Oberon lacks. > Screaming keywords, only an issue when someone doesn't use an editor with automatic capitalization, only an issue for Notepad-like users. IT LOOKS UGLY, AND IT MATTERS A LOT, WHEN YOU MOSTLY READ THE CODE. So yep, I maintain that Oberon is a shitty language. It might be useful as a starting point for new language design, but that's it. It has never been practical, and on its own it only ever "succeeded" in the ETH where professors just forced students to use it.
- jhgb 3y ago> Except Oberon doesn't have generics. ...which could plausibly be fairly easily fixed by Zig's comptime feature, which would seem to fit the language very well.
- 3y ago
- Rochus 3y ago> It's a whole operating system, after all. You can use that one which easily starts on all platforms without taking control of the PC: https://github.com/rochus-keller/oberonsystem3 https://github.com/rochus-keller/oberonsystem3
- kekc_leader 3y agoOberon is perfect for teaching purposes. It is understandable from the first glance. On the first lesson, even 9-year-olds start writing graphical programs! I've been testing Free Oberon as an edutcational tool since 2016. Kids in a sport summer camp use it.
- WillAdams 3y agoMaybe, but that's not what's being shown on the linked website.
- pjmlp 3y agoMaybe because the linked Website is not the original Oberon, and derived OSes done at ETHZ. The question of the parent naturally should be answered in regards to what was available during the 1990's.
- WillAdams 3y agoWorking from uncertain organic memory, but yes, the other screens look much better. I've actually always been quite fond of the concept of Oberon --- wondering if this implementation might work well for a potential future pet/side project: making a graphical front-end for METAPOST/METAFONT.
- kekc_leader 3y agoWhy not? Use Free Oberon, I will help.
- pmontra 3y agoI remember Oberon. My take is that it failed to become a mainstream language because we were using C to write system tools and browsers, Visual Basic and Visual C++ to write Windows apps and PHP and Java to write web apps. Those filled most niches. Delphi and the Pascal languages were on a downward spiral of popularity. C was the incumbent. PHP was easy to install and solved a problem that most developers had: write a web app quickly. Java and the Visual languages were backed by big companies. Oberon was not. It was a curiosity at best. I remember other languages from back then: Eiffel and Modula 3. They resurface sometimes in HN posts.
- troupo 3y agoThe graphical interface is the least of its problems.
- WojtekSkulski 3y agoCheck out Component Pascal Collection. It is as normal as it gets under Windows. Tell you what: I use their built-in wordprocessor to write grant applications. I prefer it over MS Word or even Libre Office. Download free BlackBox Component Builder from there, as well as amazing scientific software written in that language. Includes graphics, math, algebra, simulations, etc. Some of that stuff (Chill by Robert Campbell) was developed at BAE Systems for flying jet planes. Not just cool. It is heavy duty production stuff. And free. http://www.zinnamturm.eu/downloads.htm http://www.zinnamturm.eu/downloads.htm
- kekc_leader 3y agoBlackBox is a great program, but it is a self-contained system, that isn't well-suited for classical programming (i.e. making executables: console applications, grpahical games, integrating with C-code). If you need an Oberon compiler in classical sence, use Free Oberon.