Slashdot Mirror


30th Anniversary of Pascal

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

39 of 587 comments (clear)

  1. More serious apps... by grub · · Score: 5, Informative


    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.

    --
    Trolling is a art,
    1. Re:More serious apps... by JPriest · · Score: 5, Informative

      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.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    2. Re:More serious apps... by Anonymous Coward · · Score: 5, Informative

      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.

    3. Re:More serious apps... by ChaosDiscord · · Score: 5, Interesting
      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...)

    4. Re:More serious apps... by Retric · · Score: 4, Informative

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

    5. Re:More serious apps... by mertner · · Score: 5, Informative

      Yes, the 255-length limit on strings can be bothersome, and to address it a new dynamic string type with a 32-bit length was introduced in Delphi 2: AnsiString.

      That is 7 Delphi versions ago, btw, so it's not exactly new any more :-)

      The advantage of the "Short" strings is that they can be allocated on the stack and thus have no memory manager overhead, pointers etc associated with them - which makes them simple to use. And many strings *are* less than 255 chars, always.

      If you need longer strings, use Delphi 2 or later. The AnsiString implementation is certainly heads and shoulders above the std::string from the STL, which I have found to be astonishingly inefficient several times.

      I guess it's all a matter of taste :)

      --
      -- As long as the answer is right, who cares if the question is wrong?
    6. Re:More serious apps... by Lars+T. · · Score: 4, Funny

      Two words: signed char -Hell yeah, now that makes sense.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  2. Loved it!!!! by Jeffery · · Score: 5, Interesting

    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!

    --
    President Bush Supporter
    1. Re:Loved it!!!! by Anonymous Coward · · Score: 4, Funny

      i for one welcome our jeffery overlord.

    2. Re:Loved it!!!! by Anonymous Coward · · Score: 5, Funny

      Hello an enjoy your stay. Remember, you are more than just a number to us, user 810339.

    3. Re:Loved it!!!! by AndroidCat · · Score: 4, Funny

      For your first quest, locate Slashdotter #810340 and razz him for being new here.

      --
      One line blog. I hear that they're called Twitters now.
    4. Re:Loved it!!!! by Wraithlyn · · Score: 4, Interesting

      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

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
  3. What do they teach in undergrad now? by Moby+Cock · · Score: 4, Insightful

    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?

    1. Re:What do they teach in undergrad now? by ucblockhead · · Score: 5, Insightful
      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.

      --
      The cake is a pie
    2. Re:What do they teach in undergrad now? by Hugonz · · Score: 4, Interesting
      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...

    3. Re:What do they teach in undergrad now? by ornil · · Score: 4, Insightful

      The language guranteed to fuck you up if you've by some strange chance of fate actually programmed before getting to the school.

      If a language can do that to you, it is a language worth knowing. Most modern languages (read scripting, like Perl, Python, Ruby, etc) support many functional paradigms, like map, lambda functions, etc. They are incredibly useful, if you know how.

    4. Re:What do they teach in undergrad now? by telbij · · Score: 4, Insightful

      The language guranteed to fuck you up if you've by some strange chance of fate actually programmed before getting to the school. Why a school, with over 50,000 people attending (second largest in the US now) and a fairly large IT department does that is beyond me. Oh wait... no it isn't. They need to employ their crazy AI professors who bust a nut using it.


      The reason they use it is because the program is based on MIT's highly-esteemed CSCI curriculum.

      If Scheme fucked you up then you didn't really know anything about programming. LISP is a pretty questionable language for real world programming, but for the little tasks they make you do in Intro to CS it's perfect. It lets you learn about recursion and the fundamental sameness of code and data without a bunch of syntactical overhead.

      Then later when they dump you head first into C for Machine Architecture and Operating Systems you can at least write good algorithms while you grapple with pointers and memory management.

      It's a hell of a lot better then teaching kids Java's class libraries or a million magic ways to do things in Perl. A CSCI degree should not teach you things you wanted to know before, it should introduce you to all the things that make a good programmer. Study hard kid.

  4. Niklaus Wirth by Black+Parrot · · Score: 5, Funny


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

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:Niklaus Wirth by dprovine · · Score: 4, Interesting
      "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.

  5. Let me be the first to say... by GillBates0 · · Score: 4, Funny

    program Anniversary;
    begin
    writeln ('Happy 30th Anniversary Pascal. You roxxorzz');
    end.

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
  6. Re:Started with QBasic by Gentoo+Fan · · Score: 4, Informative

    You could give Ruby a shot.

  7. 30th anniversary... by mwheeler01 · · Score: 4, Funny

    Hmmm and D&D just turned 30 too... coincidence?

    --
    Pretty widgets? What pretty widgets?
    1. Re:30th anniversary... by Nom+du+Keyboard · · Score: 4, Funny
      D&D just turned 30 too... coincidence?

      Only if the right brain didn't know what the left brain was doing at the time.

      --
      "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  8. Delphi (ObjectPascal) rules. by Franciscan · · Score: 5, Interesting

    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.
    WP.(Franciscan)
    (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.)

    1. Re:Delphi (ObjectPascal) rules. by killjoe · · Score: 4, Interesting

      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.

      --
      evil is as evil does
  9. Re:Bah! by Big+Mark · · Score: 4, Funny

    Flippin' middle-agers and their line numbers, back in the days of fortran we had whitespace-sensitive code and we were grateful for what we had!

  10. So cool... by ucblockhead · · Score: 4, Interesting
    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.

    --
    The cake is a pie
  11. Memories of Pascal by Eberlin · · Score: 5, Insightful

    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.

  12. Re:ouch! by Fred_A · · Score: 4, Insightful

    I didn't feel old, I've just been young longer than most /. readers.

    --

    May contain traces of nut.
    Made from the freshest electrons.
  13. Pascal... by jeif1k · · Score: 5, Interesting

    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.

  14. Re:ouch! by samjam · · Score: 5, Insightful

    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.

    Sam

  15. Niklaus Wirth's languages by plcurechax · · Score: 4, Informative

    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.

  16. Re:Why didn't it succeed? by BrakesForElves · · Score: 4, Interesting

    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.

    --
    About the word "if": If bullfrogs had wings, they wouldn't bounce around on their little green butts.
  17. OMG! you too! by museumpeace · · Score: 5, Interesting

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

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
  18. Today by GeekDork · · Score: 4, Funny

    Today, we have Python, and whitespace-sensitive code is fucking BACK!

    --

    Fight hunger. Filet a politician and send him to a 3rd world country of your choice.

  19. Welcome by lildogie · · Score: 5, Funny

    > 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!"

  20. Re:ouch! by FireAtWill · · Score: 4, Insightful

    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.

  21. Re:Why didn't it succeed? by Cryogenes · · Score: 4, Informative

    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!

  22. Even more serious by fm6 · · Score: 4, Insightful
    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 to any alternative. One reason is the programming language, which is actually an object-oriented extension of Pascal.

    I spent 3 years at Borland, documenting their component libraries, 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.