TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Why Did Pascal Fail?

75 pointsby 57844743385over 3 years ago
I’m puzzled.<p>A typed, compiled language easy to program.<p>Why did Pascal fade instead of growing?

34 comments

pjmlpover 3 years ago
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.<p>Additionally Anders got fed up with the ongoing culture and finally accepted the invitation of former ex-colleges to join Microsoft.<p>So J++ was born, then .NET, and most of the folks on Windows just moved from Delphi into C#.
评论 #28494441 未加载
评论 #28630191 未加载
评论 #28493648 未加载
评论 #28499962 未加载
mikewarotover 3 years ago
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.<p>Borland started raising the prices of their compilers to the point that the hobbyist could no longer justify it, and market share fell accordingly.<p>Since Turbo Pascal&#x2F;Delphi was the only Pascal with a complete library, the fortunes of the language went with it.<p>There is a fairly reasonable open source Pascal these days, the Free Pascal project, on top of which is built a GUI IDE, Lazarus. They try to maintain feature parity with Delphi, which is now far, far too expensive, they do a fairly good job with it.<p>It is possible to crank out a Windows GUI program in Lazarus pretty darned quickly. It&#x27;s my preferred programming environment to this day.
评论 #28494300 未加载
评论 #28493467 未加载
ToddWBurgessover 3 years ago
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.<p>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.<p>Speaking as myself, the problem was the ecosystem not the language per say. I think for most of us it isn&#x27;t even a contest between MS-DOS or Unix.
评论 #28491949 未加载
评论 #28492297 未加载
评论 #28493715 未加载
phendrenad2over 3 years ago
In the 1980s, Pascal was all the rage. The Apple Lisa and Macintosh programming manuals had two examples for every API call: Assembly language, and Apple Pascal.<p>But I think when Microsoft settled on C for Windows programming, Apple and others jumped on the bandwagon. And since the languages are actually very similar, I think that Pascal was mostly seen as irrelevant after that. It lacked a distinct niche apart from C.
throwaway81523over 3 years ago
Pascal had problems that kept users from doing anything useful with it. Real-world implementations included bypasses for the problems, but then they weren&#x27;t really implementing Pascal any more. Kernighan&#x27;s famous article &quot;Why Pascal Is Not My Favorite Programming Language&quot; explains more:<p><a href="http:&#x2F;&#x2F;www.cs.virginia.edu&#x2F;~evans&#x2F;cs655&#x2F;readings&#x2F;bwk-on-pascal.html" rel="nofollow">http:&#x2F;&#x2F;www.cs.virginia.edu&#x2F;~evans&#x2F;cs655&#x2F;readings&#x2F;bwk-on-pasc...</a>
评论 #28555234 未加载
评论 #28493250 未加载
评论 #28493273 未加载
igouyover 3 years ago
&gt; Why did Pascal fade instead of growing?<p>Poor brand management —<p>&quot;This was, of course, partially of Wirth&#x27;s own making&quot;. … &quot;He refrained from ... names such as Pascal-2, Pascal+, Pascal 2000, but instead opted for Modula and Oberon&quot;.<p>&quot;Pascal and its Successors&quot; 2002<p><a href="https:&#x2F;&#x2F;www.swissdelphicenter.ch&#x2F;en&#x2F;niklauswirth.php" rel="nofollow">https:&#x2F;&#x2F;www.swissdelphicenter.ch&#x2F;en&#x2F;niklauswirth.php</a>
评论 #28495706 未加载
abetuskover 3 years ago
You have to be careful by what you define as &quot;success&quot; and &quot;failure&quot;. Many&#x2F;most languages never really fail, they just become more and more niche.<p>So taking your question to be, why isn&#x27;t Pascal used as much as some of the other languages from antiquity, like C, sh&#x2F;bash&#x2F;ksh&#x2F;etc, or even Lisp, my opinion is that it was a combination of it being an &quot;old&quot; language and an interpreted language.<p>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).<p>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&#x27;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&#x2F;or were more feature rich in the programming language fads of those eras.<p>&quot;sh&quot; holds a kind of special place, as it&#x27;s the workhorse of interacting with Unix-like environments, so it became pretty well entrenched. If you look at a lot of the more &quot;modern&quot; 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 -&gt; Perl).<p>I don&#x27;t claim to have any deep knowledge so all this is my very biased and weak opinion.<p>[0] <a href="https:&#x2F;&#x2F;ccrma.stanford.edu&#x2F;courses&#x2F;250a-fall-2005&#x2F;docs&#x2F;ComputerLanguagesChart.png" rel="nofollow">https:&#x2F;&#x2F;ccrma.stanford.edu&#x2F;courses&#x2F;250a-fall-2005&#x2F;docs&#x2F;Compu...</a>
评论 #28491804 未加载
评论 #28491920 未加载
marcodiegoover 3 years ago
Pascal did not fail. It was quite a succesful learning language. To illustrate algorithms, it was not much better than C; as a system language it was much worse. So, it was replaced.
nabla9over 3 years ago
Programming languages have network effects. More popularity -&gt; more utility. Popularity of language is not determined rationally.<p>C had small edge in utility at first, then it ballooned into huge base of programmers. Familiar syntax can sell completely new language with different semantics. Choosing syntax from C has lead to success of C++, Java, JavaScript, JSON, ... despite completely different semantics.<p>Pascal and successors Modula Oberon and Ada with similar syntax features did not succeed. It had little to do with language features, ease to learn (except surface syntax) or semantics.
评论 #28490987 未加载
Torwaldover 3 years ago
One of the factors was Microsoft. The rival Borland was big on Pascal with the venerable Turbo Pascal.<p>During the years where the mainstream office business landscape transitioned from DOS to OS&#x2F;2, no wait, Windows, broadly speaking there where two types of application programmers. Those that used C or C++ and those that didn&#x27;t.<p>For the later camp MS promoted various flavours of Basic, which also had to do with Office and scripting an Works for DOS etc. But I suspect it was also a &quot;theological&quot; battle against Borland.<p>On the other platforms Pascal was succesful, but the Amiga and the Atari tanked. The Macintosh escaped that destiny barely. Maybe Swift is the new Pascal?
评论 #28491825 未加载
debo_over 3 years ago
It was under too much pressure.<p>(Measurement unit joke.)
评论 #28492316 未加载
renoxover 3 years ago
Lack of portability: the &#x27;standard&#x27; Pascal was very limited and each implementation added its own incompatible extension. So when a free C compiler was released..
评论 #28491921 未加载
评论 #28493701 未加载
danielscrubsover 3 years ago
I can tell you which ridiculous reason I chose to switch to C++ after I&#x27;d learnt C++: begin and end felt less &quot;elite&quot; than {}... I was 12 at the time, don&#x27;t judge.<p>Still... when I see Lua, Visual Basic or Julia even now I think: this is not going to make it, it doesn&#x27;t stroke the programmers ego. I&#x27;ll be happy to be proven wrong.
pornelover 3 years ago
I&#x27;ve tried it in the early &#x27;90s when I was a noob. I couldn&#x27;t get a simple program to work due to limitations of max 255-byte strings and fixed-length arrays. Google and StackOverflow didn&#x27;t exist back then, so that was it. I went back to my pile of shareware floppies and found another language.
Viliam1234over 3 years ago
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.<p>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 didn&#x27;d support some simple functionality I had to write in assembler, such as detecting when a key is pressed and when it is released (how can you write an action game without this?), or using 256 colors (the standard library supported 16 colors at most).<p>The &quot;smart&quot; marketing move to rename a successful product and company to something obscure also didn&#x27;t help. Why not call it &quot;Visual Pascal&quot; instead?
评论 #28494936 未加载
评论 #28492328 未加载
评论 #28491856 未加载
评论 #28491961 未加载
clouddroverover 3 years ago
Fashion as much as anything. A lot of people have the idea that Pascal is somehow not &quot;modern&quot;, but these same people almost universally haven&#x27;t used it lately or even at all.<p>Mostly companies just want to use what everyone else is using to ensure there&#x27;s broad support and to make individual programmers easier to hire and fire.<p>But there&#x27;s nothing stopping you from using it now if you want to. Personally, I quite like Object Pascal.<p>Free Pascal: <a href="https:&#x2F;&#x2F;www.freepascal.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.freepascal.org&#x2F;</a><p>Lazarus: <a href="https:&#x2F;&#x2F;www.lazarus-ide.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.lazarus-ide.org&#x2F;</a><p>Delphi: <a href="https:&#x2F;&#x2F;www.embarcadero.com&#x2F;products&#x2F;delphi" rel="nofollow">https:&#x2F;&#x2F;www.embarcadero.com&#x2F;products&#x2F;delphi</a>
评论 #28491104 未加载
tjrover 3 years ago
<a href="http:&#x2F;&#x2F;www.lysator.liu.se&#x2F;c&#x2F;bwk-on-pascal.html" rel="nofollow">http:&#x2F;&#x2F;www.lysator.liu.se&#x2F;c&#x2F;bwk-on-pascal.html</a>
评论 #28491346 未加载
评论 #28491185 未加载
评论 #28497797 未加载
评论 #28491863 未加载
andrewlaover 3 years ago
Pascal represented a worse compromise between to-the-metal programming and structured programming concepts than C did.<p>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.
ardit33over 3 years ago
ADA is its spiritual successor, which is still being used in some industrial&#x2F;military applications. (Turbopascal not counting, as it is the same as Pascal).<p>I learned Pascal in High Scool, in 98, where it was taught as a &#x27;learning language&#x27;. Something to learn intro into programming and basic CS concepts, but then to move on into other languages for real work.<p>So, even in the 90s, it was not thought as a production level language. ADA was at the time, and of course Java was coming up in the scene as a replacement for C++ which was the default &#x27;large programs&#x27; language.<p>Python and PHP were just starting to take off as the web was becoming popular.<p>Once the dust settled, ADA remained a niche language, and Pascal pretty much disappeared from school settings, as either Python or Java became the default languages for intro to programing.
评论 #28498016 未加载
TomMaszover 3 years ago
Pascal was <i>the</i> teaching language in the early 80s. I had compilers available for the IBM 370 (VM&#x2F;CMS), the VAX (VMS) and even cross-compilers for bare metal MC68000 and PDP&#x2F;11. Early Macintosh development used Pascal (though it wouldn&#x27;t run on the earliest Macs) It wasn&#x27;t ideal for every use, and Prof. Wirth, an academic, basically left extending the language to the compiler vendors.<p>Now I&#x27;m teaching freshman software engineering students and we use Python. I personally like it but some of it is pretty idiosyncratic. It&#x27;s going to be a more difficult transition from Python to compiled languages like C&#x2F;C++ than it was for Pascal. The big difference is Python is used in the industry, so knowing it is worth more than knowing Pascal back in the day.
评论 #28497712 未加载
karteumover 3 years ago
I wouldn&#x27;t say Pascal completely &quot;failed&quot;. e.g. Delphi was quite popular at some point.
评论 #28492014 未加载
评论 #28497845 未加载
airbreatherover 3 years ago
Studying electrical engineering starting 1985 our school used Pascal for first year and then ran with Modula 2 for subsequent years. In those days we were mostly on time share Vaxen, even as EE students only maybe 20% of students had any kind of PC or real computer at home.<p>As of now I can&#x27;t remember exactly why, but it seemed obvious to me at the time C was the place to be going forwards, maybe because I was working part time doing embedded design, or I had turbo C and a copy of Microsoft C fell my way, I can&#x27;t really remember, but I do remember feeling that Pascal and Modula 2 were both a relative dead end when it came to useful skills for future employment.
评论 #28492318 未加载
znpyover 3 years ago
Another reason is because Unix took over, and Unix had a very close relationship to the C language, itself being written in C.
评论 #28493849 未加载
sally1620over 3 years ago
Pascal didn&#x27;t fail, it was replaced by C. Both Microsoft (with WinNT) and Apple (with NextStep) left Pascal behind in the 1990s in favor of C to compete with other Unixes of the time. At the end of 90s, the only steward of Pascal was Borland; and Borland failed, and Pascal was forgotten.
GnarfGnarfover 3 years ago
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&#x2F;herself in the foot, get in the way when writing production code?
评论 #28497939 未加载
mrbonnerover 3 years ago
I learned programming in my teenage age with Pascal. Sometimes I wonder about this too: typed, compiled, no garbage col, pointer arithmetic. With TUrbo Pascal I have the entire IDE and a compiler in single floppy.
guidoismover 3 years ago
I wonder if the name changes (Pacsal -&gt; Modula -&gt; 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?
评论 #28497889 未加载
评论 #28494839 未加载
Tozenover 3 years ago
Pascal didn&#x27;t &quot;fail&quot;, it became Object Pascal. That is Pascal with classes, like C++ (originally C with classes), which is adding OOP.<p>Object Pascal is a hybrid language, having an even tighter relationship to Pascal than does C++ to C. You can easily write it without using OOP or classes (or newer things like generics), so that it closely resembles the ISO 1983 or 1990 Pascal.<p>Pascal is still widely used (categorized as a top 15 to 20 language). That it is not as popular as certain corporate backed C family languages (C# or Java), doesn&#x27;t mean failure. Saying Pascal &quot;failed&quot;, is very deceptive language or arguably having an agenda. That would be like saying Go, Rust, or Swift &quot;failed&quot; because they aren&#x27;t as popular as C# or Java (with the big corporate money behind it). Keep in mind that Object Pascal is as or more popular than those languages.<p>Object Pascal was created and used by Apple in the 80s and 90s (used for OS and app development). They preferred Object Pascal over C (does that mean C &quot;failed&quot;). The reason Apple dropped Object Pascal years later for a combination of C++ and Objective-C was partly because they moved from the Motorola 68000 chips to IBM&#x27;s PowerPC and partly because Symantec&#x27;s (Think Pascal) and Metrowerks (CodeWarrior) Object Pascal products had beat Apple&#x27;s Macintosh Programmer&#x27;s Workshop Pascal compiler in the market. As part of a series of consolidation and strategic moves, Apple moved on to Project Builder IDE that was developed by NeXT (who they bought) and began preferring Objective-C (does that mean C++ &quot;failed&quot;). After the move to PowerPC, a lot of Mac developers were using Metrowerks Object Pascal compiler (CodeWarrior) to port and develop applications. Borland&#x27;s Turbo Pascal joined the party for a time, but was more successful on Windows. Use of CodeWarrior&#x27;s Pascal compiler for Macs continued until around 2000 or so.<p>Object Pascal was used in IDEs and compilers by many companies in the 80s and 90s, among them is Borland (then later to Embarcadero) which shipped Turbo Pascal and Delphi (both very successful well known products) and it was quite popular in the 90s and early 2000s. During this time period, Pascal and then Delphi (the name of the IDE using Object Pascal) was often rated between 1 to 10 in language popularity. Many would say that is success.<p>Arguably the reduction in use and popularity comes from mishandling by Borland, who got way too greedy, and started charging extravagant prices beyond anything normal people could afford. They abandoned their common user base for enterprise customers, along with getting into an all out corporate war with Microsoft (who appears to have been trying to get rid of competitors on their OS going against Visual Basic and used for app development). This battle concluded with Microsoft picking off Borland&#x27;s top engineers (including Anders Hejlsberg, who created C#), and Borland being bought by Embarcadero. However, years later, things have &quot;stabilized&quot; with Embarcadero releasing a free Community Edition of Delphi. Along with Free Pascal&#x2F;Lazarus (a compiler originally written with Turbo Pascal by the way in 1997) slowly becoming more well known, to include Oxygene (Rem Object&#x27;s Pascal IDE) and PascalABC (numerous YouTube videos in Russian on it) also starting to appear more on the common radar.<p>Delphi (has academic licenses) and Turbo Pascal (which is freeware now) was and is still used for teaching students their first programming language in various schools, depending on country. PascalABC (open-source) has been taught in Russian schools since the early 2000s. Free Pascal&#x2F;Lazarus (open-source) has also been popping up in various school systems around the world as well.<p>Object Pascal has many dialects. Most notable: Delphi (Embarcadero), Oxygene (Rem Objects), Smart Pascal (transpiles to JavaScript), Free Pascal&#x2F;Lazarus (open-source), PascalABC (open-source and .NET), and DWScript (open-source).
keithnzover 3 years ago
or even nicer was modular 2. But natively, *nix and windows were C bindings, turbo pascal and delphi were the closest for pascal to be popular, but embedded systems also started going C, then C++ came along and OO was supposed to be a magic solution, and object pascal was a late response to the OO phase.
评论 #28492002 未加载
mtk0over 3 years ago
when did pascal stop including the array size as part of the array data type?
评论 #28491830 未加载
throw_m239339over 3 years ago
100% Licensing, just like Smalltalk, Rebol, ADA, D at the beginning and countless other proprietary languages.<p>Microsoft tech stack is the exception, but it&#x27;s because Microsoft controls Windows the OS.
评论 #28493780 未加载
Koshkinover 3 years ago
#define begin {<p>There you have it.
leashlessover 3 years ago
C was faster. It&#x27;s that simple. Computers were extremely tiny in those days.
评论 #28491954 未加载
评论 #28492248 未加载
评论 #28495064 未加载
评论 #28491858 未加载
评论 #28492284 未加载
zozbot234over 3 years ago
&gt; A typed, compiled language easy to program.<p>The thing about these early language designs is that it&#x27;s really only their &quot;toy&quot; language subset that&#x27;s truly easy to program. Once you try and extend a comparatively simple language like PASCAL to deal with all the complexities of truly large-scale software development you end up with something not unlike ADA, where the verbose syntax just gets in the way of surveying a complex program effectively.<p>I think Go and Rust both made very good syntactical choices in picking just a handful of very short mnemonic keywords (and symbols like {}) for things that simply have to be foundational language features, while making longer names fully idiomatic for identifiers that are defined in the code.<p>Of course the PASCAL language family makes very different choices here (as do other languages, such as COBOL and BASIC). I&#x27;m not saying it wouldn&#x27;t be cool in some way to see a language design with e.g. a Rust-like featureset and PASCALish syntax; I just don&#x27;t think it would ultimately be easy to learn and use practically.
评论 #28496377 未加载