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!
Boolean Solutions, Ltd.