Ideas & Implementations in Computer Science
Human beings is a species of many inventions and technologies. It start right from inventing tools, farming, wheel, fire, steam engine, computers, rockets, quantum computers, AIs etc. But everything started with an idea or techniques. Do we give importance to the idea that heavy things are easy to transport on a rotating object or on the implementation of it.
Even in the area of Computer Science, there are many ideas that we overlook. Here I am trying to explore a bit about some of those ideas, that catapulted the expansion of digital world.
These are ideas so widespread and effective that you might not even think of them as being invented. Each idea may not be suitable in all situations, but you can’t think of Computer Science without them. I intentionally focus on ideas, not implementations. For example, Linux may be a combination of many good ideas, but in actuality its an implementation.
Here’s my list, including the year each idea appeared:
- Binary Numbers (1500s)
- Programmable Computers (1837)
- Boolean Algebra (1847)
- Floating Point Numbers (1936)
- Arrays (1942)
- Callable Units (1947)
- Hashmaps (1953)
- Call Stack (1957)1
- Structured Programing (1958)
- Portable Programming Languages2
- Processes (1958)
- Packet Switching (1962)
- Virtual Address Space (1963)3
- Memory Protection (1964)
- Version Control (1972)
- Public Key Cryptography (1973)
- Graphical User Interfaces (1973)
The relevance are the year of its discovery, which means the technology that we use today are born far earlier than we expect.
Most of these ideas, we use directly or indirectly in our technology endeavor, but we all focuses on the technology and never on the ideas behind.
May be its time we start thinking about ideas, rather than on technologies or implementation, while at the same time accelerating our efficiency towards completing our goal.
As a technology enthusiast and for the many ideas behind it, I am just trying to spread the seeds of an idea around, standing on the shoulders of many giants.