Skip to content

Comment on Stroustrup: What Should We Teach New Software Developers?

Comments

I don't think these problems are unique to computer science.

No, they aren't. What is unique though is that we have such a complete reliance on software without any sense of how to do it well. We know how to build skyscrapers without them falling down when the first real "user" steps through the front door. We don't know any sort of thing for software development.

We can't afford a single skyscraper collapse, but we can usually afford to use bad software.

The article sounds like Dijkstra in 1988. My bet is another 22 years won't change anything.

...and, let's face it, the relative complexity of a skyscraper compared to a computer software program, given equal cost, is very, very low. A skyscraper costs hundreds of millions to construct. An equally costly software project would be something like the entire lifespan of the .NET Framework including the CLR, Standard Library, C#, VB.NET, Silverlight, all of the "Enterprise" features, etc.

Also, software isn't really construction. It's built by the people who design it, for the most part. Imagine a skyscraper (or car, bridge, etc) built entirely by engineers. Yikes.

We can't afford a single skyscraper collapse, but we can usually afford to use bad software.

In fact techniques exist to produce software with near-zero defect rates (primarily relying on extremely thorough code inspection, IIRC), but they're far too expensive for commercial use.

Except it's is the only field that believes CS an SE are the same thing.

You don't expect a mechanical engineer to know the chemistry of a steel melt, and you don't expect a chemist to know about engines.

Yet in CS we either teach the detailed chemistry and expect the student to pick up the engineering themselves - or we teach just engineering without explaining what a metal is

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.