|
|
|
|
|
by vidarh
417 days ago
|
|
Oberon-07 doesn't allow multiple returns, though Wirth tended to favour single return. In Wirth's introduction of Oberon-07, he specifically gave an example of an Oberon procedure with multiple returns, and the corresponding Oberon-07 version, where a single return at the very end is enforced and the only syntactically valid way of including a return. A decision I disagree with, but again a very explicitly motivated design choice - Oberon-07 in particular reflected years of looking largely at what Oberon could do without to achieve something that cut down complexity even further without being too limiting. It's too austere for me, but the consideration with which Wirth approached his language design is still something I admire. |
|
As I said, he cared more about ideology. Early returns significantly improve imperative code. They are not necessary in fully functional languages, where you can easily juggle with blocks of logic, but Oberon is not such a language.
> It's too austere for me, but the consideration with which Wirth approached his language design is still something I admire.
It was basically: "my way or you're expelled because I'm the emeritus professor here".