Fog Creek Software
Discussion Board




read/have article "Why Is Software So Bad" ?

has anyone read/have the articale "Why Is Software So Bad" by Charles Mann

i'd like to read this article.

Thanks

Patrick
Wednesday, August 18, 2004

http://sern.cpsc.ucalgary.ca/courses/SENG/513/F2003/papers/WhySoftwareIsSoBad.pdf

Fred
Wednesday, August 18, 2004

thanks Fred!

Patrick
Wednesday, August 18, 2004

http://cispom.boisestate.edu/cis121rhart/whysoftwareissobad.htm

Oddly enough, I just copied '"Why Is Software So Bad" by Charles Mann' from your post and pasted it into Google.

Karl
Wednesday, August 18, 2004

A totally lame article.  It does nothing but state the obvious (software sucks) and re-hash old complaints without offering a single constuctive solution.

Gern Blaansten
Wednesday, August 18, 2004

So a bunch of greedy lawyers want to reform software development thru the courts...

Great!  Wonderful!  Just what we need!

dev
Wednesday, August 18, 2004

I think the article is rubbish. I mean, do you really think Windows XP is worse than Windows 3.1? That's what the guy is basically saying.

Anonymous by default
Wednesday, August 18, 2004

I for one, think that XP is MUCH worse than Windows 3.1 in a number of ways.  "Bloat" and "calling home" are two terms that come readily to mind, though I'm sure I could think of some others.

muppet
Wednesday, August 18, 2004

Hey, I've been doing this for 33 years now. I wish someone would write the truth. Why software is so damned good. In a general sense, it's never been better than it is now and it's getting better all the time.

old_timer
Wednesday, August 18, 2004

This is odd:

>Simply placing the cursor over the Visual Studio window,
>Downes has found, invisibly barrages the central
>processing unit with thousands of unnecessary
>messages, even though the program is not doing
>anything. "It’s cataclysmic. ... It’s total chaos," he
>complains.

This guy is complaining about the Windows message passing system?  How is this a defect exactly?  This has to be a joke.  It hurts the author's credibility to quote this guy.

>"The attitude today is that you can write any sloppy
>piece of code and the compiler will run diagnostics,"
>says SRI’s Neumann. "If it doesn’t spit out an error
>message, it must be done correctly, right?"

I don't think that anybody who works on any serious projects has an attitude like this.  There *are* practices for reasoning about code and testing program behavior.

It's like building houses.  Some guys can get away with being a bit sloppy in that process.  "If the house stands, it's done" is like "if it compiles, it's done."  But an attitude like that just doesn't *work* when it comes to building sky-scrapers.

>"That’s the way software is designed and built
>everywhere — it’s that way in spaceships, for God's sake."

It's interesting that this guy would let so much criticism of NASA's software development processes get into his paper.  If you read Feynman's "What do you care what other people think?" you'll find that in his little post-Columbia study he thought that the software people were the most well organized and rigorous in QA.  It's interesting that there's such a difference between these two views of NASA's software development process.

The comments about certain tools helping to eliminate certain classes of errors is good, I think.  But that's a never-ending process.  It's the same way in all fields (after all, software often *represents* that kind of error-reducing tool building for other fields).  We need more software to help us write better software.

Kalani
Wednesday, August 18, 2004

i agree Gern. So how to fix it? (yes, very open ended question)

IMHO, i think we know the right thing to do. but, companies take short cuts when they can. it's about $.

This will not change until the company reaches the point of desctruction (ie loss of customers). At that point they have a choice: (a) continue as-is until everyone leaves or (b) make drastic changes.

anyone read "Death of the American Programmer"

Patrick
Wednesday, August 18, 2004

So it's $ or quality, not both?

Cecilia Loureiro
Wednesday, August 18, 2004

Pretty worthless article.  I shudder to think how much worse things would get if the lawyers and goverment agencies were set loose on the the industry.  I wonder how they would handle software that was developed outside of the US.  Who would be responsible ...

Jon Lindbo
Wednesday, August 18, 2004

Anyone who says that WinXP is worse than 3.1 never used 3.1.

Bloat. yeah right. How about crashing a couple of times a day. If one app crashed it brought down the whole system.

Miles Archer
Wednesday, August 18, 2004

old timer, I'm with you. People who constantly say things are getting worse (not just software, anything) I suspect are just whiners. They add little to world, and mask it by claiming everything is getting worse and hence they are victims of a slow, massive slide into in the abyss.

Having worked on very large projects (12 million+ lines of code) I marvel at how good a job MS does building a modern OS that can still runs software from 20 years ago.

ronk!
Wednesday, August 18, 2004

Actually I entered the PC world with Windows 3.1, and used it for quite a good while.  Windows 3.1 on DOS 6.22, and my problems were few and far between.  Stuff just worked, and I didn't have to worry about Windows reporting my bathroom habits to Microsoft, either.

muppet
Wednesday, August 18, 2004

On the other hand, if company A spends significantly more on testing their product than company B, will they be able to persude they potential customers that the product is better then B's, or will the customers just buy the cheaper one...

  Personally, I think the profession of the person quoted at the end of the article rather flavours their quote!

Gwyn Evans
Wednesday, August 18, 2004

whine, whine, whine

Patrick
Wednesday, August 18, 2004

Muppet, you've been spending a lot of time in the crapper lately. Are you getting enough fiber in your diet?

Bill Gates
Wednesday, August 18, 2004

Yes, it's true -- software today contains far too many annoying and frustrating flaws.  But seriously, do you really want to go back to Photoshop 3 on Windows 3.0?  Or Wordperfect 5 on DOS?  Heck no.  That's just plain stupid.

People who long for the "good old days" have forgotten what the good old days were really like.

Gern Blaansten
Wednesday, August 18, 2004

Software sucks because of two reasons:

1. Users (customers, clients) accept sucky software.
2. There is little incentive for software providers (ISVs, consulting shops, developers, management) to provide good software and not much of a penalty for providing sucky software.

There are lots of ways to incentivize good software and penalize sucky software.  But first it has to be perceived as a problem by more than the handful of people who care about good software.  And that's probably not going to happen until the cost of sucky software is felt in a tangible fashion by a lot of people. 

Should be working
Wednesday, August 18, 2004

I think it is a very nice (circa July 2002) summary of the state of the PERCEPTION of software.

There's been doom-sayers talking about the soon-demise of software development for quite some time.  They rail about how buggy software is.

Yet at the same time they drive cars which are now computer controlled hundreds of thousands of miles -- with no software problems.  The Shuttle contains hundreds of thousands of lines of code -- but hasn't crashed because of a software failure.

I think it is also a statement of how our culture sees things.  "If it ain't perfect, it's broke".  The guy railing about the number of messages sent by Visual Studio is a case in point.  He says it's awful and chaotic.  Well, no, actually.  It works, and it does what it is supposed to do.  It certainly doesn't bring down the application, nor the machine.

Our culture tends to focus on the aberrant .01%, assume that because we've focussed on the aberration it is MUCH more common than it is, then fly off the handle demanding solutions.

In my experience, software is MUCH more reliable today than it was 20 years ago.  It is also MUCH LARGER than it was 20 years ago -- so it fails at about the same rate.  I regularly use Office 97, Visio, Outlook -- and while occasionally Word does something that makes me curse at it, I don't think it's broken.

So, the "Software Crisis" is very overblown -- but at least articles like this one show why people think it is bad, and gives talking points to refute.

AllanL5
Wednesday, August 18, 2004

What does he mean about the "stream" of messages.

There are the obvious mouse moves, but if you stand still, there aren't any, I checked...

Alex
Wednesday, August 18, 2004

Just a quick note... why can't the program "evolve"? I mean the program as source code.

Nowadays, when you've written any considerable length of code, it's immutable.

I don't know how to do that, of course. But you can't predict the future -- nowadays, if you start on the wrong path, you either rewrite, or are stuck with it.

Alex
Wednesday, August 18, 2004

Alex, have a look at software evolution theories:
http://www.rspa.com/reflib/Product.html

Cecilia Loureiro
Wednesday, August 18, 2004

The fact is that the people interviewed in this article (especially Humphrey), make their bread-and-butter from slandering the software industry and suggesting heavyweight, Methodology-based "improvements."  That, oh, happen to cost millions to implement, thanksverymuch.

I really am tired of the constant ditto-headism in the industry around a few key (and highly paid) consultants who push the same old crap year after year.  Between the OO/Architecture/Refactoring religion, the Open Source religion, and the Process religion, it's a little hard to stay sane.

indeed
Wednesday, August 18, 2004

Regarding "Bloat":

I don't think that's an issue. Someone once said that a Citroen 2CV or VW Beetle is so simple a bicycle repair man with a screwdriver can repair it. Comparing that to the tuning computers etc for modern day cars, I think you can call that "bloat" as well. Funnily enough the article quotes the car industry as major example where things get better all the time and these "non-bloat" cars have disappeared from the market a long time ago.

Anonymous by default
Wednesday, August 18, 2004

Printed the article with the intention of posting it next to the coffee machine, for the occasional reader.
Read it and threw it in the garbage instead.  We all get this point right ?
BUt ... what a lousy way of making his point … Bill G. and MS mentioned how many times ? Shame on you, sir !

Demotivator
Wednesday, August 18, 2004

I'll tell you exactly why most software sucks:

90% of people who program, shouldn't.

TheGreatest
Wednesday, August 18, 2004

That's a poorly written article. Essentially it's a rehash of miscellaneous ramblings strung together to fill a few pages of a magazine. Was it comissioned by Readers Digest?

TheGeezer
Wednesday, August 18, 2004

> I'll tell you exactly why most software sucks: 90% of people who program, shouldn't.

Yeah, you're dead right. We should let lawyers do it. Then every little modification would cost $2 million and take two years. At least we wouldn't have the H1-B and offshoring problems.

.
Wednesday, August 18, 2004

"So it's $ or quality, not both?"

Sure. Isn't that true of  pretty much everything you pay for?

Tom H
Wednesday, August 18, 2004

> Windows 3.1 on DOS 6.22, and my problems were few and
> far between.  Stuff just worked, and I didn't have to worry
> about Windows reporting my bathroom habits to Microsoft,
> either.

So how come you don't still use Windows 3.1 then?

Matthew Lock
Wednesday, August 18, 2004

Matthew -

That's a stupid question for so many reasons I don't know why you even bothered to ask it.  Why troll?  Is it because you have no rational argument?  Simply because third party vendors have to keep on the Microsoft bandwagon to be profitable doesn't make win 3.1 an inferior operating system.  Also, clearly win 3.1 can't compete with modern operating systems for sheer power, but back then they did things right.  Almost the bare minimum for basic functionality of your computer without too many extra BS things tacked on.  XP is a big ball of bloat.

muppet
Wednesday, August 18, 2004

Being called a troll by Muppet. Priceless!

My rational argument is that Windows 3.1 can't have been better than XP else you would have stayed with Windows 3.1.

As for bloat, I'm with Joel on this one and beginning to think that complaints of bloat are the sign of a mental health condition.

Matthew Lock
Wednesday, August 18, 2004

a '67 Mustang is a hell of a lot better than the most recent model, but most likely I'm not driving one.  it's not because it's not superior.

muppet
Thursday, August 19, 2004

It's a mental health problem to not want your computer to call home to some ubiquitous corporation with your browsing and usage habits, block ports despite DISABLING the builtin firewall, and lock you out of your system files because it knows better than you what you're doing with YOUR computer?

Gotcha.

muppet
Thursday, August 19, 2004

> a '67 Mustang is a hell of a lot better than the most recent
> model, but most likely I'm not driving one.  it's not because
> it's not superior.

But you had a '67 Mustang and you willingly changed to a later one.

Matthew Lock
Thursday, August 19, 2004

> It's a mental health problem to not want your computer to
> call home to some ubiquitous corporation with your browsing
>  and usage habits, block ports despite DISABLING the builtin
> firewall, and lock you out of your system files because it
> knows better than you what you're doing with YOUR
> computer?

Are you sure you are just not infected with spyware and trojans? My Windows XP doesn't do this.

Matthew Lock
Thursday, August 19, 2004

Errr.. a base install of XP without any network connection does this, chief.  What magical version of Windows are *you* using?

muppet
Thursday, August 19, 2004

I've owned a '67, you are taliking out of your ass muppet. Those old cars aren't *close* to being as reliable as new automobiles. You have to change the old twice as often (and things like lubing chassis actually must be done), give it a tune up every 15k (and replace the spark plugs), rebuild the carborator 100k etc etc. Not to mention they spew literally 30 times the pollutants of modern cars, will quickly rust out in winter driving, the handling is shit, the brakes inferior, the trasmission wasterful, the ride noisy, has no real emergency brake (parking brake only),. etc etc. All this and the drivetrain (engine, transmission, differental) simply are not as reliable as modern cars. Period.

On nearly any metric (except good looks and the beautiful rumbling sound of a 289) the car is inferior to modern automobiles. I love these cars. I would buy one in a minute if had the space and time. But muppet, you are wrong. They are inferior, way inferior, to modern cars.

ronk!
Thursday, August 19, 2004

ronk, you are a miserable human being.

muppet
Thursday, August 19, 2004

Ummm okay. Guess I hit a nerve or something.

ronk!
Thursday, August 19, 2004

> Errr.. a base install of XP without any network connection
> does this, chief.  What magical version of Windows are
> *you* using?

I'm using Windows XP Pro SP1, no phoning home for me. Maybe the Rand Corporation got to yours before you opened it ;)

Matthew Lock
Thursday, August 19, 2004

Oh well right.  XP Pro doesn't call home because of legal entanglements (corporate espionage and all that).  But Home most assuredly does.  Come to think of it, I run XP Pro on all my machines at home anyway (except for the Win2k Advanced Server box), but the fact that Home is riddled with "official" spyware is a tad upsetting, regardless.

muppet
Thursday, August 19, 2004

Ronk,

You are a very bad person.

Samir
Thursday, August 19, 2004

>> Windows 3.1 on DOS 6.22, and my problems were few and far between.  Stuff just worked

Muppet,

Windows 3.1 hardly did anything except prosaic desktop applications and dated online applications, it puked if you stressed it too much, internet connectivity was marginal (Trumpet winsock, anyone), low/high/EMS/XMS memory fiddling issues, applications that communicated with each other via OLE on Win16 platforms were dog-crap slow, it had no task manager, it thrashed like a stuck pig even if you had plenty of memory....  During software development, Windows 3.1 was crap.

Too bad we have to have more than mainframe level complexity with newer OSs. But they are schweet in comparison with the dreck we had to deal with on the Windows 3.x platform.

I've also been incredibly skeptical of each new OS release. Windows 95 seemed like bloat city but once I had a PC that could deal with it, MUCH better than Windows 3.1. I originally didn't want to use >8 character filenames "just so I could go back whenever i wanted", but eventually I became addicted to the flexibility and I didn't want to go back.

Windows 98, more of the same crap I first thought, but it did work and look much better than 95. OK, let's forget about Windows ME. Windows 2000 was rock solid for me, it took Windows 98's UI and added stability. Windows XP is Windows 2000 with some remote user validation and the serial numbers filed off.

I loaded up Windows 3.1 in a Virtual PC partition recently just for old time's sake. YECH.

Bored Bystander
Thursday, August 19, 2004

One other thing. I recall reading about Win32 and Win32s in the early 90s. "Nahh, who the HELL would use that much memory!?" I thought. I got onto an NT 3.51 screen sometimes in the office I worked in, back in '94. It seemed slower than molasses. "This is Win32, huh, they can shove it" I thought.

IE: the memory and disk requirements for Win32 back in the early 90s seemed ridiculous, like installing a VAX in your basement. By the not so late 90's, Win32 capable hardware was a cheap commodity. And I have gone through no less than 5 "generations" of motherboard/memory/box combinations  since I first set up Windows 95.

I dunno, perhaps it's planned obsolescence. As a developer in DOS's late days, and Windows' early days I felt challenged to make do with little memory and hard drive space.  "Economy" is a great mindset for training software developers, but it's not economically viable as a guiding philosophy... so I have had to slowly kill off the engineer in me.

Bored Bystander
Thursday, August 19, 2004

"I loaded up Windows 3.1 in a Virtual PC partition recently just for old time's sake. YECH. "

There's a shell pretty much like the old W3.1 in Windows 2000 (and probably XP), too. Check it out: open the Run -window (shortcut: Windows-key + R) and type "progman". Wopee! You can make it your default shell in W2k as well ;-)

Antti Kurenniemi
Friday, August 20, 2004

Samir, he took my my red Swingline stapler. If he does again I'll set the building on fire.

ronk!
Friday, August 20, 2004

Progman! That... is ... amazing. And just like the 3.1 Program Manager, it hardly does anything either and is also butt ugly. :-)

Bored Bystander
Monday, August 23, 2004

*  Recent Topics

*  Fog Creek Home