From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ea8ea502d35ca2ce X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-05-05 04:10:30 PST Path: newsfeed.google.com!newsfeed.stanford.edu!skynet.be!dispose.news.demon.net!demon!nntp.news.xara.net!xara.net!gxn.net!news5-gui.server.ntli.net!ntli.net!news2-win.server.ntlworld.com.POSTED!not-for-mail From: "chris.danx" Newsgroups: comp.lang.ada References: <9cukad$nn68@news-dxb> <9d0fr2$9281@news.cis.okstate.edu> Subject: Re: Beginner's Language? X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Sat, 5 May 2001 12:05:57 +0100 NNTP-Posting-Host: 62.252.144.28 X-Complaints-To: abuse@ntlworld.com X-Trace: news2-win.server.ntlworld.com 989060721 62.252.144.28 (Sat, 05 May 2001 12:05:21 BST) NNTP-Posting-Date: Sat, 05 May 2001 12:05:21 BST Organization: ntlworld News Service Xref: newsfeed.google.com comp.lang.ada:7201 Date: 2001-05-05T12:05:57+01:00 List-Id: > > I can say that I am not a great friend of making shortcuts in the education of > > future software engineers. IMHO the people starting with Java from the start > > (in our current lab project, the profs are using lots of XP techniques) try to > > introduce too much too fast (OOP from day one, etc.). > > With Java, you have no option but to introduce OOP quickly. Everything is > a class in Java. > Which can make things more difficult than they need be. > > So, in your position I would look into Python (my favourite) or Scheme. Or > > perhaps another functional language like Haskell (there is an interpreter > > called Hugs). > > Why a functional language? I would think a procedural language would be > easier to teach as a first language, and would provide them with framework > needed for the languages most programmings being done it. > If I had a choice i'd teach both an FPL (funtional language) and Ada 95 to first timers. Both styles are different but they have much to offer. I think they complement each other. Also FP is being taught more and more at Uni and it's more difficult to teach FP to people who've learned the imperative way first. Any way this is largely irrelevant Ada would be best if you want to teach IP first. > > 7th grade? Please don't throw a big language like Ada at them. > > Why? It seems more important to have a teachable subset (with Ada > subsetting very nicely) than to have the whole language be small. > I don't like the idea of teaching a limited language; first, it can > make examples in the language impossible (cf. _Software Tools_, > where the encryption routines were removed in the transition from > Ratfor to Pascal, because they couldn't be written in Pascal.) > Second, students are probably going to use what they learned first, > even when it's inappropriate. Note the number of Pascal and Basic > dialects; people were taught a limited language, and then extended > it to get the job done. Ada will expand with the learning of the > student. > I have to agree with you here. The benefit of Ada was that you could learn it slowly (by this i mean present a few constructs and build on them gradually) and you can transfer the things you learn in Ada more easily into other languages. I've mentioned this before but I had real problems with organising my modules in C and Pascal, but after programmng in Ada for a few months when i went back and tried to program in C i was able to organise the code better, as far as C would allow. While i'm not a beginner, i think this says something about Ada. It promotes good software development practices. This cannot be said about Basic or indeed Java (it ties you to OOP even when it makes things over complex). Chris