Modula-2 and Oberon (2007) [pdf]
31–40 of 56 posts
Re: Modula-2 and Oberon (2007) [pdf]
#32Golang is the modern Oberon.
Golang is not an OS. Golang doesn't fit in 12kib of source code. I could go on.
https://www.withsecure.com/en/solutions/innovative-security-...
Go has all the same features as Oberon has, in regards to systems programming, it is a matter of anyone finding it worthwhile to actually design a graphical OS with it.
I will conceed it lacks a very important one from Oberon, proper dynamic loading. Also the plugin packages are mostly abandoned across several releases.
However in this day and age, probably it would make more sense to do the dynamic loading capabilities of Oberon commands available via OS IPC instead.
Re: Modula-2 and Oberon (2007) [pdf]
#33Golang is the modern Oberon.
Golang is not an OS. Golang doesn't fit in 12kib of source code. I could go on.
Re: Modula-2 and Oberon (2007) [pdf]
#34Earlier quoted context omitted.
Golang is not an OS. Golang doesn't fit in 12kib of source code. I could go on.
Depends on what extent an unikernel is an OS. https://www.withsecure.com/en/solutions/innovative-security-... Go has all the same features as Oberon has, in regards to systems programming, it is a matter of anyone finding it worthwhile to actually design a graphical OS with it. I will conceed it lacks a very important one from Oberon, proper dynamic loading. Also the plugin packages are mostly abandoned across severa…
Go is missing both two new features Wirth introduced in Oberon compared to Modula (see section 5.2 of the referenced HOPL paper): type extension (i.e. inheritance) and type inclusion (no implicit coercion in Golang at all).
Taking a closer look there are only few similarities between Oberon and Go; both are garbage collected; Go uses the same separate receiver syntax element in method declarations as Oberon-2; and there is an intersection of keywords and also := appears, but the semantics are rather different.
Re: Modula-2 and Oberon (2007) [pdf]
#35Earlier quoted context omitted.
Depends on what extent an unikernel is an OS. https://www.withsecure.com/en/solutions/innovative-security-... Go has all the same features as Oberon has, in regards to systems programming, it is a matter of anyone finding it worthwhile to actually design a graphical OS with it. I will conceed it lacks a very important one from Oberon, proper dynamic loading. Also the plugin packages are mostly abandoned across severa…
> Go has all the same features as Oberon has Go is missing both two new features Wirth introduced in Oberon compared to Modula (see section 5.2 of the referenced HOPL paper): type extension (i.e. inheritance) and type inclusion (no implicit coercion in Golang at all). Taking a closer look there are only few similarities between Oberon and Go; both are garbage collected; Go uses the same separate receiver syntax eleme…
COM has done just great during the last 30 years without class inheritance.
Re: Modula-2 and Oberon (2007) [pdf]
#36Earlier quoted context omitted.
> Go has all the same features as Oberon has Go is missing both two new features Wirth introduced in Oberon compared to Modula (see section 5.2 of the referenced HOPL paper): type extension (i.e. inheritance) and type inclusion (no implicit coercion in Golang at all). Taking a closer look there are only few similarities between Oberon and Go; both are garbage collected; Go uses the same separate receiver syntax eleme…
You get similar workflows via interfaces, delegation and now generics to help reduce the boilerplate. COM has done just great during the last 30 years without class inheritance.
Re: Modula-2 and Oberon (2007) [pdf]
#37Earlier quoted context omitted.
You get similar workflows via interfaces, delegation and now generics to help reduce the boilerplate. COM has done just great during the last 30 years without class inheritance.
I didn't say that the "Go way" was bad; just that there are few similarities. Certain things you can do in Oberon you cannot do in Go and vice versa. Personally I prefer Oberon+ over both Go and previous Oberons; if I didn't need to maintain backward compatibility with Oberon/-2/-07 I would remove type inclusion from Oberon+ and require explicit casts like Go; Wirth also removed type inclusion from Oberon-07, but he…
Although I still think Active Oberon is the best descendant from original Oberon, I am not a fan of the minimalist design Wirth persued afterwards.
In any case, Oberon's best days are behind it, hence why I would rather see some Go inspired approach to those ideas, even if I am not a big fan of Go's design.
Re: Modula-2 and Oberon (2007) [pdf]
#38Earlier quoted context omitted.
I didn't say that the "Go way" was bad; just that there are few similarities. Certain things you can do in Oberon you cannot do in Go and vice versa. Personally I prefer Oberon+ over both Go and previous Oberons; if I didn't need to maintain backward compatibility with Oberon/-2/-07 I would remove type inclusion from Oberon+ and require explicit casts like Go; Wirth also removed type inclusion from Oberon-07, but he…
From that point of view yes, I do agree. Although I still think Active Oberon is the best descendant from original Oberon, I am not a fan of the minimalist design Wirth persued afterwards. In any case, Oberon's best days are behind it, hence why I would rather see some Go inspired approach to those ideas, even if I am not a big fan of Go's design.
Maybe if you insist that parallel processing is part of the language (which you likely do if you prefer Active Oberon). Personally I think this can be well delegated to libraries to keep the language simple. Oberon+ doesn't use dedicated syntax even for exception handling; also "green" or regular threads, and channels and the like can well be covered by libraries or FFI. I'm neither a fan of Go's design, but with the ongoing work on Oberon+ I'm confident that its best days are yet to come.
Re: Modula-2 and Oberon (2007) [pdf]
#39Earlier quoted context omitted.
From that point of view yes, I do agree. Although I still think Active Oberon is the best descendant from original Oberon, I am not a fan of the minimalist design Wirth persued afterwards. In any case, Oberon's best days are behind it, hence why I would rather see some Go inspired approach to those ideas, even if I am not a big fan of Go's design.
> In any case, Oberon's best days are behind it Maybe if you insist that parallel processing is part of the language (which you likely do if you prefer Active Oberon). Personally I think this can be well delegated to libraries to keep the language simple. Oberon+ doesn't use dedicated syntax even for exception handling; also "green" or regular threads, and channels and the like can well be covered by libraries or FFI…
So to offer a bare bones language in 2022 without an OS that is at least at the same level of Blue Bottle, let alone what consumers expect from a modern OS is really not attainable.
It remains a nice language to look at as language nerd, and at the end of the day, pick something else when delivering software into production with the expectations that Swift, C#, Kotlin and so on can fulfill.
Re: Modula-2 and Oberon (2007) [pdf]
#40Golang is the modern Oberon.