|
|
|
|
|
by username3720
4230 days ago
|
|
The Oberon/Modula-2 family happens to be among my favorite languages. It's one of the easier languages to implement and Amazon happens to have cheap Modula-2 compiler books. Wirth's own Compiler Construction book is free, though it's the definition of terse. I rather liked Julian R. Ullmann's Compiling in Modula-2 and John Elder's Compiler Construction. There's still interesting work that is out there to rediscover involving the family. Luca Cardelli wrote a rather good paper on typechecking in Modula-2[1]. More recently there's projects like Modula-2 R10[2] in the works, which could prove to be a rather fun language to work with. I thought University of Cambridge's track for teaching Standard ML to C via Modula-3[3] was a fantastic idea.
(I also have a lot of love for SML.) By learning types and modules via SML or Modula first, it will ease understanding more advanced C concepts. C's weaker typing and implicit conversions make the value of types less clear and easier to ignore. I feel that C's headers and abstract data type construction are clunkier than they have to be and also devalue the idea of modules. I would love to see renewed interest in Modula-2 in particular. The death of the commercial compiler industry has neglected it. It eschews garbage collection and I think it resembles a fixed C. For roughly ten years General Motors used it for embedded work. Another excellent resource: http://oberon07.com/ [1]: http://lucacardelli.name/Papers/BasicTypechecking.pdf
[2]: https://bitbucket.org/trijezdci/m2r10/src
[3]: http://www.cl.cam.ac.uk/~pr10/publications/plc93.pdf |
|
Unsafe and lacking all the OO and modular features from Turbo Pascal. I kept on using Turbo Pascal up to Turbo Pascal 1.5 for Windows and a little bit of of Delphi afterwards.
Wirth had me, systems programming with safe languages, I also got to learn about Modula-3 and was able to get hold of Native Oberon for PC.
My relationship with C was quickly replaced by C++, which allowed me to regain some of Pascal's type safety in a world that disdained Niklaus Wirth work and now is looking how to replace the security exploits C semantics brought upon us.
At least modern C++ eschews C programming practices.