★ TouchArcade needs your help. Click here to support us on Patreon.

How come almost all programs are originally buggy?

07-26-2010, 07:15 PM
#1
Joined: Jan 2010
Location: yes
Posts: 306
How come almost all programs are originally buggy?

Title says all, and I hate for this to sound like I'm being a snobby critic, but I am merely curious why coding programs/apps/whatever is usually buggy.

This is a forum dedicated to figure out what is the best way you can give Steve Jobs your money.
07-27-2010, 12:41 AM
#2
Joined: Aug 2009
Posts: 618
Quote:
Originally Posted by fallenashes View Post
Title says all, and I hate for this to sound like I'm being a snobby critic, but I am merely curious why coding programs/apps/whatever is usually buggy.
It's the nature of software. Logic is a lot harder than it looks because there are always edge cases. For example, try to give yourself foolproof instructions for walking forward.

"Put one foot in front of the other", right? What happens when you reach a curb? If you follow the instruction to the letter (which computers are very good at), you're going to trip and fall. Now you need more complicated instructions. "Put one foot in front of the other, unless there is a curb that will intersect with the next step. Then raise foot 5 inches and then step forward."

That's better, but it's easy to imagine situations getting more complex. Throw stairs into the mix and your instructions fail again. Worse yet, stairs are not always of a regular size. Higher stairs may mean that 5 inches is too little. Shallow steps (e.g. in front of a museum) may make your steps too high, thus causing you to fall over when you step. Perhaps you should feed your sensory data into the height calculation? Of course, you can only estimate. If you get the estimate wrong, you will fall over again. Now you have an intermittent problem. If your judgement is good, everything works. If it's bad, you crash.

I don't want to bore you too much, but hopefully this should give you an idea of the difficulties that programmers have. More rigorous testing can find issues before the release, but that tends to be costly. Costs which independent developers have a hard time incurring and large developers (looking squarely at Gameloft) can't seem to completely justify.

What do you get when you cross Robotron with Bomberman? - Coverfire HD

07-27-2010, 12:46 AM
#3
Joined: Mar 2010
Location: 11th dimension
Posts: 1,265
Quote:
Originally Posted by thewiirocks View Post
It's the nature of software. Logic is a lot harder than it looks because there are always edge cases. For example, try to give yourself foolproof instructions for walking forward.

"Put one foot in front of the other", right? What happens when you reach a curb? If you follow the instruction to the letter (which computers are very good at), you're going to trip and fall. Now you need more complicated instructions. "Put one foot in front of the other, unless there is a curb that will intersect with the next step. Then raise foot 5 inches and then step forward."

That's better, but it's easy to imagine situations getting more complex. Throw stairs into the mix and your instructions fail again. Worse yet, stairs are not always of a regular size. Higher stairs may mean that 5 inches is too little. Shallow steps (e.g. in front of a museum) may make your steps too high, thus causing you to fall over when you step. Perhaps you should feed your sensory data into the height calculation? Of course, you can only estimate. If you get the estimate wrong, you will fall over again. Now you have an intermittent problem. If your judgement is good, everything works. If it's bad, you crash.

I don't want to bore you too much, but hopefully this should give you an idea of the difficulties that programmers have. More rigorous testing can find issues before the release, but that tends to be costly. Costs which independent developers have a hard time incurring and large developers (looking squarely at Gameloft) can't seem to completely justify.
Great answer...amazing answer. Your perfectly right

Quote:
Originally Posted by KGameLover1 View Post
Um, to work it out, you need a chick for that.....
Quote:
Originally Posted by Lombardo View Post
heh heh, not necessarily....
07-27-2010, 04:38 PM
#4
Joined: Jun 2009
Location: London, UK
Posts: 3,741
That was a badass analogy.

  /l、
゙(゚、 。 7 ノ
 l、゙ ~ヽ
 じしf_, )ノ
07-27-2010, 05:52 PM
#5
Someone quote this post

Quote:
Originally Posted by thewiirocks View Post
It's the nature of software. Logic is a lot harder than it looks because there are always edge cases. For example, try to give yourself foolproof instructions for walking forward.

"Put one foot in front of the other", right? What happens when you reach a curb? If you follow the instruction to the letter (which computers are very good at), you're going to trip and fall. Now you need more complicated instructions. "Put one foot in front of the other, unless there is a curb that will intersect with the next step. Then raise foot 5 inches and then step forward."

That's better, but it's easy to imagine situations getting more complex. Throw stairs into the mix and your instructions fail again. Worse yet, stairs are not always of a regular size. Higher stairs may mean that 5 inches is too little. Shallow steps (e.g. in front of a museum) may make your steps too high, thus causing you to fall over when you step. Perhaps you should feed your sensory data into the height calculation? Of course, you can only estimate. If you get the estimate wrong, you will fall over again. Now you have an intermittent problem. If your judgement is good, everything works. If it's bad, you crash.

I don't want to bore you too much, but hopefully this should give you an idea of the difficulties that programmers have. More rigorous testing can find issues before the release, but that tends to be costly. Costs which independent developers have a hard time incurring and large developers (looking squarely at Gameloft) can't seem to completely justify.

Have a look at Naruto RPG!
Look at Gamebook Adventures for iPhone/iPod/iPad!
I do app descriptions for free
07-27-2010, 07:50 PM
#6
Joined: Jan 2010
Location: DC
Posts: 25
Wow, I learned more in that post about programming than my entire 'Intro to PASCAL' class in high school. Probably why I got a C-....
07-27-2010, 10:54 PM
#7
Joined: Oct 2008
Location: Vancouver, BC
Posts: 1,652
Quote:
Originally Posted by thewiirocks View Post
It's the nature of software. Logic is a lot harder than it looks because there are always edge cases. For example, try to give yourself foolproof instructions for walking forward.

"Put one foot in front of the other", right? What happens when you reach a curb? If you follow the instruction to the letter (which computers are very good at), you're going to trip and fall. Now you need more complicated instructions. "Put one foot in front of the other, unless there is a curb that will intersect with the next step. Then raise foot 5 inches and then step forward."

That's better, but it's easy to imagine situations getting more complex. Throw stairs into the mix and your instructions fail again. Worse yet, stairs are not always of a regular size. Higher stairs may mean that 5 inches is too little. Shallow steps (e.g. in front of a museum) may make your steps too high, thus causing you to fall over when you step. Perhaps you should feed your sensory data into the height calculation? Of course, you can only estimate. If you get the estimate wrong, you will fall over again. Now you have an intermittent problem. If your judgement is good, everything works. If it's bad, you crash.

I don't want to bore you too much, but hopefully this should give you an idea of the difficulties that programmers have. More rigorous testing can find issues before the release, but that tends to be costly. Costs which independent developers have a hard time incurring and large developers (looking squarely at Gameloft) can't seem to completely justify.
Well said; much better than I could have put it. Bravo.

 /l、
(゚、
 l、 ~ヽ
 じしf_, )ノ Inconspicuous Group Cat?
07-28-2010, 09:46 AM
#8
Joined: Mar 2009
Location: London, UK
Posts: 2,280
@thewiirocks that was the most godly answer to any question i have ever seen....wow

You are not pretty enough to be that stupid.
07-28-2010, 09:16 PM
#9
Joined: Feb 2009
Location: San Jose, CA
Posts: 546
Another answer I'll suggest is "because it can be".

If you're designing a car, you have to get it right, or people will die. When designing any hardware really, there is no "do-over", there are no patches, only recalls. Apple would love to release a patch to fix the iPhone 4 antenna issue, but they can't. If iPhone 4 were a piece of software, we could quickly patch this bug and everyone would forget about it. Apple was sloppy with their testing of the hardware, and got burned for it. If it were a game, no one would be talking about it, because it'd be patched already.

With software, we can afford to be sloppy because we know we can just patch it later. This is especially true with games. There is certainly software out there that is more or less fool proof. Medical software, rocket hardware... needs to be perfect, and more emphasis is put on quality and regression.

With most software, we have a concept of an acceptable level of 'risk'. No product is bug free. All we can do is reach a point where we think the risk of any game-breaking bug is low enough that we can ship.

Last edited by lazypeon; 07-28-2010 at 09:20 PM.