4 ms·
Also, a language. Oberon-2 language has Pascal-like syntax, with Java-like features (classes, single inheritance, interfaces, garbage collector, sane module sy
by DenisM 13y ago
Also, a language.
Oberon-2 language has Pascal-like syntax, with Java-like features (classes, single inheritance, interfaces, garbage collector, sane module system instead of includes). Unlike Java, no VM is required, at least in the system that I used. Like Java and unlike C, it is impossible to write unsafe code accidentally - you have to go out of your way to access unallocated memory regions or break type safety.
Decent module system and straightforward grammar has also allowed writing simple and very fast compilers. It was fun to work with.
- kingcan 13y agoUntil a few years ago, Oberon-2 was the programming language of choice in the first year of CS at my university (except for a small course on C++). They use Python and more C++ now.
- lennel 13y agoWe also programmed in Oberon at varsity. I think oberon with scheme and c would be a great set of 3 languages to teach from school level through till end of undergrad at varsity.
- chokolad 13y agoModula-2 and Oberon-2 as first procedural and first OO language in my university as well (in Soviet Russia, no less :) )
- pmarin 13y agoI learned Modula-2 in my university (UMA, Spain) around 2000. they changed to C++ a year later. Even now days all the pseudocode used by many courses is strong inspired in Modula-2.
- seefriek 13y agoMy Intro to Operating Systems class was in Modula-2 circa 1988. I really liked it. I was lucky enough to subsequently spend quality time with Modula-2 on the 8051 and Modula-3 on Ultrix (which was a really nice evolution of the language). Shame that line of innovation has withered.
- chokolad 13y agoBTW, as far as I understand Project Oberon uses Oberon language, not Oberon-2. Main thing - there is no inheritance and instance methods, they are achieved via aggregation and function tables.
- pjmlp 13y agoJava's VMs are just an implementation issue, there are plenty of native compilers to choose from. Having said this, I really enjoyed it working with Oberon, it showed to me how one can implement a fully working desktop system in a GC enabled systems programming language. I have used the original version, System 3 and Active Oberon aka AOS. Sadly the industry is still stuck in C land for such tasks.