Greetings,
I recently came accross this thread from a few years ago: https://news.ycombinator.com/item?id=34501352
I am interested, in particular, by the comment by vidarh, that starts with:
"You've been given the answer already: Simplicity. You keep ignoring it."
I find myself highly interested in what this person would have to say about rust. Is it better than, for example, oberon, or it's descendents?
I have heard that Rust is a big language. By that definition, a simpler one must be better, right? And yet rust is a big thing, and .. oberon is ..dusty?
I will keep on searching, and maybe attempt to contact him/her/(other?) directly.
It's a completely different language with different focus and features. "better" depends on the requirements you want to solve with the language. Rust can do memory management at compile time whereas Oberon and its descendants (such as my Oberon+ version) use a garbage collector at runtime. Rust is much bigger and more complex than Oberon, but it also has features which make it more suitable for systems programming. Simpler is not automatically better. If a language is too "simple" (i.e. minimalist), the complexity often shifts from the language specification to the application code, requiring more boilerplate or "clever" tricks to solve complex problems.
And it was not only simplicity (as Vidar assumed), but Oberon indeed had a different approach to OO in that there were no bound procedures, but the idea was (as you can observe e.g. in the Oberon systems and in publication by Wirth an his PhD students) that "type extension" (i.e. inheritance) is used to create extensible message hierarchies, which then are polymorphically handled by procedures accepting a VAR parameter of the most general message type. In this handler, the messages are dispatched by the IS operator or the WITH or CASE statement. This has similar effects as e.g achievable by sum types, and interestingly is closer to e.g. Alan Kay's view of OO than the implementation found in Smalltalk-80 (notably, Wirth arrived at this message-centric model independently of Kay’s work in the Smalltalk lineage).
reply