Hacker News new | ask | show | jobs
by waveman2 4403 days ago
One other factor I would mention is the massive uncoolness of Ada. This seems to come from three directions:

1. Invented by and for a bureaucracy known for its extravagance and wastefulness.

2. Verbosity of a degree only before seen in COBOL.

3. A focus on avoiding errors above all else. For people who have a positive/benefits focus like most hackers, this negative focus is very unappealing and provokes references to anal-retentive pedants and so forth.

I would agree with others who pointed out the other problem "won't run on a computer I can buy - and anyway I can't afford the compiler". This is not to criticise the compiler developers but nonetheless it was a problem.

http://en.wikipedia.org/wiki/Worse_is_better

1 comments

Oh please, the comparison of Ada to COBOL is invidious. Ada simply requires you to be explicit about your intent. This is a feature, not a flaw. You mean to say that you've never been burned by an implicit conversion in C, or a misplaced semi-colon? Ada is no less verbose than Java.
I think grandparent refers to what appears to be gratuitous verbosity, i.e.

    procedure Foo is
    begin
    ...
    end Foo;
    
vs java

    void foo() {
    ...
    }
Even if one wanted to be explicit about indicating what "End" refers too this could have been

   proc Foo
   ...
   end Foo
EDIT: when I write "appears" I mean "there may be a perfectly good reason for it but isn't obvious", not that it is in fact gratuitous.
I am an Ada developer, but I think it is objective to say that anyone who opposes a language because there fingers will have extra work probably doesn't belong in this field. If you consider the development process as a whole—research, planning, development, verification, etc.—those extra keystrokes add an exceptionally marginal amount of time to the development process, but reduce time so much more by making the code more intuitive to read. Don't let me lead you to believe that Ada's words make it intuitive; that would be disingenuous, but the syntax has been formed since its inception to be readable by developers and non-developers alike. This is an important distinction with something like Java, neverminding that you don't have to explicitly instantiate generics in Java. One of the key objectives of Ada is code that is especially intuitive to non-developers. There's a lot going on in the language. I hope this helps.
Variable and type declarations happen between the procedure foo and the begin.