4 ms·
> However, C++ sometimes is used for those tasks, which boggles the mind. That's because the people making such decisions are not the ones qualified to do so (
by maaku 12y ago
> However, C++ sometimes is used for those tasks, which boggles the mind.
That's because the people making such decisions are not the ones qualified to do so (see the Lisping at JPL article you linked to). Their logic is probably along the lines of "if it's good enough for industry, ..." -- that's not an ellipsis, it is literally as far as the thought probably went.
Source: I worked at NASA for 4 years.
- platz 12y agoextremely complex software such as what the F-35 runs on, is all C++ https://news.ycombinator.com/item?id=7628746 https://news.ycombinator.com/item?id=7628746
- maaku 12y agoAnd?
- AnimalMuppet 12y agoI presume, "... and that's mission-critical in the same way that NASA's stuff is. Therefore, the idea that you can't/shouldn't do mission-critical software in C++ is mistaken." Note well, though, that the coding standards strictly limit the C++ features you can use. It's not done the way your average bunch of C++ code cowboys sling out an application.
- maaku 12y agoThat doesn't negate what I was saying in the slightest: project managers are picking unsafe languages like C++ for safety critical applications for non-technical/ignorant reasons. F-35 is a similar example (worse because the contractor was probably at fault here: using C++ made the software system go way over budget on a cost-plus contract, and will likely result in larger maintenance contracts down the road. That's a win-win as far as the contractor is concerned...)
- kisielk 12y agoyou mean the project that's plagued with cost overruns and delays because of software problems? http://spectrum.ieee.org/riskfactor/aerospace/aviation/software-testing-problems-continue-to-plague-f35-joint-strike-fighter-program http://spectrum.ieee.org/riskfactor/aerospace/aviation/softw...
- laureny 12y agoC++ is still a very big step forward compared to Fortran, Algol or Ada.
- groovy2shoes 12y agoA very big step forward in what way? C++ is a very big step backward in safety compared to Fortran, Algol, or Ada.
- evincarofautumn 12y agoI was under the impression that Ada is significantly safer than C++, particularly with the 2012 standard that adds support for contracts, and that it mainly suffers from a lack of tooling.
- taeric 12y agoThe elephant in the room there is the importance of tooling. Consider, explosions and explosive chemicals are themselves ridiculously dangerous and for the most part to be avoided. However, with the proper tooling and use, one can use them to accomplish some fairly amazing things. That is, many of the "safer" languages try to get by with disallowing explosive and dangerous constructs. With some of the more advanced tooling that is available and good discipline, one can still do some amazing things with them.
- a-priori 12y agoMy knowledge of safety critical software is not extensive and several years out of date, but my understanding is that the big two languages in safety critical software are still MISRA C (a subset of C designed to enforce safety via static analysis, see http://en.wikipedia.org/wiki/MISRA_C http://en.wikipedia.org/wiki/MISRA_C), and Ada. As far as I'm aware, Fortran and Algol are not widely used. But feel free to correct me.
- coldtea 12y agoStep forwards from Ada? And you compare Ada to Algol and Fortran? What exactly do you know about Ada?