"Hard"-ware, "Soft"-ware .. silverware?
FINALLY we're going to talk about software .. right!?
Almost there ;)

Now that we've covered some of the back story, and have a better idea of where all of this crazy technology actually came from, we can get into some of the fundamentals of what makes a modern computer and how to program it.
It might not be so obvious, but hardware is the physical stuff made of electrical components that does stuff, and software is the stuff that tells the hardware what to do. If that was obvious to you, then you're ahead of the game and deserve 5 stars!
But why exactly is it called "soft" ware? "Hard" ware makes sense because the stuff is physically hard. It's not like it's called "semi-mailable-under-certain-conditions" ware.
So "hard" ware is the "hard" stuff that you can touch. It's also "hard" because if you need to upgrade it, it can be really "hard" to re-solder some tiny joints without destroying the device.
The "soft" part of "soft" ware comes from the antonym of "hard".
Kind of anticlimactic huh?

So if the hardware is just a bunch of tiny electronic components combined together to do a bunch of number crunching, then how is it that we can have the internet, or video games, or cat videos!?
Ahh yes, the crux of it all .. how does software work!?
Do you remember how we used to have to punch a bunch of holes into cards?
Well, that was software back in ye olden days! And not much has changed since then. Except today our "punch cards" have turned into digital versions we call source code and compilers, and the series of on/off switches has turned into really small transistors, and other components to make up logic gates that the compiler knows how to manipulate, and does so based on your source code.
In the end, the software is stored somewhere (like in RAM or on a hard drive) as a series of voltages that are treated as a 1 or 0, and the culmination of those 1's and 0's make up the machine instructions for that specific machine, that then get interpreted by the logic gates of the hardware, which, based on the input, produces output that is also a series of voltages that are then treated as 1's and 0's that our source code can interpret and use to get the results we want.
So "soft" ware should really be called "human-to-machine-specific-instruction-dictionary" ware.

It might be "soft" ware, but that doesn't make it easy.
FINALLY we're going to talk about software .. right!?
Almost there ;)

Now that we've covered some of the back story, and have a better idea of where all of this crazy technology actually came from, we can get into some of the fundamentals of what makes a modern computer and how to program it.
It might not be so obvious, but hardware is the physical stuff made of electrical components that does stuff, and software is the stuff that tells the hardware what to do. If that was obvious to you, then you're ahead of the game and deserve 5 stars!
But why exactly is it called "soft" ware? "Hard" ware makes sense because the stuff is physically hard. It's not like it's called "semi-mailable-under-certain-conditions" ware.
So "hard" ware is the "hard" stuff that you can touch. It's also "hard" because if you need to upgrade it, it can be really "hard" to re-solder some tiny joints without destroying the device.
The "soft" part of "soft" ware comes from the antonym of "hard".
Kind of anticlimactic huh?

So if the hardware is just a bunch of tiny electronic components combined together to do a bunch of number crunching, then how is it that we can have the internet, or video games, or cat videos!?
Ahh yes, the crux of it all .. how does software work!?
Do you remember how we used to have to punch a bunch of holes into cards?
Well, that was software back in ye olden days! And not much has changed since then. Except today our "punch cards" have turned into digital versions we call source code and compilers, and the series of on/off switches has turned into really small transistors, and other components to make up logic gates that the compiler knows how to manipulate, and does so based on your source code.
In the end, the software is stored somewhere (like in RAM or on a hard drive) as a series of voltages that are treated as a 1 or 0, and the culmination of those 1's and 0's make up the machine instructions for that specific machine, that then get interpreted by the logic gates of the hardware, which, based on the input, produces output that is also a series of voltages that are then treated as 1's and 0's that our source code can interpret and use to get the results we want.
So "soft" ware should really be called "human-to-machine-specific-instruction-dictionary" ware.

It might be "soft" ware, but that doesn't make it easy.