So I have been a programmer for quite awhile now. From school intern to university newbie freshman to architect role, the idea of better software design never left my head.
I started playing with programming languages with a couple of my nerdy childhood friends since grade school. (I am still a nerd!) The good old days of procedural programming lol!
We used to make the whole program with thousands and thousands of lines of code in one GIANT file! We used loops over loops in order to calculate a very simple program which can be implemented with a simple hash set or map.
Never thought of code reuse, I mean who would have thought that a piece of code we used to calculate the position of the character in the world map for our game application would be useful to plot graphs in our marketing application.
Object Oriented Programming? What Objects? How can programs be a bunch of objects interacting with each other? You mean programs work just the same way as objects are in real life? Each part of the program is an object, and that object is made up of even smaller objects? Wow, that is just like real life, where things are consist of objects.
For example: A computer is an object, but is made from a processor, memory, motherboard, input/output devices and their adapters . Then a processor is made up of gates and circuits, and the gates are made of silicon and metals. And those silicon and metals are made of atoms.
And OOP(Object Oriented Programming) is just like real life objects. It can be broken down to every bones and that piece of code can then be combined with other parts of the code to create something new.
Ahhh…The good old days.