Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I had a user ask me this question. We know that cars break down, but that's because of something physical (unless software is involved!).

I tried to answer that software is a much younger industry, but the user countered with "didn't the automobile industry become much more stable than and reliable with less people?".

I also tried to answer that software is more complex, but the user countered that there are many thousands of parts that make up a car. People that design and build cars generally just know their component(s) very well, but they still all end up working together as an end result.

So, why isn't software as reliable as a car?

share|improve this question
29  
Which car? Some are much more reliable than others. –  Zoot Jan 28 '11 at 22:18
242  
If somebody was almost done assembling a car when their boss came over and says "oh hey, the customers would like us to attach a jet engine to it, can you have it done in a couple days?", cars would be pretty unreliable too. –  Anna Lear Jan 28 '11 at 22:23
28  
Software is reliable. It's just the big enterprisey software that isn't. Have you ever seen a TV crash? Me neither. –  zneak Jan 29 '11 at 5:30
18  
There are laws to enforce learning to drive before being allowed to drive a motor vehicle. Additionally there are many courses on how to drive that are targeted at the under-educated so that they don't crash. There are no such programs for learning to use a computer and as such, the under-educated populous crashes with regularity and blames it on the programmers. –  zzzzBov Jan 29 '11 at 8:09
13  
Just compare number of injuries caused by software and by cars, and you will see that software is far more reliable than cars. –  mouviciel Jan 29 '11 at 9:24
show 23 more comments

35 Answers

Softwares are mathematical and logic objects, while cars are real objects.

Furthermore, you can easily know when a car has a problem and what is the problem, while it can be much more difficult with softwares: imagine someone having a problem with a computer and someone having a problem with a car; this person can better know what's wrong because cars are less abstract than computers.

I'm not saying computers are harder to understand: cars also involve a lot of physical laws such as thermodynamic, electronics, chemistry.

You could also extrapolate this comparison, saying: "why a hammer is more reliable than a secretary ?".

I don't think the question is really relevant, but I think it shows really well how a lack of a good mathematic education can affect the understanding of a certain kind of system.

share|improve this answer
add comment

Software is a lot more complex than a car, even if the car is composed of thousands of components.

If a car was as complex as software, then all the components of the car would depend on all the other components of the car, and many car components would be directly linked with many other car components.

All the world's cars barely equal the original Unix software in complexity.

share|improve this answer
add comment

Software isn't the car, software would be the driver. Car engineering is a hardware problem. Once you see it in those terms, the answer becomes obvious.

share|improve this answer
add comment

Because most software is implemented in languages designed in 1970's that don't have any kind of verifiability without a large amount of effort. Ada and derivatives are used in aviation quite a bit as well as specifications and formal proofs. Software can be as reliable, it's just the tools aren't there to make it easy.

share|improve this answer
add comment

How many are there car designers? 10,000 top? - they are talented and they know what they're doing.

How many are there software programmers? 30 millions? - and many of them have no idea what they're doing, take for example PHP programmers, you can learn PHP and write your first program in less than a few hours.

If software was to be written only by 10,000 of the best programmers, then it would be as reliable as cars are.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.