Live data from Hacker News

Ask HN: Why Did Pascal Fail?

news.ycombinator.com

21–30 of 168 posts

Re: Ask HN: Why Did Pascal Fail?

#21
post #7

Fashion as much as anything. A lot of people have the idea that Pascal is somehow not "modern", but these same people almost universally haven't used it lately or even at all. Mostly companies just want to use what everyone else is using to ensure there's broad support and to make individual programmers easier to hire and fire. But there's nothing stopping you from using it now if you want to. Personally, I quite lik…

I think your first link [freepascal.org] speaks volumes. I clicked on it and was taken to a page which looked like it was stuck in a 1990s timewarp. Opened it on my phone and, as expected, no concessions to mobile layout at all. Just that massive page of text rendered in microscopic size on my phone screen. Back to the site on my laptop and I look for the two things I want to see up front when deciding whether I'm in…

> I clicked on it and was taken to a page which looked like it was stuck in a 1990s timewarp. Opened it on my phone and, as expected, no concessions to mobile layout at all. Just that massive page of text rendered in microscopic size on my phone screen.

Sure, maybe check https://cppreference.com/ on your phone too. C++ is a popular language and has modern updates all the time, as you can see on that very site, yet the top reference site has a non-responsive design arguably "stuck in 1990s".

Judging an old and mature project by whether its website design is updated to 2020s is shallow.

Re: Ask HN: Why Did Pascal Fail?

#22
post #4

http://www.lysator.liu.se/c/bwk-on-pascal.html

Although an interesting reading from Kernighan in the temporal and industry context (let us remember he worked for years building UNIX, the greatest reason C still survives, and published the reference C book), it is also interesting to see that at least six of his arguments against Pascal (namely, 1, 2*, 5, 6, 8*, 9, where only part of the arguments 2 and 8 should be considered) are actually considered best practices nowadays, and are related to type safety and functional programming.

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...

Re: Ask HN: Why Did Pascal Fail?

#23
Pascal was conceived as a language for learning programming, which I gather it does well. Perhaps the very features that prevent a student from shooting him/herself in the foot, get in the way when writing production code?

Re: Ask HN: Why Did Pascal Fail?

#24
Pascal represented a worse compromise between to-the-metal programming and structured programming concepts than C did.

Now, arguably, you would say that some of the abstractions offered were reasonable tradeoffs, but at the time, things like the nature of strings and the second class support for pointers and the difficulty of (and awkward syntax for) memory management meant that it was fundamentally limited in applicability.

Re: Ask HN: Why Did Pascal Fail?

#25
post #7

Fashion as much as anything. A lot of people have the idea that Pascal is somehow not "modern", but these same people almost universally haven't used it lately or even at all. Mostly companies just want to use what everyone else is using to ensure there's broad support and to make individual programmers easier to hire and fire. But there's nothing stopping you from using it now if you want to. Personally, I quite lik…

I think your first link [freepascal.org] speaks volumes. I clicked on it and was taken to a page which looked like it was stuck in a 1990s timewarp. Opened it on my phone and, as expected, no concessions to mobile layout at all. Just that massive page of text rendered in microscopic size on my phone screen. Back to the site on my laptop and I look for the two things I want to see up front when deciding whether I'm in…

Please give it your best effort to manage your emotions. Your title makes you come off as ungrateful, presumptuous, and oblivious to the point the parent commenter was trying to share. While your comment had necessary helpful detail, the delivery negates all willingness to assimilate the data you are so painstakingly delivering.

Do better! Be better! Let's start over again on a different foot.

Re: Ask HN: Why Did Pascal Fail?

#27
post #21
post #7

Earlier quoted context omitted.

I think your first link [freepascal.org] speaks volumes. I clicked on it and was taken to a page which looked like it was stuck in a 1990s timewarp. Opened it on my phone and, as expected, no concessions to mobile layout at all. Just that massive page of text rendered in microscopic size on my phone screen. Back to the site on my laptop and I look for the two things I want to see up front when deciding whether I'm in…

> I clicked on it and was taken to a page which looked like it was stuck in a 1990s timewarp. Opened it on my phone and, as expected, no concessions to mobile layout at all. Just that massive page of text rendered in microscopic size on my phone screen. Sure, maybe check https://cppreference.com/ on your phone too. C++ is a popular language and has modern updates all the time, as you can see on that very site, yet th…

To be fair; the real comparisons they're making are to things like Ruby, Rust, Python, etc. These are all languages that have done extraordinary jobs at evangelism and at setting up communities that are structured to have friendly, non-adversarial cultures. It's not an accident that these languages have become obscenely popular.

The "design" in terms of how it looks is, as you say, irrelevant. The "design" in terms of what information is conveyed, is deeply flawed in the sense that it's excellent for anyone who's already using the compiler - and completely useless for someone swinging by wondering about getting into Pascal in 2021. I.e. "preaching to the choir", as they say.

A fair amount of why websites started to also look different over time, is they structurally altered themselves to convey additional information. For example, a lot of programming language/compiler sites have images at the top now giving "strangers" a quick glimpse at the syntax.

It's all about crafting your website so it's useful to complete strangers, rather than only useful to the existing in-crowd.

Re: Ask HN: Why Did Pascal Fail?

#28
As someone who started their computer science studies with Pascal and then switched to C (I use C for comparison because it was the dominant programming language in 1990s computer science programs) , I can say that C just offered more to the aspiring software developer. For most people who coded in the 90s Pascal meant Turbo Pascal. While the language itself was great, MS-DOS where it ran not so much.

Especially when you compared MS-DOS to Unix (I say Unix because this was before Linux was dominant) systems which most computer science students were being introduced to at the time. With C you got access to all the Unix dev tools and you could do Unix systems programming. I think too a lot of young computer science students go through a phase of all things difficult are good and C on Unix made for a great learning opportunity.

Speaking as myself, the problem was the ecosystem not the language per say. I think for most of us it isn't even a contest between MS-DOS or Unix.

Re: Ask HN: Why Did Pascal Fail?

#30
You have to be careful by what you define as "success" and "failure". Many/most languages never really fail, they just become more and more niche.

So taking your question to be, why isn't Pascal used as much as some of the other languages from antiquity, like C, sh/bash/ksh/etc, or even Lisp, my opinion is that it was a combination of it being an "old" language and an interpreted language.

If you take a look at a timeline of programming language creation and usage [0], you see only a few compiled languages from before the 1980s survived and pretty much no interpreted languages did. The interpreted languages that did survive were mostly created in the late 1980s or early 1990s (Perl, Ruby, Python, Javascript).

I kind of take this to mean that the programmer productivity gained from interpreted languages was overshadowed by the computational speedup from their compiled counterparts during the pre 1980s time. When computer's computational speed finally caught up so that interpreted languages made more sense, Pascal was now 20+ years old and was overshadowed by the newer interpreted languages that took advantage of newer ideas in programming language design and/or were more feature rich in the programming language fads of those eras.

"sh" holds a kind of special place, as it's the workhorse of interacting with Unix-like environments, so it became pretty well entrenched. If you look at a lot of the more "modern" interpreted languages, you can see a lot of them were meant to supplant or complement tools specific to the command line or the command line itself (e.g. AWK -> Perl).

I don't claim to have any deep knowledge so all this is my very biased and weak opinion.

[0] https://ccrma.stanford.edu/courses/250a-fall-2005/docs/Compu...

Post reply on HN