Path: utzoo!utgpu!watmath!att!bellcore!rutgers!cs.utexas.edu!uunet!ginosko!aplcen!aplvax.jhuapl.edu!genesch From: genesch@aplvax.jhuapl.edu (Eugene Schwartzman) Newsgroups: comp.lang.misc Subject: Re: Which language to teach first? Message-ID: <2565@aplcen.apl.jhu.edu> Date: 8 Aug 89 15:40:32 GMT Sender: news@aplcen.apl.jhu.edu Reply-To: genesch@aplvax.jhuapl.edu (Eugene Schwartzman) Organization: The Johns Hopkins University Applied Physics Laboratory Lines: 59 In article <6204@hubcap.clemson.edu> billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe,2847,) writes: =From by genesch@aplvax.jhuapl.edu (Eugene Schwartzman): =># it's a lot easier for the student to accept a deferred explanation =># of generics than it is to switch languages entirely [...] Ada =># provides lots of room for the highly motivated student to =># read ahead and go beyond what the class is doing; Pascal can =># provide nothing more than severe frustration. => => Totally disagree!!!! You obviously have not worked with Pascal too much. = = On the contrary, Pascal was my first language; I used it for = three extremely frustrating years. I would like to appologise for sounding so "sure" of something I didn't know and I didn't mean to sound so sarcastic. = => 1) I have worked with it for a long time, and the frustration level I => encountered didn't even come close to the one I met when I started working => with Ada. = = What a joke... how do you handle abstraction without packages? = How do you separate specification from implementation? Very easily, write stubs that do absolutely nothing, but have a declaration, begin, end, and maybe a write stmt. = How do you enforce the security of an ADT without limited private types? Very easily, put procedures inside procedures, etc.. etc... The data types in the inside procedures can't be accessed outside of it. = How do you manage exception handling? Put in error checks :-) ? = What do you do when you get sick and tired of not being able to express = concurrency? Could you give an example and then I could answer. = What about the joy of writing code to manipulate a linked list for the = 348th time because you can't express it cleanly, once and for all, using = generics? Sorry, but I *HAVE* been able to write a "generic" code to manipulate a linked list in Pascal, you just need to know what to include in the code and what to exclude. As a matter of fact, almost everything I write, I try to find ways to make it as generic as possible. You just need to know the tricks of the language. = = Pascal may not be the ultimate in frustration, but it's WAY up there; = Ada, on the other hand, is the language I wish I had been started off = with in the first place. I wouldn't wish Pascal on anyone, except = possibly a very hard-core masochist. Fine, so I am a hard-core masochist :-) I wouldn't wish Ada on my worst enemy and I am sure people who sit in my office would conccur (and they are almost constantly working with Ada).