Yeah, Pascal was actually had _the_ first bytecode system.
https://en.wikipedia.org/wiki/P-code_machine
It was simple and beautiful.
Fairly, Borland made their business targeting x86 DOS/Windows systems. Even today you cannot find a more powerful environment targeting Windows than Delphi. (Though Embarcadero won’t let you use it without promising an arm and maybe your firstborn, these days. I bought Delphi 5 for about $100 ages ago.)
As far as I am concerned, Embarcadero has made all the wrong decisions with Delphi once they bought out Borland. For example, the way they implemented operator overloading was about as stupid as possible, when it had already been done it beautifully by Wuppertal. But... it is what it is.
Of course, much of the fragmentation came from the so-called ISO/IEC Extended Pascal. The people who wrote that seemed to have had a bone to pick with Borland, going out of their way to make the language _more_ complicated and to do some of the same things Borland did in completely inane and incompatible ways...
There is a beautiful language trying to escape Object Pascal’s current state (and I don’t think it is Modula). As far as standards go, I think Free Pascal gets closest to making things right...
Even now I don't see a long-term coherent road map for C++ |
True, and sad. I think that it is the reason C++ is disliked by so many. It changes every few years, and not necessarily for the better.
To be fair, it does carry a lot of baggage, I guess. But to be fair-er, if it changes so significantly all the time, why not fix problems instead of pretending it is the same language?
While I’ve got my rant on, might as well mention that I’ve been playing with C a lot lately, and it always reminds me of one of the horrible design flaws with just the string functions, like strstr(), for example:
If strstr() fails, it returns NULL, when it would be so much better to just return a pointer to the end of the string! The failure test would be almost identical and the result would be so much more usable.
Alas for hindsight.