3 ms·
Even with administration change in the US there is a long-term initiative across multiple agencies to eventually move to more robust software, and a part of it
by andrewl-hn 2y ago
Even with administration change in the US there is a long-term initiative across multiple agencies to eventually move to more robust software, and a part of it is the push towards more safe programming languages (where safe means fewer memory issues, fewer vulnerabilities, less bugs in general, etc.). Similar government initiatives now start in Europe and elsewhere in the world, too.
This regulatory change is not new, it has been going on for years and will take more years to finish. And even without a regulatory pressure, the migration would happen eventually. Look at the cars. As they get more features like adaptive cruise control and various driver assistance features, the need for software that runs with no lag and is reacting to surroundings correctly and quickly becomes absolutely critical. Car companies now can go out of business simply because their software is buggy. The car vendors now produce more software than ever, and they are in dire need for better programming tools than ever.
Languages like Java, Scala, C#, Go, etc. cover many scenarios like cloud services and, for example, car entertainment system. But for devices, microcontrollers, real-time low latency systems etc. C and C++ have been the go-to languages for decades, and now it is starting to change, because turns out it is very, very hard to write correct, bug-free, safe, and secure software in these languages.
Rust is one language that is getting into this market: Rust Foundation established a Safety-Critical Rust Consortium last year, for example, and Ferrocene compiler has a bunch of certifications done already. Ada is another option that would work for many such use-cases, too. The selling point of Ada is that it's been around for a long time and many vendors already have established compilers and tools with all appropriate certifications and qualifications done for all sorts of industries.
So, it's not really "Ada is interesting" and more "Languages that can replace C and C++ are interesting".
- imglorp 2y agoThe new administration has removed the memory safe programming languages memo. https://web.archive.org/web/20250118013136/https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/ https://web.archive.org/web/20250118013136/https://www.white...
- deleted 2y ago[deleted]
- _a9 2y agoThe Whitehouse website gets cleared for the incoming administration. The page was moved to: https://bidenwhitehouse.archives.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/ https://bidenwhitehouse.archives.gov/oncd/briefing-room/2024...
- Lucretia9 2y ago[flagged]
- steveklabnik 2y agoA lot of this movement continued to happen under the previous Trump administration; we have no idea what is going to happen, there are good arguments that it may go away, but also ones that argue it will accelerate or intensify. We’ll see.
- Lucretia9 2y agoThat's why Toyota moved to Ada, because their C or C++ software caused crashes.
- 999900000999 2y agoAm I a bad programmer if rust is really difficult for me. I desperately want to learn a low-level language, since I think I'm missing something hanging out with my buddies C#, Python and NodeJS. C and C++ are too difficult, Rust is also hard. I think my best bet is Zig at this point.
- knowitnone 2y agoWhy is Zig easier than C/C++/Rust?
- coaksford 2y agoNo, Rust gives you a lot to wrap your head around very quickly, and it took me three or four epiphanies to get it, and I tried to learn and stopped twice before I was able to get far enough along with it that it became easy to think about and work with. It doesn't make you bad programmer, but I'd still suggest giving it another shot every 6 months or so as your time allows, and see if you're getting farther each time. As long as you're still learning each time you bounce off of it, it was probably time well spent, most Rust concepts will show up in other languages, and the ones that won't are still useful paradigms to be aware of so you can contrast it with other paradigms as you get more experience with those.
- 999900000999 2y agoI think where I'm getting stuck, is my favorite programming language C# tends to make a bunch of safe assumptions for you. These assumptions just aren't made with rust.
- api 2y agoRust has a steep initial learning curve followed by a plateau of enlightenment. The language has a lot of corners though -- not so much messy edge cases like C++ but just emergent complexity from its sophisticated grammar and type system. As with all such languages: you do not have to make use of all language features everywhere, and in fact you should not.
- zozbot234 2y ago
- eikenberry 2y ago> The selling point of Ada is that it's been around for a long time and many vendors already have established compilers and tools with all appropriate certifications and qualifications done for all sorts of industries. This makes it sound like the field is dominated by proprietary/closed-source tooling. That is a huge red flag for the health of the language if true.
- rad_gruchalski 2y agoWell, yes. But that's the feature in this context. The point is: places where Ada is used require certain levels of qualification and certification, all the way down to the compiler. You have to be able to prove that that binary fragment was produced by that particular code fragment. Think aircraft, nuclear reactors, rockets. So this tooling is already certified and it fills the "compiler + various verification tools" space. Otherwise you'd have to certify your tool chain yourself every time it changes. Say you are building an aircraft. The whole software stack is part of the aircraft certification, all the way down to the compiler. A complete aircraft is a system composed of other systems which themselves are composed of other systems. Eventually, there's a software system. Systems are certified independently and for a complete configuration. Of course, requirements get stricter as the criticality of the component increases. Not every component has such strict requirements as discussed above. But a lot of them do.
- eschaton 2y agoAnd while you may want to use Rust in some of these situations, you won’t be able to without that level of qualification and certification. This probably does mean there will be room in the market for a commercially-supported qualified and certified Rust toolchain.
- steveklabnik 2y agoIt already exists. https://www.ferrocene.dev/en/ https://www.ferrocene.dev/en/ AdaCore also sells one: https://www.adacore.com/gnatpro-rust https://www.adacore.com/gnatpro-rust