Sorry, folks... I can't let this one pass uncommented upon.

Florin Iucha wrote:
> 
> On Fri, Sep 07, 2001 at 05:55:05PM -0500, Nate Straz wrote:
> > On Fri, Sep 07, 2001 at 05:21:18PM -0500, Florin Iucha wrote:
> > > And don't get me started on pointer in Pascal or I/O in Pascal...
> > 
> 
> Most of my problems come from knowing and loving C. I approached Pascal open-harted.

Open hearted? Or openly hated?   Muppet news flash for ya, Florin:  The
language wars are over.  C won.  Now everyone has to live with that victory,
especially the C bigots, who _still_ can't get and/or keep their code
running bug-free.

> > <devil's advocate>
> > What's wrong with pointers in Pascal?  Pascal was my first exposure to
> > pointers and I think it made the transition into C easy.  Sure, it took
> > be a while to get the hang of pointers and trees and linked lists, but I
> > was only 16 at the time.  
> 
> They are more like references: you can't add constants to pointers, and you
> can't do a lot of wizardries.

Most of which is the source of countless trouble.  You're leaving out nice
stuff like full type checking, full range checking, full pointer checking...
All the stuff that basically let you write 1000 lines of "production
quality" code a day if you put your mind to it.

> And "string"? Oh, please... Strings of at most 255 chars. And conversion between
> chars and integers were a pain - "ord" / "chr".

In substandard implementations, yes, strings were limited on 255 chars in
length.  Most decent implementations (read: Not Borland) did a better job
with strings than that.  The last Pascal compiler I worked on (Cray's)
supported strings of any length in the range [0..4294967295] (i.e.: up to
(2^32)-1 characters).  Most folks _still_ don't have that much memory.

Had the implementors of AT&T's Portable C instead chosen to implement
Pascal-style character strings (a length field + max length field + a packed
array of characters), 90+% of all U*ix security problems due to buffer
overruns would _NEVER_ been possible in the first place... they'd have all
become run-time errors instead of security holes.  Oh yeah... and the oft'
used "strlen' function would be reduced to a single memory reference, too.

> > I didn't think there was anything wrong with I/O in TP.  It has been
> > quite a number of years since I did anything with I/O in TP.  What was
> > your problem exactly?
> > </devil's advocate>
> 
> After the logical "open" / "close" / "read" / "write" from the C library,
> "Assign"/"Reset" and what read and write were called made me puke.

Again, in substandard implementations (read: Borland).  Most good Unix-based
implementations also had open/close/read/write/yadda/yadda/yadda.  Dec
Pascal from Digital^H^H^H^H^H^H^H Compaq^H^H^H^H^H^H H.P.(for both the Vax
and the Alpha under Digital Unix) still does.

> > The one thing I miss the most about Pascal and the Pascal community is
> > monthly issues of SWAG.  That's the SourceWare Archival Group's Pascal
> > snippet libraries.  I would always grab it and compile all the new
> > graphics hacks to see what was new a cool.  Ah the old days of Pascal
> > and BBSes.  
> 
> I don't have any knowledge about SWAG... 
> 
> florin

Borland's implementation of Pascal was so poor, it basically killed the
language.  Maybe that was the real intent all along.

-S
 (a compiler guy who's also a former X3J9/IEEE/ISO Pascal committee member)