Hacker Newsnew | past | comments | ask | show | jobs | submit | zeroc8's commentslogin

Skip indoctrination so that we can easier indoctrinate you...


C++ is not that hard to pick up. But writing error free C++ code is hard as hell.



That probably would see more success than the monster they've created. I've been out of the C++ world for a while, but I hardly recognize the language anymore.


Ada and especially Spark makes it a whole lot easier to produce correct software. That doesn't mean it automatically leads to better software. The programming language is just a small piece of the puzzle. But an important one.


> Ada and especially Spark makes it a whole lot easier to produce correct software.

Relative to what? There are formal verification tools for other languages. I have heard Ada/SPARK is good, but I do not know the veracity of that. And Ada companies promoting Ada have horses in the race.

And Ada didn't prevent the Ada code in Ariane 5 from being a disaster.

> The programming language is just a small piece of the puzzle. But an important one.

100% true, but the parent of the original post that he agreed with said:

> And the F35 and America's combat readiness would be in a better place today with Ada instead of C++.

What is the proof for that, especially considering events like Ariane 5?

And Ada arguably has technical and non-technical drawbacks relative to many other languages.

When I tried Ada some weeks ago for a tiny example, I found it cumbersome in some ways. Is the syntax worse and more verbose than even C++? Maybe that is just a learning thing, though. Even with a mandate, Ada did not catch on.


>What is the proof for that, especially considering events like Ariane 5?

Ariane 5 is a nice anti-ada catchphrase, but ada is probably the most used language for war machines in the United States.

now the argument can be whether or not the US military is superior to X; but the fact that the largest military in the world is filled to the brim with warmachines running ada code is testament itself to the effectiveness of the language/dod/grant structure around the language.

would it be better off in c++? I don't know about that one way or the other , but it's silly pretend ada isn't successful.


But Ada had for a number of years a mandate to require its usage [0]. That should have been an extreme competitive advantage. And even then, C++ is still used these days for some US military projects, like F-35. Though I don't know whether the F-35 is successful or not, if it is not, that could be an argument against C++.

Ada is almost non-existent outside its niche.

The main companies arguing for Ada appear to be the ones selling Ada services, meaning they have a horse in the race.

I barely have any experience at all with Ada. My main impression is that it, like C++, is very old.

[0]: https://www.militaryaerospace.com/communications/article/167...

> The Defense Department`s chief of computers, Emmett Paige Jr., is recommending a rescission of the DOD`s mandate to use the Ada programming language for real-time, mission-critical weapons and information systems.


Poking around it looks like ada is actually the minority now. Everything current is either transitioning to c++ or started that way. The really old but still used stuff is often written in weird languages like jovial or in assembly.


Essentially the story of DoD mandates goes down to everyone getting waivers all the time and nuking the mandate.


> Ada didn't prevent the Ada code in Ariane 5 from being a disaster

That's a weak argument to say that Ada could not lead to a better place in term of software. It's like saying that it's not safer to cross at a crosswalk because you know someone who died while crossing on one.

(But I guess that's fair for you to say that, as the argument should probably be made by the people that say that Ada would be better, and because they made a claim without evidences, you can counterclaim without any evidence :-) )

There are no programming language that can prevent a software for working correctly outside of the domain for which the software is written, which was the case for Ariane 501. Any language that would have been used to write the same software for Ariane 4 may have led to the same exact error. Ariane 501 failure is a system engineering problem here, not a software problem (even if in the end, the almost last piece in the chain of event is a software problem)


Well, readability, better typesafety, less undefined behaviour. In and out parameters, named parameters. Built in concurrency.

With C++ it's just too easy to make mistakes.


> Relative to what?

Relative to C++.

> There are formal verification tools for other languages.

None that are actually used.

I have no horse in this race and I have never actually written any Ada, but it seems pretty clear to me that it would produce more correct code on average.

Looking at the Ariane 5 error it looks like the specifically disabled the compile-time error: https://www.sarahandrobin.com/ingo/swr/ariane5.html

That's nothing to do with Ada.

Also asking for evidence is a red herring. Where's the evidence that Rust code is more likely to be correct than Perl? There isn't any. It's too difficult to collect that evidence. Yet it's obviously true.

Plenty of things are pretty obviously true but collecting scientific evidence of them is completely infeasible. Are code comments helpful at all? No evidence. Are regexes error-prone and hard to read? No evidence. Are autoformatters helpful? No evidence.


Only if they found their own companies. Usually those decisions were already made for you.


Java is ok for typical backend stuff, but Go doesn't hide things the way Java does. With Go, you actually learn what's going on, while with Java, you just learn your way around the various frameworks. As a programmer, I don't want that That said, my current company uses Spring Boot. It does its job, but it wouldn't be my top choice.


It is the programmer's job to learn what is going on. Java itself doesn't hide anything from you. You are free to write a servlet from scratch, or use a framework like Spring to hide everything. Your (company's) choice really.

People end up choosing something that has batteries included so they can focus on solving business problems. A programmer who will superficially understand SpringBoot without understanding how it works. Really, there is no magic there - its a few core concepts - annotations, bytecode enhancement and dynamic proxies. Maybe Im missing one or two. Everything else is built on top of this.

This is regardless of language/ecosystem. If I do not understand the fundamental concepts, I will never be successful in that ecosystem.


The layer in Go is much thinner, if I want to learn about a new concept or technology. Of course there is no magic, if you are willing to put the time in. The question is how much time is required.


The layer is thinner because you can't create abstractions as well in that language.

But that's like saying that a bicycle is better than a car, because the first is simpler to understand. (At the same time, nothing prevents you from assembling a bicycle in Java if that's indeed what you need. But for general long distance travel you are better off starting with a car frame, aren't you?)


Love it. What a fantastic show case for Go.


The brutalist style also meant that I didn't need a UI designer for my applications. With Delphi I was able to create great apps in a matter of days. And users loved them, because they were so snappy and well thought out. Nowadays it seems I need a UI designer to accomplish just about anything. And the resulting apps might look better but are worse when you are actually trying to accomplish work using them.


Actual interface designers communicate functionality and state through an interface. If your designer is designing interfaces that look good but are less functional for the intended user base, you’ve hired a graphic designer that claims to be an interface designer. It’s not a problem you can generalize to design or designers any more than someone can generalize that web developers suck because the ones they hire to build a serious web app are really Wordpress plugin hacks that don’t even realize they aren’t web developers.


But the fact remains that people are seeing things or lights buzzing around the sky in a manner we cannot explain.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: