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,442a61fa28886220 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-14 14:28:54 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsmi-us.news.garr.it!NewsITBone-GARR!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!louie!tlk!not-for-mail Sender: lbrenta@lbrenta Newsgroups: comp.lang.ada Subject: Re: Ada for a programming newb. References: From: Ludovic Brenta Date: 14 Sep 2003 23:29:02 +0200 Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Organization: -= Belgacom Usenet Service =- NNTP-Posting-Host: 80.200.138.190 X-Trace: 1063574933 reader0.news.skynet.be 24162 80.200.138.190:54480 X-Complaints-To: usenet-abuse@skynet.be Xref: archiver1.google.com comp.lang.ada:42495 Date: 2003-09-14T23:29:02+02:00 List-Id: Kyle Root writes: > I was wondering if Ada would be suitable for me. I've started to learn Java > (and I actually understood most of it) but just gave up cause I found more > interesting things to do and it seemed that I never could make time for it. > But now I've got plenty of time and want to learn to program again. > There doesn't seem to be as much documentation (so I'm a little confused as > to how one'd go about learning it) as in some other languages but it is > very easy to read and looks very pascal-like (I know because I've been > looking at quite a few languages). > What do you think? > Thanks, > Kyle Programming is inherently difficult. Among other lessons, experienced programmers have learned that "the devil is in the details". You may get the general picture right, but you may (and indeed will) make small mistakes in the details and your programs will fail as a result. Different languages handle this problem differently. Some languages choose to be lax and forgiving to the beginning programmers, so as to appear to be easy-going. The price to pay is that they do not detect your mistakes, and you have to look for them yourself when your program fails for obscure reasons (which is called "debugging"). This is for example the case of C and, to a lesser extent, Java. By contrast, Ada is an old, picky lady who reviews your work very closely and tries to point out your mistakes (she was the first programmer in history, so she should know a good program from a bad one :) ). If you choose Ada, you will naturally learn to think straight, and to be precise and systematic. Those are good skills for a programmer, which you can later apply to all programming languages. I contend that an Ada programmer can adapt to pretty much any language very easily, but the converse is not true. If you start with Java, the learning may at first seem easier but in fact you will learn less. I guess it is up to you to decide which style suits you best. There are intermediates between Java and Ada. I would list just a few languages here, but there are many more that you may want to explore. >From the most lax to the most strict: C, Java, C++, Pascal, Modula-3, Ada. If after reading this you are still interested in Ada, there is an excellent book by John English, which is by the author's own words "aimed (...) squarely at the beginning programmer learning Ada 95 as a first language". Here is the URL: http://www.it.bton.ac.uk/staff/je/adacraft/. Also look at the following portal sites, which will direct you to additional resources: http://www.adaic.com http://www.adapower.com http://www.adaworld.com Hope this helps. -- Ludovic Brenta.