Live data from Hacker News

Ask HN: Why Did Pascal Fail?

news.ycombinator.com

101–110 of 168 posts

Re: Ask HN: Why Did Pascal Fail?

#101
post #83
post #74

Earlier quoted context omitted.

Wow, that is incredibly damning. Is it actually true that arrays of different lengths are different types, and there is no way to write generic array methods? And there's no way to cast byte arrays into structures? I almost can't believe it - a language without both features, and without any kind of escape hatche to me feels forever bound to be a toy language. But that would absolutely answer OP's question - it never…

Only if one only looks to the original Pascal language as means to sell their propaganda. All Pascal dialects, and the Extended Pascal standard that improved the original one, had the array of construct that allows you to query for the actual bounds. Type conversations were also available, again in all dialects. Naturally, those variants were ignored, as Kernighan had a message to sell.

> Naturally, those variants were ignored, as Kernighan had a message to sell.

Those variants were "ignored" because they largely didn't exist. Kernighan's essay was written in 1981. The first release of Turbo Pascal wasn't until 1983. The Extended Pascal standard wasn't released until 1990.

Re: Ask HN: Why Did Pascal Fail?

#102

The leading implementation was by Borland, which addressed most of the limitations of the language, and provided a solid compiler and IDE in Turbo Pascal, then Delphi. Borland started raising the prices of their compilers to the point that the hobbyist could no longer justify it, and market share fell accordingly. Since Turbo Pascal/Delphi was the only Pascal with a complete library, the fortunes of the language went…

Before that, there was a time when "most of the limitations of the language" had not been addressed. I had the misfortune to have to program in the language in that time, and it was painful. Part of the reason C took over the world and Pascal did not is that, in this time, C was much less annoying to use than Pascal.

Borland fixed that, and brought Pascal to parity with C. (Maybe even ahead of C, because Pascal had better type checking.) But then (or soon after), there were a variety of C compilers. Once Borland raised their prices, some of them were less expensive than Turbo Pascal. (Once gnu came out, some of them were free.)

Why was the original Pascal annoying to use? See Brian Kernighan's "Why Pascal Is Not My Favorite Programming Language". (Despite its reputation, it's not a hit piece. And, as someone who had to use the original, unextended Pascal, I can tell you that every word of it is true.)

Pascal was written by a university guy trying to create a teaching language. And he succeeded - it was a very good teaching language. C was written by a couple of lab guys trying to write real programs, not classroom exercises. Their language was better at that than Pascal was.

Re: Ask HN: Why Did Pascal Fail?

#103
post #83

Earlier quoted context omitted.

Only if one only looks to the original Pascal language as means to sell their propaganda. All Pascal dialects, and the Extended Pascal standard that improved the original one, had the array of construct that allows you to query for the actual bounds. Type conversations were also available, again in all dialects. Naturally, those variants were ignored, as Kernighan had a message to sell.

> Naturally, those variants were ignored, as Kernighan had a message to sell. Those variants were "ignored" because they largely didn't exist . Kernighan's essay was written in 1981. The first release of Turbo Pascal wasn't until 1983. The Extended Pascal standard wasn't released until 1990.

UCSD Pascal in 1977, Concurrent Pascal in 1974, DEC Pascal in 1981, and you can follow up in another dates here,

http://pascal.hansotten.com/

And then there is the detail that Modula-2 was released in 1978, exactly with the goal to fix all original Pascal issues for systems programming.

Re: Ask HN: Why Did Pascal Fail?

#104
post #37

Basically Turbo Pascal overshadowed all other Pascal dialects and then Borland got greedy, decided that Fortune 500 were going to be their main customers in detriment of the small dev shops. Additionally Anders got fed up with the ongoing culture and finally accepted the invitation of former ex-colleges to join Microsoft. So J++ was born, then .NET, and most of the folks on Windows just moved from Delphi into C#.

Borland/Inprise/Embarcadero with high and then prohibitive prices put multiple nails in the Pascal coffin, but it fate was predetermined even before this.

Pascal occupies roughly the same niche as C. C is the language in both Unix and DOS/Windows were written which defined it success.

C was chosen by Microsoft for DOS and later for Windows - using it for app development was the path of the least resistance (Visual C, then Visual Studio, API for C/C++, Documentation examples in C/C++).

C is the language of Unix, it was used for kernel, user-space and most 3rd party apps. History of open-source and Unix is connect. It's not an accident that the first open source compiler which become popular and widely used (GCC) was a C compiler.

Once C because "an official" language for both Unix and Windows Pascal had no chances.

Re: Ask HN: Why Did Pascal Fail?

#105
post #70
post #68

Earlier quoted context omitted.

While I appreciate the increased readability, I kind of like C being economical, in that it does not need all those pesky 'var', 'fn', etc. (On the other hand, I think C creators may have gone a bit too far with this when they decided that overloading the keyword 'static' was a good idea.)

It is so complex that people came up with tooling to actually understand when some devs go wild, https://cdecl.org/ 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…

Oh, and don’t forget the eternal holy war for the right asterisk/ampersand location! (SomeType* ptr vs. SomeType *ptr)

https://stackoverflow.com/questions/2660633/declaring-pointe...

Re: Ask HN: Why Did Pascal Fail?

#106
post #83
post #74

Earlier quoted context omitted.

Wow, that is incredibly damning. Is it actually true that arrays of different lengths are different types, and there is no way to write generic array methods? And there's no way to cast byte arrays into structures? I almost can't believe it - a language without both features, and without any kind of escape hatche to me feels forever bound to be a toy language. But that would absolutely answer OP's question - it never…

Only if one only looks to the original Pascal language as means to sell their propaganda. All Pascal dialects, and the Extended Pascal standard that improved the original one, had the array of construct that allows you to query for the actual bounds. Type conversations were also available, again in all dialects. Naturally, those variants were ignored, as Kernighan had a message to sell.

Kernighan wrote that in 1981. As late as 1988, I was (unwillingly) using an original, non-extended Pascal. Those were still out there, still being used.

And, all Pascal dialects had some construct. They had different constructs. If you wanted to be portable, you couldn't use any of them (until the Extended standard came out). Kernighan notes those extensions, but does not accept them as a solution because of their non-portability. You may think that he is more dismissive than he should be here, but at that time, C was considerably better on code portability.

And when you say that Kernighan was acting as a propagandist, I wonder whether you are being one. You certainly seem to have a message to sell when it comes to Pascal vs C...

Re: Ask HN: Why Did Pascal Fail?

#107
post #37

Basically Turbo Pascal overshadowed all other Pascal dialects and then Borland got greedy, decided that Fortune 500 were going to be their main customers in detriment of the small dev shops. Additionally Anders got fed up with the ongoing culture and finally accepted the invitation of former ex-colleges to join Microsoft. So J++ was born, then .NET, and most of the folks on Windows just moved from Delphi into C#.

Borland/Inprise/Embarcadero with high and then prohibitive prices put multiple nails in the Pascal coffin, but it fate was predetermined even before this. Pascal occupies roughly the same niche as C. C is the language in both Unix and DOS/Windows were written which defined it success. C was chosen by Microsoft for DOS and later for Windows - using it for app development was the path of the least resistance (Visual C,…

> C was chosen by Microsoft for DOS and later for Windows

Maybe for Windows (but then again, PASCAL was the supported language for the Apple Mac in the same timeframe), but MS had both PASCAL and C compilers for DOS. (And of course BASIC compilers, plus whatever weird stuff their Fox Pro thing was about. No it was not a hypertext browser, just some weird programming system that I can't find more info about.) The early Windows 16-bit ABI was rather influenced by PASCAL conventions, which introduced some awkwardness when trying to code to it from C.

Re: Ask HN: Why Did Pascal Fail?

#109
post #73

Earlier quoted context omitted.

> The contents of that post have not been relevant for decades. 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.

I'm not sure Pascal entirely lost due to just C. Borland's Turbo Pascal was quite popular and was broadly used in the mid 80s. Apple even used their own Object Pascal variant through-out the 80s. Pascal was primarily used for application development and for this case it was leagues ahead of C and C++. Turbo Pascal thrived up until Delphi was released in 1995, which then became the new lead Pascal. Unfortunately, Delp…

> Pascal was primarily used for application development and for this case it was leagues ahead of C and C++.

On what basis do you say this? Was Turbo Pascal, say, leagues ahead of Turbo C?

Re: Ask HN: Why Did Pascal Fail?

#110

I wonder if the name changes (Pacsal -> Modula -> Oberon) did damage to people’s perception in the 80s and 90s. Maybe they thought it was in decline when in reality the name just changed?

There were other changes in Wirth's languages besides the name; they were not clean extensions. Wirth even went back and forth on support for a few basic language constructs, perhaps unsure whether to go for a 'truly minimalistic' feature set or something a bit more ergonomic.
Post reply on HN