Sadist – An old DOS game from 1998
github.com
github.com
Sadist (and its sequels) was little-heard of among the Polish gamers of the late 90s and early 2000s, but it did manage to amass something of a cult following. IIRC there was a small but vibrant forum in its heyday, and the game's online fanbook (now read-only) has 700+ entries.
The author, Grzegorz 'GAD' Drozd, was a frequent poster to pl.comp.lang.pascal in its heyday. In addition to Sadist, he also produced many other DOS and Windows freeware games, most of them single-handedly. His site (gadz.pl) is well worth checking out.
First, writing code in national languages is mostly a shit idea. Here we can at least recognize and match some words, but what if it was Arabic or Chinese script? Even with source code, you just might've been better off with a disassembly.
Second, don't underestimate Pascal. For all its faults, the language is very readable, and its build and module systems are still more convenient than most of what we have today. I dearly miss the time when you could just download some code, hack on it, press Ctrl+F9 and see the result.
Is English not a national language?
Saying it's a "shit idea" to choose a particular style for a personal project is a huge stretch, and quite rude to be honest.
One of the problems with Pascal is that practically nobody used it. They used Pascal-ish languages like "Borland Pascal"™ and "Delphi"™ and other proprietary systems that flat-out don't work on modern operating systems without a lot of annoyance and expense such that it's easier to rewrite the code.
Pascal was a teaching language from the 1960s which was good enough to steal ideas from but not good enough to actually copy.
And it still isn't good enough to compile the Linux kernel.
The idea of standardising languages came about because every commercial compiler (remember that the idea of languages being open source is a relatively recent one) implemented their own features. Sometimes it would be even worse than that and the same commercial compiler would have different features for different target platforms (be it CPU architecture or operating system).
It’s also worth noting that a lot of popular modern languages still aren’t standardised and instead we have what’s called “reference implementations”. Go, Python, PHP, C# etc. The standard for those languages is driven by the governing body of their respective de facto implementation.
As an aside, we live in a golden age for programming. It’s never been easier nor cheaper to picking a language and start coding in it. But back when I first started out you had to buy compilers and they weren’t usually cheap.
Also it feels a little weird that you lump Borland Pascal and Delphi as examples Of different dialects. On the one hand they could be argued as different languages (like C vs C++). But on the other hand they were both Borland products so valid Borland Pascal was still valid Delphi (I know this from experience too).
(There was a court case to prevent Java from fragmenting, but I guess people around here are too young to remember.)
Also, Go and PHP don't have dialects, either. Not having an ISO standard is irrelevant as long as the actual language is unified.
Maybe things have improved since I last did a lot of Java development but there were a few different JVMs out there and compatibility between JDKs /JREs wasn’t 100%.
> (There was a court case to prevent Java from fragmenting, but I guess people around here are too young to remember.)
I don’t know if this is a dig at me but I remember that era well. At the time I was writing Middleware for Oracle (a low point in my career it has to be said) and I had no end of troubles with differences between Sun and Microsoft JVMs.
But it’s worth mentioning Suns court case was about more than just fragmentation. Microsoft were ostensibly trying a hostile takeover of the ecosystem. There has always been a few different implications because Java was historically proprietary software. Which comes right back to my earlier point.
> Also, Go and PHP don't have dialects, either.
I didn’t say they did. I said they have reference implementations. Though it is worth noting that they arguably do have dialects. There’s an embedded language based on a subset of Go, and there are few PHP implementations not managed by Zend, such as Facebook’s Hiphop (I think it’s called).
> Not having an ISO standard is irrelevant as long as the actual language is unified.
That’s just less precise way of saying “reference implementation” ;)
And it was very practical, too. Apple's Lisa OS and the original Photoshop were written in Pascal. Windows and Classic Mac OS had official SDKs for Pascal. Delphi was very widely used for enterprise apps. Sure, it lost the competition against C in the early 90s, but it was easily in the top three - against literal thousands of dead languages.
Even now, some projects using Pascal are amazing. Take fpPS4 for example: a Wine-like PlayStation 4 runtime, reimplemented in Free Pascal. That's one of the most hardcore things I've seen, period. It proves that Pascal is a competent systems programming language, too.
As for "Apple Pascal", "Turbo Pascal" and the like not being "the" Pascal, well, duh: the original Pascal spec is what, two dozen pages long? Of course it had to be improved over time. We don't use K&R C either.
I won't be rallying anyone to restoring the language to its former glory, but let me say this: it was there for us, and it was great while it lasted.
Huh? Plenty of people out there who don't speak english, should they just be excluded?
Not every project is open source (this wasn’t originally) and even some open source projects aren’t intended to be used by people outside of a specific region.
Furthermore, if someone is writing a hobby project, particularly to learn to code, (again like this project was) then they should be allowed to code in their own language.