Follow Slashdot stories on Twitter


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:
  • 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 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 ;)
  • ouch! (Score:2, Insightful)

    by DeepFried ( 644194 ) on Thursday October 21, 2004 @04:43PM (#10591924) Homepage
    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?
  • by ibn_khaldun ( 814417 ) on Thursday October 21, 2004 @04:46PM (#10591965)
    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...)
  • 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.

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

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

    by Fred_A ( 10934 ) <fred@fredshom[ ]rg ['e.o' 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.
  • by ucblockhead ( 63650 ) on Thursday October 21, 2004 @04:57PM (#10592114) Homepage Journal
    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.
  • 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.

  • by sfjoe ( 470510 ) on Thursday October 21, 2004 @05:15PM (#10592348)
    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???

  • by ornil ( 33732 ) on Thursday October 21, 2004 @05:21PM (#10592417)
    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.
  • 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.

  • by drxenos ( 573895 ) on Thursday October 21, 2004 @05:45PM (#10592664)
    Or, if you really want to get anal:
    program Anniversary (OUTPUT); {* define file used *}
    writeln ('Happy 30th Anniversary Pascal. You roxxorzz') {* semicolon not need before end *}
  • by telbij ( 465356 ) on Thursday October 21, 2004 @06:08PM (#10592866)
    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.
  • by rjh ( 40933 ) <> on Thursday October 21, 2004 @06:20PM (#10592971)
    The reason why you're learning Scheme is because you're learning computer science, not programming. If you want to learn programming, go to DeVry. If you want to learn computer science, learn Scheme.

    Want Scheme to be an object-oriented language? You can make it one pretty easily, but first you have to understand the concept of closures and lexical scope. Want to learn functional programming? You can make a Y-combinator in just a few lines. Want to learn backwards-chaining declarative logic? Under 100 lines.

    The beauty of Scheme is twofold. One, it's so minimalist that by itself it's almost useless; and two, in the process of making Scheme useful, you learn a lot about the way languages are designed and why they're designed that way. I didn't truly understand exceptions until I understood Scheme's call-with-current-continuation, for instance.

    If you want programming, go to DeVry. If you want to learn computer science, stick with Scheme.
  • 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.
  • by shish ( 588640 ) on Thursday October 21, 2004 @06:50PM (#10593211) Homepage
    semicolon not need before end

    So encourages my teacher, but why? if you want to add a line afterwards, you'll need to add in a semicolon or face unexpected error messages - why not just put it there in the first place?

  • by aled ( 228417 ) on Thursday October 21, 2004 @09:41PM (#10594346)
    my two words: buffer overruns.
  • by Junks Jerzey ( 54586 ) on Thursday October 21, 2004 @10:40PM (#10594645)
    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.
  • 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 [] 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.

  • by Why Should I ( 247317 ) on Thursday October 21, 2004 @11:55PM (#10595074) Homepage

    You've got issues.

    Are you suggesting that because Java implemented Vector in it's API library (which, by the way is now ArrayList in Java as well) that it somehow has a right to be the only language that implements Vector, and therefore call all other languages that implement vector a rip off?

    Vector is a Collection, it's a concept that all people learn when studying computer science, so it makes sense to have that kind of 'dynamic array' in your API no matter what languahe it's in (python, java or c#).

    What you're trying to say, that the subtle differences between languages are not enough to differentiate them. Yet in today's world of hi-level languages and managed runtimes, the only thing to differentiate between languages are the subtle differeces.

    Look I don't really care which language is better (in your mind or anyone elses), the fact remains that untill C# came along with the newer language constructs and features, Java didn't even bother to implement them. So at the very least, the competition is spurring on development/innovation between the two companies.

    Oh and by the way, doesn't your language also lend itself to the 'java is a rip off of C++' arguement, since they are so similar and c++ came first ?

    It's apples and oranges dude, and your agument is a total troll.
  • by Tablizer ( 95088 ) on Friday October 22, 2004 @12:53AM (#10595367) Journal
    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.

    One thing that helps Pascal readability over Java and C dirivatives is that declarations of types come *after* the variable name instead of before. The variable name is usually more important than the type name, so seeing it lined-up on the left side makes it easier to spot.
  • by NoOneInParticular ( 221808 ) on Friday October 22, 2004 @05:06AM (#10596209)
    And let's not mention the fact that 'Vector' is a very inaccurate name for an 'Array'. Vector comes from C++ (STL), and was named thus and not 'array' simply because it was found that many legacy C and C++ programs already used the name 'array' all over the place to describe *gasp* arrays. It would have been a pain to remove all these. So now with C++ we're in the situation where std::vector denotes an array, while std::valarray denotes a vector (you know, that mathematical object that contains a few primitive types and needs to be manipulated as a whole.).

    The original Java designers apparently didn't stop to think why the this was called 'vector' in the first place and just put it in the spec, this while they didn't have legacy code to contend with. Once they found their 'Vector' was too slow for its most common use they invented something weirdly called an 'ArrayList' (which looks more like the std::vector). Now wow, that's a weird name: is it an array or a list??? They probably refrained from using Array because at that point they needed to conted with legacy code :-) Ah well, I think that nobody would argue that Java at its core is very consistent anyway (String.size, Collection.size(), T[].length?).

The only possible interpretation of any research whatever in the `social sciences' is: some do, some don't. -- Ernest Rutherford