Hardware vs Software

Hey guys!  So now that Trever’s been working from home and I get to be with him EVERY SINGLE DAY rather than just on the days he brings me into the office, I’ve started to realize just how much time he spends on his computer.  I mean, it’s his whoooooooole job.  He fixes things on the computer.  But remember when I said that I can’t ever see what he’s fixing and he just stares at the screen?  Well I got confused, because when he fixes the door I scratch up, I can see the difference.  It looks great after!  So if I can SEE the computer, why can’t I SEE the fix?? 

Oh boy.  Ladies and gentlemen, today we’re diving into hardware versus software!  Here’s a little cheat sheet to get you started… 

So HARDware, much like the name implies, is anything HARD that you can touch (or could, if you had opposable thumbs).  So the actual computer is made of hardware.  

Hardware has, like, a few different functions.  The Central Processing Unit, or CPU, is an electronic chip that performs instructions – essentially the brains of a computing system.  Now a CPU can only perform very simple tasks, like it can add, subtract, multiply, and divide numbers, or compare two numbers to see if one is smaller or larger, or it can even copy and move data from one place to another.  CPU’s appear more powerful than this since these tasks are done super quickly. 

Hardware can also act as storage.  All the information needed for computing must be storable, such as the instructions that a CPU must perform, and the data that the CPU requires as input – which has to be in binary form.  I won’t get into binary here, but a quick one sentence summary of binary is that it denotes an ‘off’ switch as ‘0’, and an ‘on’ switch as ‘1’.  After that, I’m lost.  Storage can also come in the form of a disk drive.  Data is stored by magnetically charged “bits” on a rotating disk that are read/written by a sensor (the head).  It’s effective, but access is reaaaaaal slow. 

So.  What about software?  This is mostly what ASI deals with.  I mean, we know a lot about hardware too, but we deal more with the inner workings of technology.  That’s why I can’t see these fixes.  So software basically is referring to any and all computer programs, or a collection of data and instructions.  These programs tell the CPU what to do, and in what order!  So they have to speak the same language.  Programming languages let us write down commands in a way that we can understand – unlike 0’s and 1’s.  There are many different languages that they converse in, and lots of possible language complexity.  Programmers write at a “high level”.  The CPU cannot understand the high level and so a translator, called a compiler, converts into a low level. 

I’m gonna stop here, because I don’t know if you guys realize how big of a subject coding languages are.  That’s a topic for another day!  Enjoy your week guys!!!!!