5 ms·
Ada has plenty of constructs to enhance safety. Explicit type conversion. Limited use of pointers. Arrays with bounds checking. No willy nilly 'enums are ints'
by RogerL 11y ago
Ada has plenty of constructs to enhance safety. Explicit type conversion. Limited use of pointers. Arrays with bounds checking. No willy nilly 'enums are ints' type stuff. Contracts. Many more are covered here:
http://www.adacore.com/knowledge/technical-papers/safe-secure/ http://www.adacore.com/knowledge/technical-papers/safe-secur...
Plenty of people got interested in Ada. They are people that do things like write software for trains, nuclear reactors, medical devices, and aircraft. There's not much point in trying to use Ada for a website.
With that said, I always felt that the pitch for safety was always overstated. Of course tests are needed (not aware of any mission critical system where they aren't heavily used). There were lots of papers slamming things like C++ vs Ada back in the day. Yet we were able to do safe things in both languages. Guaranteeing things in C++ was harder, but then other stuff was easier. I left Ada when I was trying to do some research in generic programming and Ada refused to let me do things that C++ would because it was 'unsafe'. Sure, unfettered use of generics would be unsafe, but so is rewriting the same code 10 times for different types. This was back when Stepanov published his STL paper. His ideas were great, they helped me, and I didn't look back. Still, if I was to work on another flight computer or weapons system I would not look askance on Ada. The tasking model in particular is very nice.
I never understood the 'committee' argument. If you don't like something about a language, say what you don't like, don't talk about how it was created. Ada is very well designed, it is consistent, and it hangs together far more than most languages out there.
No, no one is going to use Ada to 'move fast and break things' (defeat Facebook). It's a language for measured development of things that you can't afford to have break. Not spending weeks chasing pointer bugs, and going home to your family at the end of an 8 hour day is pretty darn exciting to some of us.