August 10, 2012
> The program was written with Ada and failed in a most stupid way. Is it not a proof enough that safety cannot be sensibly enforced by mechanical tools? And this was the main rationale for Ada from day one. If you check for possible commercial compilers you will see that most of them remember the days of Windows 95. Ada was forced on people by administrative means and died when those means were removed. I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?

The F35 runs on C++.

"Another difference with JSF is we have learned well the lesson that Moore's Law can work against you if you don't pay attention," Jeffreys continues. "So we have designed for technology refresh, so at the appropriate time we can stop putting in the 1 GHz processor board and swap out to the 2 GHz board without having to go back and do any redesign. We were once required to use a MIL-STD-1760 processor with Ada or other military languages; now we use commercial PowerPC with C++."

August 10, 2012
On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?

It's all in C.

Take a look at bearophile's list of Ada features advertised as making Ada code less buggy. Then look at, for example, dmd's bugzilla list.

How many of those bugs would have been prevented by Ada's features?

I'd say about 0.


August 10, 2012
On 8/10/2012 1:22 AM, meh wrote:
> "Another difference with JSF is we have learned well the lesson that Moore's Law
> can work against you if you don't pay attention," Jeffreys continues. "So we
> have designed for technology refresh, so at the appropriate time we can stop
> putting in the 1 GHz processor board and swap out to the 2 GHz board without
> having to go back and do any redesign. We were once required to use a
> MIL-STD-1760 processor with Ada or other military languages; now we use
> commercial PowerPC with C++."

It's a heck of a lot cheaper to keep things running if they are built out of commodity hardware.
August 10, 2012
On Friday, 10 August 2012 at 08:38:18 UTC, Walter Bright wrote:
> On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
>> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?
>
> It's all in C.

Nope, at some place of the compilation there is some intermediate C code, yes, but the stuff the developers wrote is not C.

> Take a look at bearophile's list of Ada features advertised as making Ada code less buggy. Then look at, for example, dmd's bugzilla list.
>
> How many of those bugs would have been prevented by Ada's features?
>
> I'd say about 0.

for example 4491 and 4835. This should render your "0" invalid.
August 10, 2012
... I fold. I'll wait over at my 'module paths' thread for everyone to stop arguing about D vs language of the week.
August 10, 2012
On 08/10/2012 11:51 AM, jack wrote:
> On Friday, 10 August 2012 at 08:38:18 UTC, Walter Bright wrote:
>> On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
>>> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?
>>
>> It's all in C.
>
> Nope, at some place of the compilation there is some intermediate C
> code, yes, but the stuff the developers wrote is not C.
>
>> Take a look at bearophile's list of Ada features advertised as making
>> Ada code less buggy. Then look at, for example, dmd's bugzilla list.
>>
>> How many of those bugs would have been prevented by Ada's features?
>>
>> I'd say about 0.
>
> for example 4491 and 4835.

Those are not actually bugs. 4491 should probably be marked as an
enhancement request just as 4835 already is.

Anyway, how would a compiler written in Ada magically have support for
those enhancements?

> This should render your "0" invalid.

It does not.
August 10, 2012
On Friday, 10 August 2012 at 08:38:18 UTC, Walter Bright wrote:
> On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
>> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?
>
> It's all in C.
>
> Take a look at bearophile's list of Ada features advertised as making Ada code less buggy. Then look at, for example, dmd's bugzilla list.
>
> How many of those bugs would have been prevented by Ada's features?
>
> I'd say about 0.

And how many of those bugs would have been prevented with D's const system? (Which apparently still has some holes wrt delegates ...)

But IMHO it's an absurd comparison anyay since dmd does not qualify as a hard realtime system with provably bounded memory usage (which is what Ada is about ...)

August 10, 2012
On 8/10/2012 2:51 AM, jack wrote:
> On Friday, 10 August 2012 at 08:38:18 UTC, Walter Bright wrote:
>> On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
>>> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?
>>
>> It's all in C.
>
> Nope, at some place of the compilation there is some intermediate C code, yes,
> but the stuff the developers wrote is not C.

According to this, it's C:

http://programmers.stackexchange.com/questions/159637/what-is-the-mars-curiosity-rovers-software-built-in/159638#159638?


>> Take a look at bearophile's list of Ada features advertised as making Ada code
>> less buggy. Then look at, for example, dmd's bugzilla list.
>>
>> How many of those bugs would have been prevented by Ada's features?
>>
>> I'd say about 0.
>
> for example 4491

No, the compiler is detecting it and working as expected.

> and 4835.

It's arguable.

> This should render your "0" invalid.

Even if you find any, I sad "about" 0.


August 10, 2012
On 8/10/2012 11:07 AM, Araq wrote:
> On Friday, 10 August 2012 at 08:38:18 UTC, Walter Bright wrote:
>> On 8/10/2012 1:05 AM, "Franciszek Czekała" <home@valentimex.com>" wrote:
>>> I wonder how much Ada is in Curiosity on Mars. Let me guess, 0%?
>>
>> It's all in C.
>>
>> Take a look at bearophile's list of Ada features advertised as making Ada code
>> less buggy. Then look at, for example, dmd's bugzilla list.
>>
>> How many of those bugs would have been prevented by Ada's features?
>>
>> I'd say about 0.
>
> And how many of those bugs would have been prevented with D's const system?

Probably several. David Held has been reviewing the source code, and has found interactions between subsystems of the compiler that shouldn't be there, and would have been detected if const was used properly.

Const does a couple things:

1. it is self-documenting, making code using it automatically clearer wrt what an interface does and does not modify

2. it forces you to think carefully about interface design. This has caused a lot of discussion in the use of const on interfaces in the Phobos design

Also, dmd is not a multithreaded program, and const contributes a lot towards writing less buggy multithreaded programs, again by making interfaces clearer.


> (Which apparently still has some holes wrt delegates ...)

I know, but that's irrelevant to this discussion.


> But IMHO it's an absurd comparison anyay since dmd does not qualify as a hard
> realtime system with provably bounded memory usage (which is what Ada is about ...)

I don't think it's irrelevant at all. I think the topic of what language features contribute to writing bug free code and what features contribute to buggy code is very topical and interesting, and *important*.

August 10, 2012
>> FSF's GNAT in GCC is GPL with linking exception, like the rest of GCC.
>> If you say "you can't build commercial software" with this, you can't build commercial software with GCC either.
>>
> Check http://libre.adacore.com/comparisonchart/

FSF's GNAT is not Adacore's GNAT ...
http://en.wikipedia.org/wiki/GNAT#License

> The program was written with Ada and failed in a most stupid way.

It wasn't Ada's fault. The guys explicitely disabled some runtime checks. By the same logic you could blame the CPU they used ... Correlation is not causation.