Re: 7E7 Flight Controls Electronics

From: Richard Riehle (adaworks_at_earthlink.net)
Date: 05/30/04


Date: Sun, 30 May 2004 18:35:10 GMT


"Pascal Obry" <pascal@obry.org> wrote in message
news:ulljal52z.fsf@obry.org...

> Well they don't see the costs of educating C/C++ programmers to Java
either
> but they do it since everybody else does it :) And the next wave is C# :)
> Until the next language...
>
Programming language selection, like politicians, is made on the basis of
slogans, buzzwords, and half-truths. Almost no one in the DoD contractor
community is making programming language selection based on a full
and informed basis. The choice of "experienced" Java programmers
over experienced domain experts, is one of those kinds of decisions.

Experienced software project managers realize that language skills are
more easily taught than domain knowledge. Of course, we need a
good mix of languages experts and domain experts for any project.
More important than experience in some specific programming
language is experience developing software in a variety of languages.

For safety-critical software, or for software where a high level of
dependability is essential, Ada is still the best decision. However,
when finding inexpensive university-trained programmers is the goal,
Java is the right choice. Of course, those Java-trained programmers
are not likely to understand much about real-time controls, the deeper
concerns of concurrency, the techniques for achieving efficient low-level
constructs, scheduling algorithms, or most of the other stuff we routinely
teach our Ada programmers, but no matter; they can write web pages,
create little GUI programs, and target the JVM.

In one of my classes this Quarter, Programming Paradigms, we are focusing
our attention on two languages: C++ and Ada. The students have already
had two Quarters of Java before entering this class. We also introduce
them to several other languages such Eiffel, Lisp, Prolog, and my favorite,
Smalltalk. As they become more and more informed about Ada, after
studying C++ and a lot of Java, many tell me how much they enjoy Ada,
and ask why it isn't used more. Yes, they continue to use Java, because
they know a lot more of it, and they can make those little GUI's (although
they also write MS-Windows programs in Ada in this class), and the
other professors prefer them to us C++. But they are learning that there
are choices, and Ada is a good choice for certain classes of problems.

One reason Ada is not more widely accepted is that it has been so badly
presented so often. True, C++ is usually taught badly as well. But Ada
suffers from the many mistakes we have made over the past twenty
years in the way we have taught it. Professors, most of them I know,
want nothing to do with Ada. It is not as new and interesting to them as
Java. Moreover, they can get papers published more easily in Java than
they can in Ada. I have been told not to submit a paper if my examples
are in Ada. I am advised to use Java instead. To which I reply, "No
thanks.
I really don't have a compelling need to publish."

C# is an interesting language. It seems to have learned a lot from Ada, as
well
as from Java. There are some things I dislike about it. There is even
one
feature I simply find annoying: the misuse of the term "delegation." In
OOP,
delegation has long had one well-understood meaning, and C# has corrupted
that meaning to be the equivalent of a pointer to function. Sheeeeeeesh!

Richard Riehle



Relevant Pages

  • Re: How come Ada isnt more popular?
    ... I think that Ada *and* Haskell will make an interesting ... I wonder why one wouldn't just use Monads in most cases? ... a systems programming language. ... important reason not to ignore functional programming is [... ...
    (comp.lang.ada)
  • Re: 71% Say Finding New Energy Sources More Important than Conservation
    ... Most of the drive to define was for a test programming language, because each tester had it's own language and the engineer would have to re-write the program every time the testor changed. ... The only reason it was used was because people saw that it would have a longer life time than ADA. ... My group at Stanford switched to Java as their language of choice after giving up on C++ as too flawed to use. ...
    (soc.retirement)
  • Re: Static vs Dynamic
    ... (Java has too much noise in its source code, ... lot to ask and is typical in a typed language supporting polymorphism. ... > developers can easily learn the Java programming language; ... > obivous bugs slip through and b) in many cases, ...
    (comp.lang.lisp)
  • Re: why is "self" used in OO-Python?
    ... and worse this has spread from Java into other ... by whatever happens to be the first OO language they learn". ... If the first programming language (or the ... I have no objection to teaching Java in a CS curriculum. ...
    (comp.lang.python)
  • Re: Public disclosure of discovered vulnerabilities
    ... I spoke of Java; ... > necessary when programming in Java. ... > it is every single programmer who wants to use the language securely. ... this is what we call the "mental model" problem in aerospace. ...
    (sci.crypt)