TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
"David J.A. Koogler" <[log in to unmask]>
Wed, 15 Apr 1998 08:54:43 -0400
text/plain (40 lines)
Tom Moran wrote:

> What might cause a programmer, when given a new assignment,
> to say to his boss "Let's try Ada for this"?

For me this one is simple: variable size data structures. When
you need to implement twenty or so variable size data types and
create all of the code to management them, you begin to discover
the shortcomings of simple minded languages such as C.

A simple example are strings. The C language itself can not
represent a string. The best it does is give you a pointer and
character datatype. It is up to the programmer to construct all
of the access and maintenance functions. Of course, most C
runtime libraries supply these functions so most C programmers
claim C supports strings.

The problem becomes much more difficult with more complex data
types, such as non-homogenous lists and trees. When faced with
such data structures, a C programmer naturally turns to C++.
Again you find C++ has most of the same problems in this area
as C but with overloading and templates the problems are much
more managable but still not as complete and as elegant as Ada.

When I discovered how easily Ada supported variable size data
types, I knew I found just language I needed. Combine that with
a better infrastructure through packages and generics, Ada was
for me the best choice.

PS. As for the much vaunted C/C++ toolset, take a deep look. Most
of the tools are buggy and unreliable. How many C/C++ tools can
correctly parse any given C source? Apparently similar code written
to different compilers can have many strange parsing problems. C++
is even worse. Try to find a complete publically available grammar
to construct tools from. I just can not wait until ACT releases a
public ASIS-for-GNAT; then I can write some really useful tools!

Dave Koogler
Boolean Solutions, Ltd.

ATOM RSS1 RSS2