Comparing C and Ada development cost

Go get a cup of tea/coffee, sit yourself in your favorite chair and get ready for a very interesting and well-written study that compares the development cost of C versus Ada.

Comparing Development Costs of C and Ada.

Yea, I know it’s an old article (they talk about the coming Ada94 – yes 94!), but it is my guess that most of what applied back then still holds true today.

Programming Languages often incite zealotry because of theoretic advantages, whether from market acceptance or from intrinsic features. Practical comparisons of languages are more difficult. Some projects, notably prominently failing ones, cite choice of language and tools as a reason for their failure. Analysis is complex however: big projects aren’t done twice in parallel just to see which language/tool choice is better, and even then there would be questions about the relative talent, teamwork, and fortunes of the efforts. This article discusses one case where most variables were controlled enough to make a comparison between development costs of C versus development costs of Ada.

The funny thing is that this study in many ways mirror my personal experience in going from PHP to Ada. I’ve no scientific data to support it, but I honestly feel that I’m producing better software using Ada than I’ve ever done using PHP. The two simply doesn’t compare.

In case you can’t be bothered to read the entire study, here’s the conclusion:

Our data indicates that Ada has saved us millions of development dollars. For every development dollar, we could make a case for another three dollars for customer support, sales, marketing and administration costs, spent not only for the extra development but also to calm customers who are affected by our product slips or malfunctions.

In short: Use Ada, save money and get both a better product and happier customers. It should be a nobrainer.

New Wiki Article: C++ bindings example

A while ago Luis P. Mendes started a thread at comp.lang.ada named Need some light on using Ada or not. One of the questions Luis put forward is:

2. In C++ I can use lots of libraries. I’m thinking on data visualization libraries, for example http://www.graphviz.org/Gallery/undirected/softmaint.html. I’ve read that Ada can use some C bindings. Can I use any C library? Some? Is it easy? I don’t want to drop C++ for Ada to build a project that later has to be rewritten in C++ because of lack of libraries.

Actually, that was a bit more than just one question, but the general gist of it is: Can Ada bind to C/C++.

And of course the answer to this is a resounding “Yes!”.

Later on in the same c.l.a. thread Brian Drummond give an example on how to do this, and it is this example that Luis have added to our Wiki:

C++ bindings example.

I’d like to extent my thanks to Brian Drummond for coming up with the example in the first place, and Luis P. Mendes for bothering to add it to our Wiki. Thanks!

Now all we need is some Ada binding expert to peek it over to make sure the examples are sound.