Down the rabbit hole |
Leading me to an excellent and thought-provoking -- and, be forewarned, lengthy -- recent essay in The Atlantic: "The Coming Software Apocalypse: A small group of programmers wants to change how we code -- before catastrophe strikes."
(Before offering a select few observations from this article, allow me to reminisce that I didn't always write SF for a living. I spent 30 years in information technology, at such marquee companies as Bell Labs, Honeywell, Hughes Aircraft, and Northrop Grumman. I designed and built software [and also sometimes hardware], led projects, and managed development teams of up to 300 engineers and scientists. Many of the systems I worked on were mission-critical. Most had to operate in real time, be fault-tolerant, accommodate many concurrent users, withstand hacking, or be widely distributed geographically -- or even do all those things at once. In short: I like to believe I know something about development of complex software. And yes -- the conventional practice of software development needs improvement.)
Now on to a few choice quotes from the essay:
The software did exactly what it was told to do. The reason it failed is that it was told to do the wrong thing.
Software engineers don’t understand the problem they’re trying to solve, and don’t care to.
Talk about your accident(s) waiting to happen ... |
Computers had doubled in power every 18 months for the last 40 years. Why hadn’t programming changed?
... the idea that people were trying to understand cancer by staring at a text editor was appalling.
We already know how to make complex software reliable, but in so many places, we’re choosing not to.
In the world of the self-driving car, software can’t be an afterthought.
For a thoughtful analysis of the epic problem(s) -- and, possibly, a solution, read the whole article.
3 comments:
We should write programs in ADA ( i myself are a C++ guy ).
We should write programs in ADA ( i myself are a C++ guy, so i know what i am talking about ).
Ah, Ada. I studied it once or twice, but never used it. But ask me about Fortran IV ;-)
As in the article, I think some form of proved correctness is becoming essential for many apps. And for any complex app, that will be HARD.
Post a Comment