Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

30th Anniversary of Pascal 587

GrokSoup writes "UC San Diego is holding a public symposium on Friday, October 22nd, honoring the 30th anniversary of the Pascal programming language. Oh the memories of undergraduate bubble-sorts ..."
This discussion has been archived. No new comments can be posted.

30th Anniversary of Pascal

Comments Filter:
  • More serious apps... (Score:5, Informative)

    by grub ( 11606 ) <slashdot@grub.net> on Thursday October 21, 2004 @04:39PM (#10591865) Homepage Journal

    Pascal was more than just undergrad bubble sorts. The original Mac had all the hooks and development stuff in Pascal. If memory serves the Mac was the largest Pascal project going. Using C (Lightspeed C, circa 1986 or so) was a real bitch on the machine.
    • by JPriest ( 547211 ) on Thursday October 21, 2004 @04:57PM (#10592116) Homepage
      Well there is Object Pascal which Delphi is based on. Delphi is losing popularity but is a very good (and underrated) language. The first GUI applications I made were in Borland Delphi.
      • by MouseR ( 3264 )
        The original MacApp framework, in the 80s and early 90s, was also based on Object Pascal before Apple moved the code to C++.
      • by Anonymous Coward on Thursday October 21, 2004 @05:28PM (#10592501)
        Actually, the chief designer of C#, Anders Hejlsberg, was the chief architect of Turbo and then Object Pascal. He took many ideas from Object Pascal into C# and .NET.
    • OMG! you too! (Score:5, Interesting)

      by museumpeace ( 735109 ) on Thursday October 21, 2004 @05:31PM (#10592528) Journal
      Mac Pascal, Lightspeed C! I thought I was the only living person who climbed that learning curve. Problem was; it turned in to a learning cliff that I then fell off. I was good for nothing but assembler and BLISS for years until Pascal came along. This means we are due for a birthday party for the original MS-Basic pretty soon.
      But didnt Pascal lead people to think of P-code which foreshadowed Java bytecode? a link off the article's link [threedee.com] seems to agree with my memory...so i better not read it too carefully;)

      and I certainly didn't use pascal just for academics. When I execavated the basement hole for my house, on an ostensibly unbuildable scrap of bedrock-studded land, a pascal contour mapping program that I wrote detected the one spot where the bedrock would be flat and need no blasting...back hoe guy was amazed an amateur could show him right where to dig.
    • by ChaosDiscord ( 4913 ) on Thursday October 21, 2004 @05:38PM (#10592588) Homepage Journal
      Pascal was more than just undergrad bubble sorts.

      Though the world would have been a better place had it been so limited. My pet peeve was the weirdly brain dead default string implementation. Strings weren't null terminated, instead the length of the string was stored. That's a good idea. A bad idea is using the first byte of the string to hold the length. 8 bits to store the string length means a maximum string length of 255 characters. I worked on a large project that had originally been written in Pascal. We used p2c to convert it and maintained it in C. An early task was removing the 255 character long string brain damage and replace it with intelligent strings (in our case C++'s generally good and absolutely superior to Pascal's std::string). Still, I got to read and occasionally maintain the Pascal master for a variety of reasons. The code dealing with strings was always irritating. Sometimes it just ignored the problem (creating potential buffer overruns), sometimes it just crudely limited the string length (meaning, for example, that you couldn't have a URL longer than 255 characters), and sometimes it used some weird chained string extension that I never quite understood. Mac programmers I know told me that the 255 limit was pervasive throughout MacOS as late as MacOS 9. Most unfortunate.

      (To be fair, it did seem like a pretty good language, and I really dug the "with" idiom. A healthy revision (that may have happened, I don't stay up to date on Pascal) could have turned it into something more mainstream and successful. Hell, let's be honest, I just wanted to bitch about the stupid strings...)

    • by Retric ( 704075 ) on Thursday October 21, 2004 @05:49PM (#10592707)
      I was coding in Pascal today. It's just about the oldest GUI program I know of and it still works. It's a single app that handles a flat file database, a real time system for job dispatching with a great GUI, payroll, redundant backup over the network, job capture ect. And it's still readable after 14 years. Damm to bad Pascal lost out to C/C++.
      • by Reziac ( 43301 )
        Happens I still use an ancient proprietary DOS database, because I haven't yet found a replacement that works as well for the job. And a while back I talked the coder into giving me a copy of the source code, which proved to be in Pascal.

        Now, I'm an interested bystander but not a programmer. Nonetheless, just from knowing the app well in everyday use, I can make sense of the Pascal source (even tho there's not a single comment anywhere) -- enough to have some idea what I'd like to tweak, and maybe even how
    • If you want to build your first compiler, Pascal-style languages are a good place to start. They are amenable to recursive descent parsing.

      I strongly recommend Jack Crenshaw's (free) introduction. [iecc.com]

      I seem to remember that the compiler is written in Pascal. I translated it to C as a I went along. You could always use GNU Pascal [google.com] (That's a google link, because the site seems to be refusing connections. Could that be related to this FPP?)
    • FREE PASCAL! (Score:3, Informative)

      by Anonymous Coward

      Both apps are Free Software (GPL).

      www.lazarus.org [freepascal.org]

      www.freepascal.org [freepascal.org]

      Lazarus := Delphi-like (almost a clon) IDE for Win32 AND Linux. It's API independent: can use transparently GTK+, Windows graphic system... etc.

      FreePascal := Portable? no problem! It's available for different processors Intel x86, Motorola 680x0 (1.0.x only) and PowerPC (from 1.9.2). The following operating systems are supported: Win32, Linux, FreeBSD, NetBSD, MacOSX/Darwin, MacOS classic, DOS, OS/2, BeOS, SunOS (Solaris), QNX and

    • Even more serious (Score:5, Insightful)

      by fm6 ( 162816 ) on Thursday October 21, 2004 @10:57PM (#10594742) Homepage Journal
      In the PC world, x86-series processors implement the call stack in a way that makes Pascal-style nested procedures easier to implement. Back in the 70s, Intel thought that Pascal was the high-level language of the future. They didn't anticipate the C/Unix mindset taking over so thoroughly.

      And in certain circles, Pascal is still the language of choice. Lots of people who hack out basic native-code Windows software prefer Borland's Delphi IDE [borland.com] to any alternative. One reason is the programming language [wikipedia.org], which is actually an object-oriented extension of Pascal.

      I spent 3 years at Borland, documenting their component libraries [wikipedia.org], which are mostly written in Delphi. I came to appreciate its simplicity and power. My job required me to go back and forth between Delphi and C++ (the same libraries are used in Borland's C++ products) and it was an object lesson (forgive the pun) in how painfully baroque C++ has become.

      It's a pity that Pascal/Delphi has so thoroughly lost the language wars. But it has. Even if C++ hadn't thoroughly taken over native-code programming, Borland's bizarre and insular corporate culture would keep from spreading beyond a few fierce loyalists.

    • And remember, TeX is still written in Pascal.

  • Loved it!!!! (Score:5, Interesting)

    by Jeffery ( 810339 ) on Thursday October 21, 2004 @04:40PM (#10591871)
    Loved Turbo Pascal, learned it in high school, was even remaking the first zelda on it, but was pixelizing everything, so it looked way better... sorry but that's pretty uber geek in my mind.. that was a long time ago.. this is also my first post, so i wish to formally introduce myself to the /. community!
    • by Anonymous Coward on Thursday October 21, 2004 @04:48PM (#10591995)
      i for one welcome our jeffery overlord.
    • Hi, Jeffrey (Score:4, Funny)

      by ggvaidya ( 747058 ) on Thursday October 21, 2004 @04:50PM (#10592021) Homepage Journal
      Welcome to Slashdot!

      All your productivity are now belong to CmdrTaco [slashdot.org]. Hope you like it here!


    • by Anonymous Coward on Thursday October 21, 2004 @04:55PM (#10592093)
      Hello an enjoy your stay. Remember, you are more than just a number to us, user 810339.
    • by AndroidCat ( 229562 ) on Thursday October 21, 2004 @05:28PM (#10592500) Homepage
      For your first quest, locate Slashdotter #810340 and razz him for being new here.
    • Welcome (Score:5, Funny)

      by lildogie ( 54998 ) on Thursday October 21, 2004 @05:48PM (#10592705)
      > this is also my first post,
      > so i wish to formally introduce myself to the /. community!

      Welcome to Slashdot.

      Just be careful with the words "first post!"
    • Re:Loved it!!!! (Score:5, Interesting)

      by Wraithlyn ( 133796 ) on Thursday October 21, 2004 @06:29PM (#10593052)
      Similar experience here, made the jump to Turbo Pascal in early high school and never looked back. I really miss Pascal strings and arrays, they were so simple to use compared to say, Java. The 256 char limit and 64K data structure limit were a bitch though. Interestingly enough I was also building a "Zelda-ish" game, but it never went anywhere. Spent most of the time designing tilesets with Improces. (Anyone remember that gem?)

      For my final CS project in high school, we had to basically write an interpreter for a small set of assembly instructions. A rudimentary virtual machine, in other words. Well of course the normal approach was a simple text-prompt interface, but I used a shareware graphics library (Fastgraf?) and built a GUI right up from the bare pixel level, with multi-windowing, menu system, illustrated help, 'advanced' features like Start At and Trace, and even user selectable mouse cursors. Ah the memories.. ;) I also wrote a bunch of graphics demos that I probably still have kickin around.. wonder how'd they run today? :)

      Anyway, welcome to Slashdot! Don't feed the trolls. :D
  • I've never used Pascal, I started programming in QB, went on to VB(5, then 6), then did C++, then Java, now Objective-C.

    I think when I start teaching programming classes at my old high school I'm going to start with Python so you get one language that can do both objects and procedural programming... anyone recommend otherwise? I'm just a bit curious.
  • by Moby Cock ( 771358 ) on Thursday October 21, 2004 @04:41PM (#10591894) Homepage
    I too recall the heady days of Pascal in undergrad. Trying to explain to my lab partner how one could have an array of arrays... But that was a long time ago and I pose the question. What language is the "teaching language" now? Do they have Pascal?
    • by Black Parrot ( 19622 ) on Thursday October 21, 2004 @04:46PM (#10591968)

      > But that was a long time ago and I pose the question. What language is the "teaching language" now? Do they have Pascal?

      Pascal, C, C++, Java, ... it's about time to change again. The lifecycle of a teaching language is about the same as the period required to get a degree, virtually assuring that schools turn out a mass of BS's who are monolingual in whatever language industry just quit using.

    • by ucblockhead ( 63650 ) on Thursday October 21, 2004 @04:51PM (#10592034) Homepage Journal
      I find it unfortunate that Universities usually use "professional" languages like Java or (before that) C++ rather than a language specifically designed to be clear to new programmers. Unfortunately it means that students end up spending more time learning the oddities of the language than on programming in general.

      It's like teaching people to drive with semi-tractor trailers.

      • It depends on what you want to learn. If you just want to learn how to program, then something like Pascal might be a good place to start. My problem with it is that I didn't really understand a lot of what I was doing in Pascal. I had only a weak grasp on the concept of a pointer until I took a class in computer architecture and did some assembly programming on a VAX. A language like C is much closer to the hardware level, and while that makes it much easier to do something wrong and stupid, it also me
      • by alexo ( 9335 ) on Thursday October 21, 2004 @05:26PM (#10592477) Journal
        > I find it unfortunate that Universities usually use "professional"
        > languages like Java or (before that) C++ rather than a language specifically
        > designed to be clear to new programmers.

        Pascal was created to teach "correct" structured programming.
        When the prevalent paradigm shifted to OOP, it became outdated.
      • One of the mid-semester programming assignments in my freshman compsci course was writing a templated doubly-linked list class in C++. I completely, utterly understood the concept, and I could probably have written it in no time in 68k or x86 assembler, but that homework kicked my butt.

        The hardest part was trying to figure out when to use '.' versus '->', and the always-fun '*' versus '&'. I knew what I was trying to say, but trying to figure out how to express it in valid C++ syntax was an absol

    • What language is the "teaching language" now?

      In France at the PrePa to get into one of the Grand Ecoles it's still Pascal. Incl the Namesake [wikipedia.org].

    • Now they teach with Haskell, Scheme, Lisp, and C++. I'm not kidding about the Haskell or Lisp, at least at UT Austin. My first cs class, 307, (I skipped the basic C++ "Comp Sci II" class) was in Haskell, and man that was hard. Of course, once I learned Haskell I loved it, and __every other programming language in the world__ became easy once I took a second class in it. Other professors for the 307 class teach using Scheme. Later, I had lots of classes that used C++, one that suggested C++ or Lisp and
    • by Hugonz ( 20064 ) <hugonz AT gmail DOT com> on Thursday October 21, 2004 @05:07PM (#10592262) Homepage
      I believe they should be using Python for teaching now. It is not masochistic and frustrating like some of the "professional" languages. You can learn procedural or OOP with it. It comes with very good documentation. It is available in Windows, unices and the Mac. It is very complete, with bindings and libs to do almost anything. It is not too verbose and strict (I'm thinking Java here)

      Pity they're going with Java for beginners nowadays...

    • I'd be interested to know what the thiniking was that made teachers switch from Pascal to $PEDAGOGICAL_LANGUAGE.
      After all, the important thing to a freshman class is to understand what's happening in a loop, or a sort block or whatever. That fundamental stuff never changes so why change the language you teach it with???

    • LISP at MIT (Score:3, Informative)

      by peter303 ( 12292 )
      At MIT the required first computer course [mit.edu] uses the 47-year old LISP language, at least the object-oriented, modular version called SCHEME. I guess this partially intertia, having done this since the 1970s. All electrical engineers and computer sci majors are required to take this course. That can be 40% of MIT undergrads in popular years.
    • The University of Cambridge starts with SML, and then after a term follows on with Java.
  • by Black Parrot ( 19622 ) on Thursday October 21, 2004 @04:42PM (#10591909)

    "Europeans call me by name, Americans by value."

    • Re:Niklaus Wirth (Score:4, Interesting)

      by dprovine ( 140134 ) on Thursday October 21, 2004 @06:31PM (#10593063)
      "Europeans call me by name, Americans by value."

      The version of this story that Niklaus Wirth told me (via e-mail) is that it happened when he was presenting a paper in New York in 1965. He was introduced by Aad van Wijngaarden as follows:

      And now I introduce to you a man who is a European and lives in America. Back home he is known and called "by name", pronounced as "Weert", but here he is called by value, pronounced as "Worth".

      Wirth considered an excellent pun, but he doesn't take credit for it.

  • by GillBates0 ( 664202 ) on Thursday October 21, 2004 @04:42PM (#10591911) Homepage Journal
    program Anniversary;
    writeln ('Happy 30th Anniversary Pascal. You roxxorzz');
  • by A beautiful mind ( 821714 ) on Thursday October 21, 2004 @04:42PM (#10591914)
    ..helping to get the basics before starting to learn c. Quite nice language, although not the best, but ive seen even an operating system in freepascal ;)

    • > ..helping to get the basics before starting to learn c.

      It was explicitly designed as an instructional language, to help (or force) beginners to get into some good habits before being turned loose in the jungle of real-world IT.

  • by mwheeler01 ( 625017 ) <matthew@l@wheeler.gmail@com> on Thursday October 21, 2004 @04:43PM (#10591918)
    Hmmm and D&D just turned 30 too... coincidence?
  • by EriDay ( 679359 ) on Thursday October 21, 2004 @04:43PM (#10591921)
    After spending a few years programming in C, I took a job programming in Pascal. I figured that it was just a matter of replacing {} with begin/end, and '=' with ':='. Boy was I wrong.

    Sometimes you need a hack, and Pascal's purpose in life it to prevent those convient little hacks.
    • It is a teaching language, so the main design goal is to force students to do it right, rather than hacking. Once they learn how to do that, they can the use a profressional language hacks. In other words, first you have to learn the rules, then you have to learn when to break the rules.
  • ouch! (Score:2, Insightful)

    by DeepFried ( 644194 )
    Am I the only one who felt _really_ really_ old when I read that. What have I done with the last 30 years of my life?
    • Not just you. Me too. But after that I remembered that the 30 years was of Virt's pascal which was pure, but unusable (no wonder people continued to use algol and fortran). Me and many others learned pascal in its borland meaning which even in its 1.0 incarnation had some relaxations from the original academic stiff neck standard. By 3.0 it was useable for large projects and by 5.0 it was one of the best commercial rapid development languages ever developed. Unfortunately Borland never really understood the
      • Re:ouch! (Score:5, Insightful)

        by samjam ( 256347 ) on Thursday October 21, 2004 @05:08PM (#10592269) Homepage Journal
        Borland Pascal for Windows may have been a bit freakish but I don't see how you can say Delphi is or ever was.

        I used Turbo Pascal for DOS to write real-mode device drivers that loaded before windows did that communicated and made callbacks to windows applications written in Delphi (using the DPMI 0.9 API)

        There really was nothing that could not be done or hacked with Turbo Pascal (and assembly) and Delphi (and more assembly as needed).

        Borland DID get windows, more than MS did.

        None of MS widget wrappers around the raw windows API compare in any degree to Borlands excellent VCL (Visual Class Library) that encapsulated and extended windows in a most wonderful way.

        I've seen people program in Delphi who only know how to program in C and it looked like it. Ugly, nasty code.

        I've seen Delphi code written by people who understand object Pascal and it is a dream to behold. (I've done some good stuff too).

        The reason Delphi didn't catch on enormously is partly to do with it not being a cross platorm language (object pascal I mean) butmostly for the same reasons smalltalk, scheme, EISA and so on didn't catch on. I wish I knew what that reason was.

        • Re:ouch! (Score:4, Insightful)

          by FireAtWill ( 559444 ) on Thursday October 21, 2004 @06:42PM (#10593154)
          The reason Delphi didn't catch on enormously is partly to do with it not being a cross platorm language (object pascal I mean) butmostly for the same reasons smalltalk, scheme, EISA and so on didn't catch on. I wish I knew what that reason was.

          I think the reason Delphi hasn't become mainstream is the same reason many other excellent products haven't. Microsoft cloned it with VB and kept just close enough behind that it was acceptable to choose the un-FUD'd development environment.
    • Re:ouch! (Score:5, Insightful)

      by Fred_A ( 10934 ) <fred@freds[ ]e.org ['hom' in gap]> on Thursday October 21, 2004 @04:56PM (#10592101) Homepage
      I didn't feel old, I've just been young longer than most /. readers.
  • ah pascal (Score:3, Interesting)

    by drivers ( 45076 ) on Thursday October 21, 2004 @04:44PM (#10591936)
    I always did think that Pascal's notation for pointers and dereferencing was more intuitive than C and therefore less confusing for teaching algorthms and data structures. It also didn't let you write out of bounds of arrays. Good stuff.
  • by Franciscan ( 720329 ) on Thursday October 21, 2004 @04:45PM (#10591955) Journal
    I use Pascal all day, every day. I laugh myself sick thinking how much time my C++ developer friends waste on stuff that takes days in ATL/MFC/C++ that I can do in a few seconds in Delphi. DCOM servers, GUI programming, reusable components, these are all a pain in the butt with C++. Okay, C# and Dotnet are almost as powerful as Delphi, but they have a huge runtime (like java). For my money, nothing can touch Delphi/ObjectPascal/VCL for efficiency, productivity, quality, easy deployability with NO DLL HELL and no runtime installation issues.
    (P.S. I never ever shipped any app with the BDE in it. That, and the Database Desktop, are the crappiest things ever to come out of Borland. They are still in the latest native Win32 version of Delphi, Delphi 7, but at least you don't ever have to use them.)
    • Okay, C# and Dotnet are almost as powerful as Delphi, but they have a huge runtime (like java)
      I don't know a ton about Pascal, but I do know a lot of people who were taught C then picked up Java are surprised to realize portable P-code predates the idea of JVM in terms of transportable byte code...
    • Delphi Rocks! But Borland's managment just doesn't seem to get it. Go over to the Borland news server and there is a sense of misery and frustration over the way Borland handles this product and it's sibling Kylix.
    • by killjoe ( 766577 ) on Thursday October 21, 2004 @05:07PM (#10592260)
      Yes Delphi rocks. It's another one of those great technologies that should have ruled the world but didn't.

      FYI there are attempts to make an open source version of it using freepascal. I have never tried them but I'd be interested in the experiences of anybody who has.
    • I agree about the showing off to VB and C++ developers that have to deal with MS crap... I can run circles around them, and I use Delphi just for personal coding.

      I also agree BDE SUCKS, I have long used Allround Automations Direct Oracle Access [allroundautomations.com] for database access. That rocks, fully integrating the OCI drivers easily into your application and it there is a Kylix and Delphi version as well as I am sure a .NET version won't be too far behind for Delphi 2005.
  • begin
    Seems like a limited (and rather verbose) language now, but it was UCSD Pascal for the Apple II and shortly thereafter Turbo Pascal for DOS that made it possible to create sophisticated and transportable programs on personal computers without spending a fortune on development tools. Prior to that point it was either assembly-level hacking (which produced some amazing work, but didn't generalize well) or BASIC (no more need be said...)
  • So cool... (Score:5, Interesting)

    by ucblockhead ( 63650 ) on Thursday October 21, 2004 @04:47PM (#10591984) Homepage Journal
    UCSD Pascal (not the first Pascal, mind you) was such an utterly cool system. It was my first real language. (I knew Applesoft BASIC and assembly, but...) I learned it in 1984 as a sophmore at UCSD.

    Way, way ahead of its time. It was an IDE and the code it generated was bytecode, not native code. I love hearing all the Java weenies talk like the Java VM is somehow a "new" concept when P-code was availble for a real language in the early eighties.

    I wrote a "conquer the galaxy" game in UCSD Pascal when I was 19. Such fun, dealing with overlays to fit it in the 64k of my Apple ][+. I never sold it, alas, so dreams of become a rich game programmer never panned out.

    It's funny...it also had the last IDE I actually liked.

    Unfortunately for UCSD, they priced it too high, and Phillipe Kahn came in and stole the PC Pascal market. Of course, the grad students who actually designed and wrote the system never saw a penny.

    • Re:So cool... (Score:3, Interesting)

      by Tackhead ( 54550 )
      > I wrote a "conquer the galaxy" game in UCSD Pascal when I was 19. Such fun, dealing with overlays to fit it in the 64k of my Apple ][+. I never sold it, alas, so dreams of become a rich game programmer never panned out.

      At least one guy did. Wizardry was done in UCSD Pascal. Even in 1980, it surprised the hell out of me to see a commercial game done like that.

    • Re:So cool... (Score:3, Interesting)

      by starling ( 26204 )
      I loved the way the compiler would fix simple syntax errors for you, like a missing ';' at the end of the line. It print a warning, attempt to fix the problem, and carry on compiling. What's more , when it tried to fix something it was usually right!

      Couldn't seem to handle getting rid of a ';' before an 'else' though (one of the more brain-dead features of the Pascal syntax IMO).

  • by MarkWatson ( 189759 ) on Thursday October 21, 2004 @04:47PM (#10591986) Homepage
    "Honinbo Warrior" was written on my Apple II (serial number 71) using UCSD - a very civilized programming environment indeed.

    The Apple II also had a fairly good interpreted Lisp (Pegasis Lisp) that I used a lot way back then. The Lisa editor/macro asembler was also great (as long as I am getting nostalgic, what about Bill Budge's great 3D library for the Apple II).
  • by kompiluj ( 677438 ) on Thursday October 21, 2004 @04:48PM (#10591993)
    Some of those issues [lysator.liu.se] have been solved with advent of the Turbo/Object Pascal by Borland which is currently the most used Pascal dialect (for example the FreePascal uses it) which has taken many things from C. However, a still worthy read.
  • I remember Pascal from my high-school days, where my math teacher let us build all sorts of cool stuff in it. Never touched it in undergrad though, we were all C and ADA.

    I'd be interested to hear why people think Pascal never caught on like C or Java did? My understanding is that nowadays one of the Borland tools implements what is essentially an OO-version of Pascal?

    • by mikael ( 484 )
      we used both Pascal and C for our undergraduate courses. The editors (once in 43/50 line mode) were just as good as Microsoft Visual Studio (especially since they had the [alt]-[C] rectangular region copy/cut/paste option).

      The problem with Pascal, was that it wasn't cross platform with other operating systems (Solaris, HP-UX, AIX, whatever...). And it didn't have access to the windowing/networking libraries that C programs had on UNIX (It wasn't until 1993 that Microsoft starting including TCP/IP with PC's
    • by BrakesForElves ( 806095 ) * on Thursday October 21, 2004 @05:22PM (#10592421) Homepage
      IMO: C surpassed Pascal because:

      1) It's much easier to write a C compiler than a Pascal compiler, therefore the (early) availability of the C language on new platforms became a near certainty.

      2) It didn't take project and product managers long to realize that in the era of Moore's Law, platform flexibility had great value. A project stuck on an obsolete platform due to the unavailability of its language on a revolutionary new platform was doomed, perhaps prematurely.

      So its portability and ubiquity were C's most significant advantages over Pascal, back when there was a realistic contest.

      3) For a time, executables written in C were likely to be considerably faster than those written in Pascal. This was a byproduct of the re-use of the C compiler code itself, versus fresh (read: immature) attempts at Pascal compilers. The C compiler cores got better with each processor port, but the freshly-written Pascal compilers often were not very good.

      Today on the x86 platform with Borland's highly-refined 8th-generation compiler core, executables built from well-written Pascal are as fast as those built from coherently-written C, in my experience. It may be possible to write incredibly concise C that'll be a hair faster than the same thing written in Pascal, but arguing that difference is a fool's errand in the days of 4GHz rocket-ship machines executing septillions of NOPs waiting for something to do.

      Personally, I choose Delphi these days over C, because I write and support huge projects. It is incredibly easy to pick up Pascal source and quickly figure out exactly what it does. That's the first (and most crucial) step in any software maintenance, and I find that Pascal's support cost savings more than over-balance any possible advantages I've ever realized from using C. When I'm writing something that needs to be extremely fast, I drop into inline assembly, but everything else I code in Delphi these days.

      • by Cryogenes ( 324121 ) on Thursday October 21, 2004 @07:21PM (#10593523)
        Actually you are answering the wrong question. There was never any contest between C (the Unix language) and Pascal (a teaching language). The real tragedy was that the beautiful Algol succumbed to C so easily and so completely.

        But you are quite right, compilers where the reason. C.A.R.Hoare (of quicksort and CSP fame) tells a good story where early in his career he led an Algol compiler team into disaster - after two years of careful programming they produced a multi-pass compiler and when they first tested it, it managed to correctly translate 1 line of Algol per second!
      • 1) It's much easier to write a C compiler than a Pascal compiler, therefore the (early) availability of the C language on new platforms became a near certainty.

        Not true. Pascal is generally easier to write a compiler for than C. Now you might be focusing on the optimization side of things, and in that case you'd be right. A naive compiler typically generates much better code for C-style pointer math than for arrays, and in Pascal you use the latter.
    • It succeeded long enough for Borland to make Delphi 2005. I've always preferred Delphi to C++, because it has almost all of the features of C++ (the most notable lack being macros), plus it has much better enumeration and set handling (mainly, because it has enumeration and set handling).
    • Ada lives on, kinda (Score:3, Informative)

      by acomj ( 20611 )
      Ada is Pascals "child" so to speak. The sytax is pretty close. The more I use ada the more I like it although not without its quirks. Its not hard to pick up, and gcc will compile it.

      Although calling Ada a success would be pushing it, it seems my companies large projects work best in ada, then c and c++ is always a disaster.

      Ada lacks a lot of libraries that make java/ c so useful. But as someone pointed out (with a chuckle), you can bind Ada calls to C making it as powerful as C!

  • Pascal was more than a programming language, it was a multi-platform operating [threedee.com] system [wikipedia.org].
  • Memories of Pascal (Score:5, Insightful)

    by Eberlin ( 570874 ) on Thursday October 21, 2004 @04:50PM (#10592018) Homepage
    It has been ages since I've done anything in pascal...but my programming language progression went from BASIC, QBASIC, then Pascal. I've moved to other languages from there but it was quite the eye-opener. Variables had to be declared, the "uses CRT" was quite the drastic change from what I had been used to (if I remember correctly), and the overall approach was enlightening.

    Now there are other languages to learn with (and a few of those aren't just for educational purposes). Java, PHP, and C for example. Even Delphi has kept Pascal alive and relevant.

    Back then, I had to find...um...creative ways to be able to program and compile Pascal code. With all the freely available IDEs, compilers, debuggers, etc. around now for all these various languages (especially through OSS), things have become more accessible.

    Pascal was the language that brought me out of my BASIC habits...for that I'm definitely grateful.
  • Memories Indeed! (Score:3, Interesting)

    by serutan ( 259622 ) <snoopdoug.geekazon@com> on Thursday October 21, 2004 @04:55PM (#10592090) Homepage
    Back in the 80s for me it was Turbo Pascal, originally a $39.95 wonder-package on a single 5-inch floppy. Compiled a whopping 7000 lines a minute on my 2Mhz 8080.

    My never-ending project to simulate a D&D world led me to explore the mysteries of virtual method tables, linked lists, B-trees, and that other structure -- a mesh of nodes without a head -- what was it called?

    My favorite TP achievement was a homegrown BBS that I ran for 2 years on my 1200-baud modem. I had no hard drive, just two 360K floppy drives. So the system and programs were on one and the msg files were on the other. There were 10 message boards. I gave some users sysop privs on individual boards. Three of them ran RPGs -- AD&D, Traveller and Robotech -- one woman ran hers as an adults-only hot tub/bar. Eventually I wrote an adventure game parser as a unit that would plug into the BBS. I only created one game for it, but many people played it through to the end and commented on it. Good memories of the pre-web era.
  • by turgid ( 580780 ) on Thursday October 21, 2004 @04:56PM (#10592109) Journal
    ...until I tried the Pascal family of languages (Modula-2 actually). The strictness imposed by Pascal and its decendents really forces you to think carefully about what it is you're trying to code. Most of my early C programs worked by luck rather than design and would produce pages of warnings on compilation. After learning a bit of Modula-2, I became a much better C programmer (and programmer in general). Many years later I had to program in Turbo Pascal 7.0 (a predecessor of Delphi) and found it very pleasant (despite DOS and Windows). Pascal has come on a long way in 30 years and spawned Delphi, Modula-* and Oberon-*. They're well worth investigating.
    • I learned Modula-2 before I learned C, on my Atari ST. It was an excellent little language. I remember that I used to have to swap floppies in the middle of every compile so the last stages of the compiler could be loaded.
  • Borland... (Score:3, Informative)

    by Kr3m3Puff ( 413047 ) * <me@k i t s o n k e l ly.com> on Thursday October 21, 2004 @04:57PM (#10592119) Homepage Journal
    Some of us have never given up on Pascal. I still use Delphi [borland.com] and Kylix [borland.com] to this day. Meets my needs and Pascal makes a nice OO programming language, something that dates back to Turbo Pascal 7.

    There is a ton of third party support [torry.net] for it and you can do just about everything a little easier then just about everything else. All my DSOs for Apache are done in Kylix...
  • by kompiluj ( 677438 ) on Thursday October 21, 2004 @05:03PM (#10592216)
    What was at first the so called BSD (Berkeley Software Distribution) by Bill Joy? Essentialy it was a Pascal Development System for UNIX bundled with UNIX itself. The improvements in UNIX were made by Joy in order to have an easy to use Pascal system. Don't believe? Look here [oreilly.com].
    Well Pascal was at that time really important.
  • Pascal... (Score:5, Interesting)

    by jeif1k ( 809151 ) on Thursday October 21, 2004 @05:08PM (#10592268)
    It's unfortunate that Pascal gave type safety such a bad name: the language, as it was usually used for teaching, had such limited functionality and imposed such a straight-jacket on people that several generations of programmers thought type-safety made languages useless and that they needed to use something as unsafe as C to get any work done.

    Yet, commercial implementations of Pascal were in pretty common use, had all the low-level facilities of C, and yet gave programmers a decent amount of type safety and runtime error checking. In fact, a lot of the early Macintosh software was written in ObjectPascal, and TurboPascal was very popular and very useful on the PC. Even the Apple II ran a pretty good Pascal development environment (in 64k of memory), with a decent screen oriented editor, menu bars, and an integrated compile/edit/run/debug system. Pascal syntax also was quite a bit less error prone than C/C++'s. Having pointer dereferencing be a postfix operator alone is just so much more sensible.

    Perhaps much more interesting than Pascal, historically, are Algol-60, Simula-67, and Algol-68, which are related to it; Pascal was probably never intended to compete with them, but rather serve as an educational introduction to them and their successors. Around the same time, many fundamental ideas in programming languages were developed and implemented, including APL, Lisp 1.5, Snobol, PL/I, Smalltalk, and Prolog. Window systems, GUI toolkits, constraint-based programming, MVC, and other concepts we take for granted today followed shortly thereafter.
    • and Basic too (Score:3, Informative)

      by plopez ( 54068 )
      Both Pascal and BASIC were intended for teaching only. Unfortunately both were pressed into areas they were not originally designed for and had to be retrofitted.

      THere is a discussion above about production languages vs teaching languages being taught at this time. My opinion being better a production language, because when the Business Admin types take their intor to programmig class they will not be left with the impression that a teaching language is a real programming language.
      THen force programmers to
    • Re:Pascal... (Score:3, Informative)

      by jejones ( 115979 )
      Especially Algol 68, the best programming language you probably never used, a victim of nasty (and not necessarily accurate) propaganda. I urge all to track down a copy of the History of Programming Languages II proceedings and read Charles Lindsey's excellent and bittersweet paper on the history of Algol 68.
  • by plcurechax ( 247883 ) on Thursday October 21, 2004 @05:13PM (#10592338) Homepage
    Actually I (mildly) regret that I was an advocate for C and C++ in the university undergrad CS programmes, because at the time I personally enjoyed programming in C more than Pascal. Looking back I think Pascal was an excellent language for students, and I wish Niklaus Wirth's other languages, such as Module-2, Oberon caught on more. I think they were evoluting in the right direction of promoting good programming style, for programming in the large.

    Rather than quick coding by the seat of your pants which C encourages or at least strongly tolerates.
    • That's Modula-2. And Modula-3, although this one didn't go anywhere much.

      I've actually written two commercial applications in Modula-2. Did you know that MetroWerk's CodeWarrior is actually a descendent of their original product (and company name) that was then known as MetCom Modula-2? I still have those books in a box. First language I actually coded in for the Mac. That was in 88.
  • Function Nesting (Score:3, Insightful)

    by Aidtopia ( 667351 ) on Thursday October 21, 2004 @05:36PM (#10592573) Homepage Journal

    There's one thing I really miss about Pascal: nested procedures and functions. Being about to write a little utility function in the scope of the function it helps is just so elegant. You don't have to pass a bunch of parameters to get them in scope. Nobody else can miscall your utility function because it's not out in the global namespace. It's immediately clear to people reading your code that it's just a subordinate helper and to which function it belongs.

    Function nesting is a feature sorely lacking from languages like C. It's not to hard to work around this limitation in an OO language, but the solution is still not as elegant or efficient.

    And even after 15 years of C and C++, it still makes more sense to me to use = for comparison and to have a special symbol like := for assignment.

I THINK MAN INVENTED THE CAR by instinct. -- Jack Handley, The New Mexican, 1988.