Live data from Hacker News

Ask HN: Why Did Pascal Fail?

news.ycombinator.com

91–100 of 168 posts

Re: Ask HN: Why Did Pascal Fail?

#91

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…

This. I think Pascal was great but C just offered more. Especially when C++ came around and stole all the mindshare.

If you were on Borland tooling, we always had access to best of both worlds.

Re: Ask HN: Why Did Pascal Fail?

#92
post #73

Earlier quoted context omitted.

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…

> I'm not sure Pascal entirely lost due to just C. Borland's Turbo Pascal was quite popular 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 Turb…

> JavaScript engines are written in C, not Pascal.

Which one? Unless you forgot to type ++.

Re: Ask HN: Why Did Pascal Fail?

#93

100% Licensing, just like Smalltalk, Rebol, ADA, D at the beginning and countless other proprietary languages. Microsoft tech stack is the exception, but it's because Microsoft controls Windows the OS.

Same thing on Apple and Google platforms, not only Microsoft.

That is why learned to stick with platform vendor stacks instead of third party languages.

As long as the platform remains relevant the languages will stick around, e.g. Objective-C and Android Java, they might be "deprecated" but removing them would just kill the whole platform.

Re: Ask HN: Why Did Pascal Fail?

#94
post #71

Earlier quoted context omitted.

As far as I remember, Pascal admitted single-pass analysis. Such languages are especially amenable to being interpreted, i.e. immediately translated into executable actions (vs. some sort of bytecode).

I'm not familiar with "single-pass analysis", but I do know that Pascal can be compiled with a single pass recursive descent compiler, which made Turbo Pascal orders of magnitude faster than any other compiler at the time. In an era when C programmers could have coffee while waiting for things to compile, a pascal program hit enter, saw the results, and moved on.

C was also designed for single-pass compilation. Among many other things that people now dislike about C, this is why C requires forward declarations.

C compilers became slow because of the optimizations they accreted. Plus, I imagine it just wasn't a priority for the vendors in the way it was for Borland Pascal. I'm curious how the Borland C compiler compared in speed to their Pascal compiler and to other C compilers.

Re: Ask HN: Why Did Pascal Fail?

#95

I used Turbo Pascal a lot as a teenager. Then I switched to Java and never looked back. For me the main reason was garbage collection. String size was limited to 255 (non-Unicode) characters, array size needed to be specified at compile time, everything beyond this required manually allocating and unallocating memory... okay for school projects, but too much work for anything more complicated. The standard library di…

> array size needed to be specified at compile time This also holds true for C until C99, I think.

C had `malloc` and (real) pointers pretty much from day 1, and allows you to treat the result of `malloc` as an array.

Pascal's `new` did not let you do this, as I recall (it didn't even allow you to allocate a chunk of memory of arbitrary size... meaning that you can write `malloc` in C, but you can't write `new` in Pascal -- edit: before someone starts jumping on me with the claim that "Golly-Gee-Whiz Pascal '92" lets you do this, I am talking about Pascal, the language as designed by Niklaus Wirth, not about some bastardized non-standard extension. And yes, I fully concede that arbitrary pointers are dangerous, and are prone to producing nasty bugs. They also provide a whole lot of power).

Re: Ask HN: Why Did Pascal Fail?

#96
post #52

C was faster. It's that simple. Computers were extremely tiny in those days.

Along those lines... on MS-DOS/x86, memory model support in (Turbo) Pascal was less flexible than in Turbo C (1.0) during the first years when those toolchains were competing and gaining critical mass: TP 3.0 generated COM files (near code, near data, far heap-allocated data). TP 4.0 generated EXE files (far code, near data, far heap-allocated data). (the above is "to the best of my recollection": I no longer have th…

Apparently you missed the whole TP 5.0, 5.5, 6.0, 7.0 and TPW 1.5 offerings.

And Turbo C 2.0 was quickly replaced by Turbo C++.

Re: Ask HN: Why Did Pascal Fail?

#97
post #14

Another reason is because Unix took over, and Unix had a very close relationship to the C language, itself being written in C.

Both Microsoft and Apple switched to C long before they became actual Unix (i.e., Apple with OS X) or even had a POSIX API (Microsoft).

Re: Ask HN: Why Did Pascal Fail?

#98
post #87
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.

Thanks for clearing that up

Here is Object Pascal for Mac OS,

https://www.folklore.org/StoryView.py?project=Macintosh&stor...

http://preserve.mactech.com/articles/mactech/Vol.02/02.12/Ob...

Re: Ask HN: Why Did Pascal Fail?

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

> and then Borland got greedy, decided that Fortune 500 were going to be their main customers in detriment of the small dev shops. AIUI, that only happened very recently, well past the C# thing and perhaps only after the change from Borland to Embarcadero. For a long time, Delphi was actually a very reasonably accessible and effective competitor to Visual Basic.

You missed a decade in between.

https://www.computerworld.com/article/2589416/inprise-to-cha...

Re: Ask HN: Why Did Pascal Fail?

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

> and then Borland got greedy, decided that Fortune 500 were going to be their main customers in detriment of the small dev shops. AIUI, that only happened very recently, well past the C# thing and perhaps only after the change from Borland to Embarcadero. For a long time, Delphi was actually a very reasonably accessible and effective competitor to Visual Basic.

They were "Inprise" for a while in there, too. I think the "Inprise" crap was where they took their finger off the button. "Sure, let's drop a name that pretty much every working programmer associates with quality tooling and start using a bland, corporate-speak name that no one has ever heard of. What could possibly go wrong?"

Inprise sounds like a name out of Mike Judge's Office Space.

They eventually figured this out and changed back to Borland, but by then it was too late.

Post reply on HN