comp.lang.ada
 help / color / mirror / Atom feed
From: David Marceau <davidmarceau@sympatico.ca>
Subject: Re: Why is Ada NOT a good choice for a beginner to programming?
Date: Sat, 21 Dec 2002 06:57:48 -0500
Date: 2002-12-21T06:57:48-05:00	[thread overview]
Message-ID: <3E04573C.4D4257FB@sympatico.ca> (raw)
In-Reply-To: au0nld$b0$1@bunyip.cc.uq.edu.au

First off I am not a great programmer.  I'm more average than anything
else.

Secondly for anybody who wants to be a programmer and reach the zen of
programming I have two suggestions I want to make before answering your
Mr. Wright's questions:  a wanna-be programmer needs to have some basic
human traits and needs to buy some basic core equipment improving
working endurance capability.

Needed Human Traits:
--------------------
1)patience(I've got this)
2)perseverance(I've got this)
3)organization(I'm pretty much human, sometimes I brain fart like
everybody else and don't use an agenda/engineering log when I should).
PSP(Personal Softare Process by Watts S. Humphrey)/CMM standards are a
good habit to develop to help you reach zen ASAP.  I'm not a fan of
extreme programming and I don't want to start a debate on this. 
Eventually you will realize you have to develop Project Manager skills
to just manage yourself :)  Learning project management sofware/CMM/PSP
support software is a good idea.
4)like being in front of a computer because that's where you'll be.
5)Sensitivity to your entourage and self-awareness.  To help you with
this you might want to read a bood on Emotional Intelligence.  If you've
got some personal issues to deal with, you won't be able to focus on the
programming tasks at hand.  Again I'm human and sometimes I brain fart
like everybody else but these kinds of books prevent me from doing it as
often.

Needed Basic Core Equipment Improving Working Endurance Capability
------------------------------------------------------------------
To save you wasting any energy in your efforts with any languages you do
learn in your career path,
1)get quality glasses
2)get a quality monitor, my eyes think color lcd panels are ten million
times better than Cathode Ray Tube types.  Trust me if you do get an LCD
color monitor you will be able to stay in front of your computer for
longer periods of time without getting as much eye fatigue.  A solid
example of this:  I can barely make it through 7.5 hours in front of an
Envision CRT because it leaves a pinching pain in my left eye after the
whole day.  On the other hand a ViewSonic LCD Color Flat Panel Display,
I can stay in front of the computer for about two days straight without
going to bed no problem.  I can't be any clearer than that.
3)Once you discover you have a nice rythm when playing a particular
keyboard for your computer, buy a couple of the same brand name mark and
model number and keep them in storage.  In this way you can have one
keyboard you're used to at home and another keyboard you're used to at
work.  This makes a huge difference in productivity.  I haven't detected
significant quality problems with keyboards but IMHO ergonomic weird
shaped keyboards are not for me.  The standard IBM keyboard is hard to
beat.  My current keyboard that I love is a Future Power KB-FPPC2001/E
but with no special web buttons because I don't like all the extra
value-added crap.  I just want a keyboard that resembles the old
mechanical typewriter keyboards that I learned keyboarding on.  Having
two keyboards like this avoids the frustration of going at work and
working on a keyboard that you doesn't exactly match the keyboard layout
that you're used to.

David Wright wrote:
> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?
I think if you have patience, learning Ada95 is a good start.  I didn't
always have that opinion considering c/C++/asm/basic have smaller
vocabularies.  IMHO Ada95 was not intended for having smooth learning
curve.  It was mainly intended of helping build large applications and
helping to maintain them more easily to be blunt.  There are a lot of
other design goals for the language but that's the gist.

Mr. Wright I am thirty-five years old and I no longer have any time and
energy to waste.  I have gone through learning basic, asm, prolog,
c/c++, perl, odl/idl, ada95, java, javacard and j2me in about their
respective order along with compiler tools/grammar.  I've done
OLE/COM/DCOM/JNI.
I'm sorry for all the buzzwords but I need to back up that I believe my
opinion should be valuable considering the experience that I bring to
discussion.

All these thingamajig language buzzwords to do something of concrete
value to society.  Some don't break easily.  Some don't seem to protoype
a gui very quickly.  Some seem to compile very quickly.  Some seem to
execute quickly.  Some seem to be maintained easily.  Some seem to build
the executable more easily.  Some have a larger vocabulary and not as
easy to remember.  Ada95 is all the best of these IMHO.  I love
compiling Ada95 code knowing it has a better chance of working first
shot on many operating systems and passing all the unit tests than
c/c++/java/j2me...
Why because all the harder concurrency/multitasking stuff that most
people want to do while networking/gui-ing/databasing is all there in
the ada95 vocabulary with tried and tested recipes.  All you have to do
is learn these Ada95 recipes.  It takes time learning the language but
at least you won't have to struggle against the coding concepts in any
other language that are not necessarily guaranteed to compile and work
on many targets.  Ada95 was intended to jump over all those hurdles for
you in order for you to concentrate on the problem that you are trying
to solve.  From what I have understood a good bunch of these recipes are
in Ada95 books by the following authors:  Barnes, Cohen, Burns,
Wellings.  IMHO that's the order that I would learn these books too if I
were you.

> 2) Would you recommend that I immerse myself in either BASIC (QBasic) or
> PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and
> THEN springboard to Ada?
I would recommend investing all your time in Ada95 permitting you to
save time developing the systems you want to make as soon as possible.
I would also recommend compiling your Ada95 on at least two different
platforms i.e. win32 and linux to understand its power.

With time you will probably end up trying to do the same thing with
basic, vb, c, java, j2me, tcl and perl.  After doing so I believe you
will come to the same conclusion as I have: All languages have there
place but if you want something that needs to work on any target Ada95
rules :)

> 
> 3) If you were to opt for Ada as an entry point, which particular dialect or
> environment would be the most user friendly from a set up and
> ?learning-the-fundamentals? point of view. Since I have a choice, I?d like
> an Ada encounter that is a FUN experience, rather than marred by
> gratuitious, buggy FRUSTRATION (which is why I'm not keen on beginning with
> C, C++ or Java, even though others do).
-emacs as a programmer's editor.  It may seem hard to learn but it has
some strong points like Ada95 in its favor that many people don't
appreciate because they haven't taken the time to look closely into the
software.
-gnat Ada95 compiler

Don't let the sleek first impression that msvc/msvb/java gui's give you
fool you.  Learn the language without thinking about gui's right away. 
Thinking about gui's is like opening a can of worms when you want to
learn something.  Stick to just doing command-line, file input output
stuff.
With just this, you'll have plenty of learning here to keep you busy. 
Note the last book I recommended you Burns and Wellings is how to do
concurrency stuff.  Again learn about doing this stuff without guis
first then when you're solid here start learning about any gui sdk you
want.  That's where all the different operating systems differ the most
so avoid it like the plague for now.
As a last step when you're solid with ada95 and concurrency(that'll keep
you busy for quite some time), then I suggest gtk as a gui sdk which
goes well with gnat.
I've done work with Motif/win32/xview/swing/awt so IMHO if you want to
hit all targets in one sweep,  I believe gtk is a good direction for
many reasons which I have discussed in previous CLA postings but to be
frank I haven't invested much time in gtk yet.  I've only compiled and
looked at the source code for the examples and liked what I saw.

REALITY CHECK
-------------
That said reality hits and if you want a job you will have to adapt to
other languages/gui's/sdk's whenever you change jobs with other
companies.  My reality is I change companies often.  Not because I want
to but just because that's the way it is.  One thing is for certain
you're ada95 concepts will follow you everywhere and you will be able to
apply those strong concepts to minimize the damage of using some other
language as much as possible.

Hey if I'm wrong about anything I have said in the above please feel
free to criticize me.  I'm all ears :)

I hope this helps.

You average human,
David Marceau



  parent reply	other threads:[~2002-12-21 11:57 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-21  3:30 Why is Ada NOT a good choice for a beginner to programming? David Wright
2002-12-21  5:44 ` sk
2002-12-23 14:29   ` Wes Groleau
2002-12-23 17:36     ` sk
2002-12-23 18:24       ` David Wright
2002-12-23 19:16         ` sk
2002-12-23 19:48           ` David Wright
2002-12-23 21:33             ` Wes Groleau
2002-12-23 21:17           ` Robert A Duff
2002-12-24 19:22             ` faust
2002-12-24  0:46               ` Robert A Duff
2002-12-24  9:41                 ` Pascal Obry
2002-12-25  4:43                 ` faust
2002-12-27 17:54                   ` Warren W. Gay VE3WWG
2003-01-02 13:50                     ` Wes Groleau
2002-12-25  7:24                 ` AG
2003-01-02  9:56                   ` John McCabe
2003-01-02 13:47                 ` Wes Groleau
2003-01-08 19:39                   ` faust
2003-01-08  2:44                     ` Jeffrey Creem
2003-01-08 18:54                       ` Wes Groleau
2003-01-08 19:48                         ` chris.danx
2003-01-08 21:59                           ` Wes Groleau
2003-01-09 15:31                             ` Georg Bauhaus
2003-01-10  3:26                               ` Hyman Rosen
2003-01-10 22:58                                 ` Georg Bauhaus
2003-01-10  3:51                               ` Kevin Cline
2003-01-10 13:29                               ` Wes Groleau
2003-01-11 12:09                               ` Richard Riehle
2003-01-11 18:13                                 ` Wes Groleau
2003-01-09 16:52                           ` faust
2003-01-08 21:57                             ` Vinzent Hoefler
2003-01-09  0:59                       ` faust
2003-01-09  0:59                       ` faust
2003-01-08 13:14                         ` Ted Dennison
2003-01-08 17:41                         ` Warren W. Gay VE3WWG
2003-01-09 16:40                           ` faust
2003-01-08 21:58                             ` Vinzent Hoefler
2002-12-23 21:30         ` Wes Groleau
2002-12-23 22:11           ` David Wright
2002-12-30 16:22         ` Mark
2002-12-24  0:50     ` Craig Carey
2002-12-29 14:44       ` Colin Paul Gloster
2002-12-21  8:39 ` arvids lemchens
2002-12-21  8:53 ` Gautier
2002-12-21  9:42 ` Craig Carey
2002-12-21 10:44 ` Dale Stanbrough
2002-12-21 15:47   ` Alfred Hilscher
2002-12-21 19:01     ` tmoran
2002-12-22  1:06       ` Robert C. Leif
2002-12-23 14:56         ` Wes Groleau
2002-12-23 11:05       ` Alfred Hilscher
2002-12-22  0:34     ` James S. Rogers
2002-12-23 11:11       ` Alfred Hilscher
2002-12-23 14:32         ` Wes Groleau
2002-12-23 19:54         ` tmoran
2002-12-21 10:51 ` Why is Ada a good choice for an ambitious beginner to programming Wojtek Narczynski
2002-12-22 14:40   ` Bill Findlay
2002-12-22 15:08     ` Bill Findlay
2002-12-22 23:02       ` David Wright
2002-12-23  1:36         ` Bill Findlay
2002-12-23  2:13           ` David Wright
2002-12-23 14:40           ` Wes Groleau
2002-12-27 21:25             ` Randy Brukardt
2002-12-23 11:52     ` Wojtek Narczynski
2002-12-23 14:12       ` Bill Findlay
2002-12-23 20:15         ` Wojtek Narczynski
2002-12-24 19:29           ` Bill Findlay
2002-12-24 22:56             ` Wojtek Narczynski
2002-12-24 23:31               ` Bill Findlay
2002-12-24 23:36               ` Adrian Knoth
2002-12-25  8:23             ` Hyman Rosen
2002-12-27 17:27               ` Kevin Cline
2002-12-28  1:56                 ` Bill Findlay
2002-12-28  2:13                   ` Bill Findlay
2002-12-29  6:07                   ` Hyman Rosen
2002-12-23 20:52         ` Wojtek Narczynski
2002-12-23 20:07     ` chris.danx
2003-01-02 10:04     ` John McCabe
2003-01-02 21:32       ` Bill Findlay
2003-01-04 22:55         ` David Wright
2003-01-05  0:50           ` Bill Findlay
2003-01-05  2:18             ` David Wright
2003-01-05  3:57               ` John R. Strohm
2003-01-10  2:51                 ` Richard Riehle
2003-01-10  9:45                   ` David Wright
2003-01-10 10:59                     ` Richard Riehle
2003-01-11 17:47                     ` u.r. faust
2003-01-06  9:43               ` John McCabe
2003-01-06 10:05         ` John McCabe
2003-01-06 11:13           ` Bill Findlay
2003-01-10  2:58           ` Richard Riehle
2003-01-10  9:29             ` John McCabe
2002-12-21 11:57 ` David Marceau [this message]
2002-12-21 15:59 ` Why is Ada NOT a good choice for a beginner to programming? Alfred Hilscher
2002-12-21 17:48 ` Britt Snodgrass
2002-12-21 20:05 ` Peter Hend�n
2002-12-22  1:54 ` faust
2002-12-22  1:28   ` Hyman Rosen
2002-12-22  2:11     ` Larry Kilgallen
2002-12-22 22:49     ` faust
     [not found] ` <u7m2ua.qk3.ln@beastie.ix.netcom.com>
2002-12-23 14:55   ` Wes Groleau
2002-12-24 14:01 ` W D Tate
2002-12-24 20:06   ` Rod Haper
2002-12-25  0:37   ` noone
2002-12-26 13:23     ` W D Tate
2002-12-26 20:37       ` David Starner
2002-12-27 14:02         ` W D Tate
2003-01-13 12:18 ` John English
  -- strict thread matches above, loose matches on Subject: below --
2002-12-21 15:47 Alexandre E. Kopilovitch
2002-12-23 14:48 ` Wes Groleau
2003-01-10  6:38 Grein, Christoph
2003-01-10  8:21 ` Hyman Rosen
2003-01-10 15:51 ` Kevin Cline
2003-01-10 19:00 ` Kevin Cline
2003-01-10  8:35 Grein, Christoph
2003-01-10  9:26 ` Hyman Rosen
2003-01-13 16:49 ` Hyman Rosen
2003-01-13  6:13 Grein, Christoph
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox