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 ..."
← Back to Stories (view on slashdot.org)
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?
..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 ;)
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
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?
Who is General Failure, and why is he reading my hard disk?
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...)
end;
"All successful systems accumulate parasites" -- Hal Hixon
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.
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.
The cake is a pie
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.
Or, if you really want to get anal:
program Anniversary (OUTPUT); {* define file used *}
begin
writeln ('Happy 30th Anniversary Pascal. You roxxorzz') {* semicolon not need before end *}
end.
Anonymous Cowards suck.
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?
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
my two words: buffer overruns.
"I think this line is mostly filler"
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.
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.
Dude,
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.
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.
Table-ized A.I.
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?).