I am not a Pascal expert, but I believe that arguments 3, 4, 7 and 8 are not valid any more, possibly they were not even valid a decade later, which would invalidate the whole essay.
And some of the "advantages" of C over Pascal, presented by Kernighan, are exactly the origin of many CVEs we have nowadays, such as unbounded arrays and unverified casting of types.
I really like Kernighan's code and texts, but it is important to remember he is really biased in this text, and hasn't provided any of the advantages of Pascal over C, except it is easier to learn.
I won't promote Pascal, but one can see that a language two years older than C has some language constructs [1] not seen even on modern programming languages! Kernighan, though, purposely left it all out of his evaluation.
[1]: https://en.m.wikipedia.org/wiki/Pascal_(programming_language...
I don't know much about Pascal but it sounds really hard to do things which aren't supported by the development environment.
FPC can even compile to JavaScript and it works with WebGL https://github.com/genericptr/Pas2JS-WebGL#pas2js-webgl
But decades ago is precisely the timeframe we're talking about here.
Pascal lost to C for the reasons Kernighan mentions (among others), which is the question the OP was asking.
Also considering that most of the complains were fixed in Modula-2, made available initially in 1978.
And, the article was about Pascal, not about Modula-2. Are you wishing he had also written an article about Modula-2 that you could also critize, maybe for not being about Modula-3 or Oberon instead?
When Java came out in 1996 it became an overnight juggernaut in application development. Java had a ton of hype when it was still in beta in 1995 and TIME magazine even listed it as one of the best products of the year--when it wasn't even released yet.
Microsoft poached Anders Hejlsberg, the primary language designer of Turbo Pascal and Delphi, from Borland in 1996 to have him work J++ their variant of Java. J++ followed the Sun Java spec with a few deviations, but it was just another testament to how quickly Java was taking over.
Borland was now competing with something that was free and they needed to pivot and well...they didn't.
Random articles for further reading: https://en.wikipedia.org/wiki/Anders_Hejlsberg
https://en.wikipedia.org/wiki/Visual_J%2B%2B
http://content.time.com/time/subscriber/article/0,33009,9839...
https://en.wikipedia.org/wiki/Turbo_Pascal
https://stackoverflow.com/questions/8460037/list-of-delphi-l...
Look at which one is being used to this day to write essentially every modern operating system, and even the interpreters and compilers for other languages. JavaScript engines are written in C, not Pascal.
I think it obviously did lose, though judging from the moderation it clearly still has some fanatical followers.
Both Turbo Pascal and Object Pascal had so many extra non-standard and un-Pascal-like features that they were barely even the same language.
As I mentioned in another comment, allowing you to write bare assembly language inline wasn't exactly a feature of the original Wirth Pascal. The analogy I used at the time was that (Wirth) Pascal was like a pair of blunt-pointed kindergarten scissors, while C was more like a chainsaw. Borland added enough non-standard features to make it more like maybe a kitchen knife, but in the long run that still wasn't enough.
Which one? Unless you forgot to type ++.
In any case, it's not inc(Pascal), now, is it?
On what basis do you say this? Was Turbo Pascal, say, leagues ahead of Turbo C?
Arguably what saved Pascal/Object Pascal was the open-source projects of Free Pascal/Lazarus and PascalABC (popular in Russia). Plus there were huge fans of Turbo Pascal, who got it released as freeware, as Borland had switched to selling the Delphi IDE.
This combination (Free Pascal/Lazarus, freeware Turbo Pascal, PascalABC, etc...) of open-source freeware Pascal eventually put pressure on Embarcadero to release the free Delphi Community Edition (2018). That was 5 to 10 years late in the game. A lot of user base and previous strong fans had significantly diminished.
However, it does appear that Object Pascal has found a decent level, at presently between the top 15 to 20 programming languages (were it was between top 1 to 10 in the 80s and 90s). It is possible for Object Pascal to see a bit of a resurgence, based around the free open-source dialects of Pascal and Embarcadero's strong push to put Delphi in schools (example- Turkey bought 1 million licenses for their schools or South Africa replacing Java with Delphi).
var age : integer; pascal
var age int - Go
var age : int - Swift
var age = 52; - Dart
var age: Int = 10 Kotlin
Also the main reason behind the religous war in C++ of west const versus east const.
Microsoft now got a couple of top devs on their C++ team that are on east const, so while we have about 25 years of Microsoft documentation, code samples and libraries using west const, the C++/WinRT team is now pushing for east const everywhere.
https://stackoverflow.com/questions/2660633/declaring-pointe...