3 ms·
It was the norm for programming languages to have different dialects. Some languages still do (JavaScript, for example, can have differing support depending on
by hnlmorg 3y ago
It was the norm for programming languages to have different dialects. Some languages still do (JavaScript, for example, can have differing support depending on your target VM). Java is another recent(ish) example. I guess those two languages will never succeed either /s
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).
- msla 3y agoWhat dialects of Java are there? Not versions, dialects. (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.
- hnlmorg 3y ago> What dialects of Java are there? Not versions, dialects. 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” ;)