Live data from Hacker News

Ask HN: Why Did Pascal Fail?

news.ycombinator.com

161–168 of 168 posts

Re: Ask HN: Why Did Pascal Fail?

#161

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 b…

This assessment of the situation between C and Pascal appears very distorted.

Below is a "blow by blow" comparison of C VS Pascal, using a 1989 version of C versus a 1982 version of Pascal (thus excluding Turbo Pascal and Apple's Pascal). With C being the later version, Pascal still compared favorably.

https://en.wikipedia.org/wiki/Comparison_of_Pascal_and_C

Furthermore, Pascal evolved into Object Pascal (created by Apple in 1986, from a forerunner named Clascal in 1983). Borland very soon afterwards (also 1986) added similar Object Pascal extensions to their Turbo Pascal.

Arguably Apple's Object Pascal and Borland's Turbo Pascal from the late 80s were the more feature rich and versatile language from that point, where only C++ could kind of compare (and it would have to play catch up). C# (born 2000) and Java (born 1995) didn't exist yet. If they compared the Object Pascal of 1989 to the C of 1989, a good case would be made for Pascal domination.

Here is a highly restrictive comparison of Object Pascal versus C (using C99). Object Pascal is very much comparable to both C and C++ combined. https://en.wikipedia.org/wiki/Comparison_of_Object_Pascal_an...

In regards to Brian Kernighan, it was a "hit piece". That paper had AT&T behind it (that's a smoking gun), where C and C++ were created. AT&T was actively competing against and trying to push Pascal out of the way.

It was also AT&T that pushed the C and C++ language dominance in the market, because they were behind Unix too. At that time, AT&T was one of the biggest companies in the world. As an American company, they had critical relationships and connections with other American tech companies, as well as lots of money. Something a single Swiss computer scientist (Wirth) didn't.

Niklaus Wirth, creator of Pascal and consultant on the Object Pascal creation team, has stated many times he embraced Pascal being used commercially too. His goal was both a well structured language for teaching and business.

Re: Ask HN: Why Did Pascal Fail?

#162
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 practice…

Some very good points.

Re: Ask HN: Why Did Pascal Fail?

#163
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…

Very true, Borland didn't pivot, they found a buyer (Embarcadero) and the top executives got paid. Then Embarcadero had to get their money, so Delphi prices kept getting raised higher. Totally out of the price range of normal users or independent developers.

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

Re: Ask HN: Why Did Pascal Fail?

#164
post #145
post #46

Earlier quoted context omitted.

Pascal was super popular for applications development on the original 68k Macs, Amigas and Atari ST's. I don't know if these machines fall into your "extremely tiny" envelope but we're talking 68000 @ 7 MHz with usually 512K or maybe 1M of RAM. A little later, Turbo Pascal ran like greased lightning on a 386 or 486 box. There was really nothing else like it, which is partly why it enjoyed such immense popularity.

Macs were never programmed in Pascal, but in a variant dialect called Object Pascal. Turbo Pascal compiled fast. The generated code ran at more or less the same speed as output of random other compilers.

The line between Pascal and Object Pascal is very small. Some people might be thinking of the relationship between C and C++, but it is a different situation with Pascal and Object Pascal.

Object Pascal is an extension of Pascal. For instance, many of Apple's Object Pascal extensions were incorporated into Turbo Pascal. From Turbo Pascal version 5.5 and up, it is Borland's version of Object Pascal. You can use Objects and do OOP in Turbo Pascal.

Re: Ask HN: Why Did Pascal Fail?

#165
post #35
post #20

One of the factors was Microsoft. The rival Borland was big on Pascal with the venerable Turbo Pascal. During the years where the mainstream office business landscape transitioned from DOS to OS/2, no wait, Windows, broadly speaking there where two types of application programmers. Those that used C or C++ and those that didn't. For the later camp MS promoted various flavours of Basic, which also had to do with Offic…

While you do have a point, Microsoft also sold a Pascal compiler for many years so it's not exactly like they were on a crusade against the language: https://en.wikipedia.org/wiki/Microsoft_Pascal When they tried competing with Turbo Pascal, they initially didn't do it by trying to crush it with QuickBasic or QuickC but by introducing QuickPascal, which was source compatible with Turbo Pascal: https://winworldpc.com/…

Actually, the record shows that Microsoft did very much try to crush Borland. While Microsoft did initially offer QuickPascal and embraced it (had no choice because of Pascal's popularity), Borland crushed them with Turbo Pascal 5.5 (1989) that had their version of Apple's Object Pascal (created in 1986) extensions. From Turbo Pascal 5.5 and up, it was using Borland's version of Object Pascal.

Note, C++ took a bit to take off, so didn't start to go toe to toe with Pascal until around 1992. C++ didn't get ISO until 1998. C# didn't happen until 2000. So Borland and Pascal were a thorn to Microsoft for years, not to mention Java (1995) and Sun.

Borland was eventually forced to sue Microsoft for unfair competitive practices. Microsoft was arguably playing dirty, and hired away many of Borland's top engineers. This included the creator of Turbo Pascal, Anders Hejlsberg. Who then Microsoft had him create C#, along with other ex-Borland engineers. In addition, there was all kinds of allegations during the 90s about Microsoft blocking or hiding APIs from Borland and negatively affecting their software.

Re: Ask HN: Why Did Pascal Fail?

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

This is not true, many variants of Pascal existed, prior to Kernighan's essay. Significant ones like Apple Pascal (1979) or DEC's VAX-11 Pascal (1979).

https://vintageapple.org/apple_ii/pdf/Apple_Pascal_1980.pdf http://www.bitsavers.org/pdf/dec/vax/lang/pascal/AA-H485A-TE...

Look in the acknowledgement section of his essay, and no clarification is given to the extent of research on other variants of Pascal outside of the original Pascal of 1973, and references to documents such as "An Assessment of the Programming Language Pascal" of 1975, and "Pascal User Manual and Report" of 1978. Those documents were ISO/IEEE related, to help promote an ISO standard of Pascal, versus businesses using Pascal in the commercial space like Apple and DEC (later Compaq) were doing (both major companies).

Further damning of the type of assessment that Kernighan was engaging in, was him referencing other AT&T Bell Lab comparisons between C and Pascal.

AT&T is not an innocent 3rd party, but where C and C++ were created and having a huge interest in pushing those languages, along with Unix in business and universities (which they did).

Kernighan's essay (on 1970s era Pascal), should have been seen as biased and influenced by or promoting the commercial interests of AT&T (promoting their C and Unix). It should not have been taken seriously by anyone beyond 1989, where Pascal became Object Pascal. Apple created Object Pascal in 1986 (in consultation with Niklaus Wirth), and then Borland added Object Pascal extensions to the very successful Turbo Pascal 5.5 (allowing it to do OOP too). Nearly everything in his paper was clearly and already addressed by 1989 and even various ones when he published it in 1981.

Kernighan also had plenty of time to retract or update the statements he made in his "hit piece" paper, to reflect on the ISO 1990 Pascal or the commercially used variants of Pascal such as Object Pascal. Yet, he never did so. Comparatively, it's not like C or C++ stayed the same language as it was in the 1970s, so it shouldn't be expected that Pascal is suppose to not change.

Re: Ask HN: Why Did Pascal Fail?

#167

Earlier quoted context omitted.

> 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 earl…

History of FoxPro https://en.m.wikipedia.org/wiki/FoxPro a dBase III competitor

That link sent me to a 30-minute nostalgia tour around its successor, Visual Fox Pro - a tool I needed to use at my first job.

Re: Ask HN: Why Did Pascal Fail?

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

> Additionally Anders got fed up with the ongoing culture and finally accepted the invitation of former ex-colleges to join Microsoft.

The wording here makes it almost sound like reluctance, but wasn't there a rather substantial signing bonus to go along with that?

Post reply on HN