Hacker News new | past | comments | ask | show | jobs | submit login

Hey Walter, I really admire your work. I'm curious though, do you think D is potentially in danger of trying to do too many things? No one wants another mess like C++.



That's an ever present danger. We've been a bit more willing than C and C++, however, to discard some bad decisions.


I do not think it is in danger, it already does too many things that make it a complex language. Similar with Object/Free Pascal and to some extent C# and certainly others i cannot think of right now.

These languages are like horses running on a straight line towards maximum complexity. It is just that C++ is at the front right now, but no horse has any inclination of stopping.


The Oberon language is an exception, it goes the other direction.

https://www.miasap.se/obnc/oberon-report.html


Not an exception really, there are many simple languages and Oberon-07 (the dialect linked) is indeed an extremely simple one. Go is another language that is simple. And of course C (that compiler developers abuse undefined behavior to win artificial benchmark games and making the life of everyone using C for practical purposes miserable is not a problem with the language itself but with the compilers that do such abuse).

EDIT: Scheme too, at least up to R5RS.


What sets Oberon apart is that it has become smaller and simpler over time, something which is not true for the languages you mention.


This depends on if you see Oberon-07 as a different "version" of Oberon or as a different dialect belonging to the same family. Personally i see it as a different dialect instead of being the same language exactly because it removes functionality and isn't compatible with it.

It may not seem like a big difference, but it becomes more apparent when you consider how different all the Pascal dialects that are out there - some even from Niklaus Wirth himself - are.

Also IMO languages should not break backwards compatibility.


For me the best version of it was Active Oberon, but I guess Wirth wouldn't agree given its pursuit for minimalism.

Also I doubt he would bother to any further updates to Oberon-07 (2016 rev). Most likely busy with other matters nowadays.


Wirth — at the age of 85, no less! — is actively working on Oberon stuff, like the compiler. Here's his "news" file, which is up to date as of May 31, 2019:

http://people.inf.ethz.ch/wirth/news.txt


Oh! Thanks for the heads up.


Isn't Go inspired by Oberon? That would explain some things.


Yes, the method syntax comes from Oberon-2, unsafe package is similar to SYSTEM on Oberon.

The rest comes from Limbo (Inferno's userspace language).

Unfortunately it also left a couple of other nice things from those languages.


Are there shops that will take advantage of this stuff by limiting what features they use and following a certain style? For ex would a C++ team use some functional approach or a Rust style approach to ownership etc? Or it always just a mishmash?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: