5 ms·
What caused pascal to lose out to C? Seems like it was a good language that had developer uptake.
by aswanson 9y ago
What caused pascal to lose out to C? Seems like it was a good language that had developer uptake.
- jhbadger 9y ago1) The popularity of UNIX where C was the standard language 2) The fact that, much like BASIC, most implementations of the language didn't follow the standard. In practice, Turbo Pascal was more of a standard than the official one.
- detaro 9y agoWasn't the latter part just as true for early C?
- jhbadger 9y agoThere certainly were/are differences across platforms in C (hence config scripts), but for the most part those aren't issues with the language itself but with the supplied libraries.
- pjmlp 9y agoOh the joys of writing portable code across Aix, HP-UX, Solaris using their own compilers, using a mix of K&R and ANSI C. Many computers just had something like Small-C available.
- AnimalMuppet 9y agoEven using GCC it could be a problem. Aix would want a different type for this function call, Solaris for that function call, Linux for this other function call. We had #ifdefs around a lot of variable declarations. Fortunately, we were at least all ANSI.
- rpeden 9y agoIt was more than just the popularity of Unix. A while back, I ended up following a link on HN and reading a bunch of old computer magazines. I came across an article by Peter Norton (in PC Magazine) from around 1986 or 87. In it, he discussed why C was rapidly displacing Pascal among DOS programmers. Not that Unix didn't have an effect, but as DOS and then windows exploded in popularity in the 80s, C displacing Pascal there played a big role in Pascal's overall decline vs C. edit: I think this is the article I'm thinking of: https://books.google.ca/books?id=NZrPkWywRXgC&pg=PA75&lpg=PA75#v=onepage&q&f=false https://books.google.ca/books?id=NZrPkWywRXgC&pg=PA75&lpg=PA...
- pjmlp 9y agoIn those days without Internet and expensive dial-up access to BBS limited to 5 simultaneous users, it depended very much where in the globe we are talking about. On my area in Portugal, using C was mostly for university projects. For anything else we were using Turbo Pascal and Assembly, with Clipper for business applications. Actually many MS-DOS systems programming books had code listings in C, Pascal and Assembly.
- pjmlp 9y agoUNIX and C. Think of JavaScript and the browser. Back in those days anything that wasn't the standard compilers sold by the OS vendor, meant spent a few extra thousands, so most people didn't. On the PC world, Borland management trying to play with big boys, destroyed the indie culture around Turbo Pascal/Delphi and many moved into Java and .NET.
- segmondy 9y agoIt was ugly and reminded us of BASIC. That's my main reason, most 80's/early 90's folks went from BASIC to C, or BASIC to pascal. If all you had was pascal, you fell in love and never understood why any sane person would use C. C was seducing, it was faster than basic, didn't look like basic and we could fool ourselves chasing pointers, doing stupid things with it's macro system. Mental gymnasium to distract us from real work. :D
- zokier 9y agoAs others mentioned, UNIX was a big deal. But later the final nail to the coffin was that MS was backing C++, so that didn't leave any major platforms where Pascal was "native". Sadly Oberon never managed to escape academia.
- mark-r 9y agoPascal was great when you were coloring within the lines, but C was more flexible. I don't think I was ever able to do image processing in Pascal, and I shudder to think what it would take to do a device driver. Pascal was my primary language from about 1980 to 1990, then I transitioned to C and from there to C++. I missed the whole Delphi train.
- Jtsummers 9y agoI was not programming in Pascal in the 80s, I started with BASIC around 1990 (in grade school). But I did use Pascal some in college (early 00s). I'm curious why you say you couldn't do image processing in Pascal, because that was an exercise we had in college and it wasn't difficult at all (though at the moment I could not recreate what I did, it's been too long since I've looked at Pascal). Was this a difficulty with early Pascal?
- pjmlp 9y agoGiven that I did graphics programming with Turbo Pascal on MS-DOS, I wonder what was missing. Anything more heavy required anyway Assembly, regardless of the high level language being used, C was no different here.
- bitL 9y agoPrice of Delphi. You could have had Visual Studio for $1000, but Delphi for $10k. That single-handedly killed Pascal. Lazarus/FPC was a response to that pricing insanity.
- pjmlp 9y agoIronically gcc only got a major development bump when Sun became the first UNIX vendor to sell the compilers, with others following up.
- pacman128 9y agoThings are different today I hope, but back in the 90's when I was teaching CS, Pascal was not very portable or standardized. Even some basic operations like opening a file were not standardized. Turbo Pascal and AIX's Pascal (the two variants I dealt with back then) did this operation differently.
- Falkon1313 9y agoA few big changes happened in the 90s. - Internet rapidly became increasingly ubiquitous. And it was largely aligned with the Unix philosophy of plaintext formats. - Computers became fast enough and powerful enough to make interpreted languages (and VM-based languages) usable. - Open source took off. - This produced explosion of new, free scripting languages that were really good at working with strings, dynamic data structures, and plaintext formats. - Visual Studio and Delphi both still cost thousands of dollars. Not something you could download and evaluate or try out. Not something you'd decide to learn on a whim. And not something with a big community of open-source developers sharing things for free. Delphi made the business decision to price out the small shops and individuals that were its customers in hopes of going after an enterprise market. - Except in some areas (games, embedded, etc.) the industry shifted toward making things with open-source scripting languages or java for the business stuff. Those who remained in desktop and didn't switch to java switched to visual studio. - The creator of Delphi left and went to Microsoft and created C# to compete with java. The static languages were also somewhat slow to adapt to plaintext data formats. They typically used proprietary binary formats and those were easy to work with (they could basically directly load and dump to/from RAM/disk). But serializing and unserializing and marshaling and unmarshaling to/from plaintext formats was a pain. Eventually they got generics and templates and macros and things to make it less painful, but it's still nowhere near as simple as in the typical interpreted dynamic language. (I recently modified an old 80s-90s era C program to output JSON and did some work on getting a Pascal program to read it.)