TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Proportional Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Programming Language Advocacy (83 & 95)" <[log in to unmask]>
X-To: David Botton <[log in to unmask]>
Date: Mon, 29 Nov 2004 13:42:09 -0500
From: "Steve Schwarm, W3EVE" <[log in to unmask]>
Content-Transfer-Encoding: 7bit
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
MIME-Version: 1.0
Parts/Attachments: text/plain (63 lines)
I'll take a shot at it.

Why should any one learn Ada as their first language?

Ada supports strong typing so that one will learn to define their one
types and not just use the built in ones.  This includes checks to make
sure you are not mixing apples and oranges, use an out of bound array
index or type value (think of all the buffer overflow errors), a access
type (pointer) to the wrong type, etc.

Ada supports good data abstraction models for example true enumeration
types (not just named constants), implementer defined array bounds
including enumerations and characters, array slices, typed pointers,
function overloading, procedure overloading, operator overloading,
string operators, etc.

Ada supports object oriented programming, library programming,
distributed programming, large group programing and modular programming.
  The "packaging" supports a clear, compiler enforced separation of
specification and implementation.

Ada supports multi-threading including synchronization operations with
out having to learn a complicated library.

Ada supports an easy to use text I/O model without having to learn a
complicated library.  For example, you can print an enumeration value, a
single character, etc.  with a "put variable_name" statement.

Ada does this without having to learn it all to start.  The Pascal
subset is an easier language to learn and is more capable than C.

Ada does not have a lot of "magic" like "=" vs "==", the preprocessor of
C and C++, the include files needed to do anything, inability to nest
functions in functions to control scope, etc.

The current popular languages C, C++ and JAVA as starting languages ruin
your ability to develop good reliable, readable, modifiable software.
They make simple programs much more complicated than necessary and
complicated programs even more complicated.

These are my opinions and not necessarily those of current, past or
future employers.


David Botton wrote:
> I am surprised there have been no takers yet (ok, I know, turkey
> weekend, but still). I am hoping to use responses to build a better
> FAQ, articles, etc. The question was:
> Why should any one learn Ada as their first language?
> If we can't give a compelling answer to a question like that, we are in
> big trouble....
> David Botton

Steve Schwarm, W3EVE
pager: 877-502-5473 or [log in to unmask]
cell: 508-922-9688