The problem with Pascal/Wirthian family of languages in my opinon is that they are really scattered and it is somewhat difficult for an outsider to discover what is the currently alive variation. It doesn't help that the languages have been called Pascal, Modula, and Oberon with various prefixes and (version) numbers. Of course there are also various implementations of the different languages that also kinda live their own lives.
Does anyone know some comperehensive and up to date resource illustrating the whole language family?
I can only partially answer your question for Pascal: Look at the Free Pascal compiler.
I learned (Turbo) Pascal many years ago. Recently I've revived my usage while writing a video game. I wanted a mature, compiled, no GC language that worked well on Windows but wasn't C/C++. For the most part I've been happy with it.
It's still an alive project (version 3.0 released this year). It supports a wide selection of platforms, and a few Pascal dialects including Delphi, although I've been sticking to the old school procedural style in my game. It easily interfaces with C libraries (I've tried SDL and Lua).
As for the language itself, it seems to have lackluster support for template / generic programming, so I avoid it. That's a little disappointing to me but I think I can live without it. It does support old scool C++ style OOP, but try to avoid it because OOP's not cool anymore :).
There's plenty of documentation on the Internet, but not the amount of some of the more hip languages of today (and the websites tend to look older).
The number of tools is lackluster. It has an IDE called Lazarus that I've never used. The IDE seems focused on GUI development, which doesn't interest me. It comes with Turbo Pascal like IDE that runs in a console window, which probably won't be appealing to most people. I mostly use Notepad++ and script building in PowerShell for my game. I do miss the features from Visual Studio, like Intellisense though.
I'd say the currently alive variation is Object Pascal and the two major implementations of it are Free Pascal and Delphi. See Pascal's and Delphi's ranking on the TIOBE index (http://www.tiobe.com/index.php/content/paperinfo/tpci/). Free Pascal is fairly compatible with Delphi except for the newer language features.
> Does anyone know some comperehensive and up to date resource illustrating the whole language family?
I am not an expert, but as someone that started coding in the 80's I have some of the knowledge myself. Some of these facts might be wrong.
Pascal:
Wirth created Pascal, the educational version, which was the target of the famous rant from Kernigan.
All Pascal vendors extended the language, the most common extensions for professional coding became the ISO Extended Pascal standard.
UCSD Pascal, Turbo Pascal, MacPascal and Quick Pascal were the most famous dialects.
Wirth collaborated with Apple in the design of Object Pascal, the original systems programming language for Mac OS. Those extensions were later on adopted by Borland for Turbo Pascal.
Given the influence of Turbo Pascal in the PC world, most Pascal vendors ignored the ISO Extended Pascal and tried to follow Turbo Pascal instead.
Object Pascal eventually became a synonym with Delphi.
Modula-2:
Wirth spends some time at Xerox PARC and gets to learn Mesa. When he returns to Zurich, he creates a systems programing language based on Mesa, without the issues that plagued Pascal and writes the Lillith OS in it.
Oberon:
Wirth returns to Xerox PARC, meanwhile Mesa has evolved into Cedar, a systems programming language with RC/GC, interactive debugger (REPL) among other features.
Again, when returning to Zurich, he creates Oberon (the language) and Oberon (the OS), following the features of Cedar.
Oberon gets used as workstation environment at ETHZ and as a means to teach OS programming at several european universities.
Wirth collaborates in the design of Oberon-2.
Other ETHZ collaborators create a startup to explore Oberon commerically and extend Oberon-2 further, thus creating Component Pascal.
Meanwhile the OS projects at ETHZ evolve the Oberon OS into Oberon System 3 with its gadgets systems, and evolve Oberon-2 into Active Oberon, which uses active objects as construct for parallel/concurrency programming.
Wirth already retired, decides to pursue his goals for a minimalist type safe systems programming language and designs Oberon-07.
Modula-3
The Xerox PARC designers behind Mesa and Cedar eventually join DEC when all falls apart and start designing Modula-2+, based on Modula-2.
With their learnings, they eventually create Modula-3 and the SPIN OS.
Unfortunately DEC gets bought by Compaq and Modula-3 related projects get canned.
Good summary. It's worth pointing out that Borland's Pascal had already diverged from other dialects, including Apple's, and when they tacked on the OO extensions from Wirth's ObjectPascal/MacApp, they diverged further.
MacApp is interesting in itself, but I'm not sure how much involvement Wirth had in its development. Delphi certainly owes a lot of its design to it, but nailed the visual UI builder in ways that MacApp didn't (and in a way that Interface Builder never has). Apple actually kept supporting and updating MacApp as late as 2002 (Photoshop was famously written in it) [1]; it's one of those beautiful niche things that eventually die, but keep a lot of people magically productive for a while (just like Delphi, coincidentally).
Thank you very much for the historical viewpoint, much appreciated. It is kinda interesting that Delphi/FreePascal is the most live one while also being the one that splitted off from the family tree the earliest.
Unfortunately, Wirth never seemed to be very cooperative in attempts to standardize his languages, and often inclined to tinker with the language whenever he wrote a new compiler.
My personal theory is that his participation in the Algol 68 design effort left him with enough unpleasant experiences in language standardization to stop him from ever trying this again (Though I never asked him personally).
I never cease to be amazed at the dedication Stroustrup has been bringing to the C++ standardization for several decades now.
Does anyone know some comperehensive and up to date resource illustrating the whole language family?