I’ve mentioned previously the Evolution of this Website.
Well this post calls back to that.
There’s a lot I could talk about with computers. I’ll start at The Basics.
Computers are built upon very basic functions/concepts.
1) ON and OFF; 0s and 1s; True and False
These are all the similar ideas. A light switch is ON or OFF. That can be represented as zero or one, or true of false.
2) Data
This is just stringing 0s and 1s together like this: 00101011001. The length is variable and depends on the design of the system.
3) Representation (Code)
We can decide what represents what. 0 is Off. 1 is On. 0 is False. 1 is True. This is arbitrary. It often comes down to convention. It was done before and now it’s what we have grown accustomed too. Thus 0 is False is Off, 1 is True is ON
4) Logic (gates)
True and True = True, True and False = False, True or False = True etc.
An analogy is having a room with 2 doors on one side and one exit door on the other. How the room functions will define the output based on the input.
5) Arithmetic
Basic math! Addition, subtraction (multiplication can be thought as adding several times, division subtraction and keeping count of how many times)
6) Input and Output
Again, a room with on door on one wall and one door on another. One door is either opened or closed and the same for the opposite door. But you can program or decide what happens with the doors by how they are programmed
7) Repetition/Reuse
The same ideas used at lower levels are used at higher levels.
From there we go onto how they work.
Central processing unit. (CPU)
Imagine a room with 1 door on wall allowing you to enter and 1 door on the other side letting you leave.
Doors can be open or closed.
That’s it for now with that concept but that’s a primer for a how a CPU works. It’s a little more complicated (inside the room you can do comparisons between in what comes in, or arithmetic, or choose some new data to come in the room)
Memory
This is where information is stored. Its like a big row of rooms in a line that can be “on” or “off”.
Imagine rows of rooms that store information which can be represented by their doors being open or closed.
Output and Input devices
Output devices are programmed to display data in certain ways. Like a pixel on a screen will be On or Off depending on what data it receives (most simplistic approach). Input devices create data (Os and 1s) that can be fed into the computer. An example is whether is button is clicked or not.
Programming Languages
All programming languages are rooted in a few processes.
Load Data – From a specific area in memory
Perform Arithmetic
Perform Logic (comparing Data)
Saving Data – storing data in a specific spot in memory
That’s it.
Not over thinking things is important. Higher level concepts or bigger structure are created out of smaller ones. Just like bricks are used together to build a house. You get to know the basic building blocks really well to build larger structures.