If computers and phones and other electronics are programmed to follow codes and don’t have a conscious to think freely. How do they end up crashing and what causes them to do a task they’ve done hundreds of times before, wrong?

260 views

If computers and phones and other electronics are programmed to follow codes and don’t have a conscious to think freely. How do they end up crashing and what causes them to do a task they’ve done hundreds of times before, wrong?

In: 0

7 Answers

Anonymous 0 Comments

computers are(imho) best described as ” very patient and very literal workers”, they can do any task you instruct them on millions or billions of times.

-their best upside is that they do Exactly what you tell them to.

-their biggest downside is that they do **Exactly** what you tell them to do.

everything we perceive as a ” bug” , “crash” or “error” when it comes ot software design is ultimately because the programmer made a mistake in their logic, or the user attempted to do something the software didnt expect and therefore has no code made to handle it.

a computer doesnt ” guess”, you either have logic already setup to tell it how ot handle a situation it may encounter, or you dont and your program will crash/throw out an error/behave unpredictably(more often than not just crashing) when an unaccounted situation crops up.

Anonymous 0 Comments

Pretty much analogous to how pipes in a house can work for years and still at some point, burst and need replacing. Or how a faucet works many thousands of times but the seals eventually fail.

It is completely unclear why the concept of failure and glitches would have anything to do with consciousness. The tap didn’t “intend” to fail. The pipe didn’t “intend” to burst. There is no reason to conjure up some mystical consciousness when an electronic device fails.

Anonymous 0 Comments

> what causes them to do a task they’ve done hundreds of times before, wrong

In most cases, they are not doing the exact same thing every time. Instead, they perform the same operation on different data, under different conditions. For example, suppose you have a program that goes through a file that contains a set of data on each line and calculates the average. e.g. if a line contains “1.0, 2.0” the program outputs “1.5”. But what if you accidentally feed in a file that contains an empty line, or a line that reads “one two banana”? Unless the program has been told to do something different in these cases, it will likely crash or produce nonsense. For another example, suppose a program keeps adding information to a database. But what happens when the hard disk eventually fills up? Again, unless it has been told what to do in this case, it will typically crash.

Hardware faults, buggy software updates, and hacking are also possible reasons why a program might suddenly stop working.

Anonymous 0 Comments

Most of the time it’s badly worded commands. For example, if I told you to divide 15 by Burgers you’d tell me I’m being silly. A computer would try to divide 15 by Burgers and fail, causing it to crash or at least return an error. Normally, we weed out cases that cause this in the debugging phase but occasionally we get fringe cases where nobody anticipated that particular input or nobody thought you’d ask the computer to do a specific combination of tasks.

Of course, this isn’t the only reason computers crash. Sometimes s the computer ran out of short term memory. Sometimes this means the CPU overheated because it hasn’t been dusted in 10 years. Sometimes it’s because static electricity got into the wires and caused a bit to appear where it’s not expected. Sometimes the magnetic fields within the chip caused a bit to flip despite the bit not being connected to that circuit. Honestly, its a wonder we keep these computers working at all.

Anonymous 0 Comments

If it truly is exactly the same task, then, hardware malfunction aside, it won’t fail. But it probably won’t be. Something will have changed. Maybe a file it requires to do this job has been deleted, so now it can’t do the task because the file is gone.

Anonymous 0 Comments

The answer is that the computer hasn’t done it correct thousands of times before. Because the time it crashed was the time that certain variables randomly ended up it a particular configuration, or completely by chance three different independent processes tried to access the same thing on the computer and the conflict caused a crash, or maybe this particular time a random stray radio wave made a 1 into a 0 and whoops that cascaded into something bad.

There’s an **insane** amount of events happening in a computer. If anything, it’s a wonder they aren’t constantly crashing.

Anonymous 0 Comments

If you told a computer to make a peanut butter and jelly sandwich, you’d need to give it *very specific* commands. We aren’t just talking about “get bread, put peanut butter on it, put jelly on it, put more bread on top”. You’d need to be a lot more specific than that.

1 — Open pantry door by gripping brass knob, rotate 60 degrees, apply force to pull back door.

2 — Retrieve loaf of bread from third shelf from top. Carry to cabinet and set down. Remove twist tie. Set twist tie aside.

3 — Open front end of plastic bag, remove next two pieces of bread after disregarding heel. Close front end of plastic bag, reapply twist tie.

4 — Return to pantry. Retrieve jar of peanut butter. Carry to cabinet and set down. Twist top end of jar and rotate to remove.

And so on, until you have a peanut butter and jelly sandwich. Maybe you even include an instruction to cut off the crusts.

*However*… sometimes programmers don’t fully think everything through. Let’s say you run the above program a thousand times. Did you include a subroutine that gets more bread once you’ve run out? Or more peanut butter? Even programs that seem to work fine can crash if there’s some extra factor that might come up, but usually doesn’t. Did you remember to include an instruction for the computer if there are no clean knives in the drawer to spread the peanut butter? Okay good, you did. Good job.

But what are you doing with all those crusts you cut off? Did you remember to tell the computer to throw them away? I bet you didn’t. So if you make a thousand sandwiches, how long does it take until the cut off crusts have accumulated on the kitchen cabinet to the point where it is overflowing, and you can’t find a place to make the sandwich? What happens then?

A crash happens, that’s what. There was some little thing that the programmer didn’t even consider for a second. Some variable that works fine the first 500 times you run it, and will reset once you turn off the computer. But did you think about the fact that other programs might be running at the same time, and they might be using the kitchen cabinet as well?