Do you know who Ada Lovelace is?? Or maybe why the year 1843 could be called as the trigger point of the programming evolution we have all been talking about??? Well brace yourself for a journey as she is someone who sowed the seed of programming or at least gave it a thought which has travelled so far today making it the bread and butter of so many of our lives..
Well, I will stop making it that dramatic and start putting my words to the actual matter in hands..
Today, there are a lot of non code movements happening, frameworks and various abstraction layers created to make it easy for the developers to execute their designs. This makes it easy to forget the times where it literally started with human sized machines brought in just to execute a simple Hello World.
Well we have come far though….
FROM
b8 21 0a 00 00 #moving "!\n" into eax
a3 0c 10 00 06 #moving eax into first memory location
b8 6f 72 6c 64 #moving "orld" into eax
a3 08 10 00 06 #moving eax into next memory location
b8 6f 2c 20 57 #moving "o, W" into eax
a3 04 10 00 06 #moving eax into next memory location
b8 48 65 6c 6c #moving "Hell" into eax
a3 00 10 00 06 #moving eax into next memory location
b9 00 10 00 06 #moving pointer to start of memory location into ecx
ba 10 00 00 00 #moving string size into edx
bb 01 00 00 00 #moving "stdout" number to ebx
b8 04 00 00 00 #moving "print out" syscall number to eax
cd 80 #calling the linux kernel to execute our print to stdout
b8 01 00 00 00 #moving "sys_exit" call number to eax
cd 80 #executing it via linux sys_call
TO
printf("hello, world\n");
TO
say Hello, World!
The simple “Hello World!” has survived well throughout the years!!
Well credit where it is due, it was Charles Babbage who actually put forward the “difference machine” which has spurred a so-called programming evolution if we can call it so!
To classify it in a very abstract manner, programming languages are classified into
Low level programming language
High level programming language
Low level programming language can be explained further like where the language talks with the hardware in its native language.
High level language is more like having a translator in between to speak with the native hardware. A layer of abstraction serving the purpose for the same.
There are trade offs in each of the classification given the ease of programming vs the performance when the program executes.
The classification seems to be oversimplified though because to understand the actual complexities and the upward and downward spiral the journey has taken we need to delve further into the same.
After Charles Babbage brought the “difference maker” and Ada Lovelace thought probably like “Hey we can do more with this”, there was a line of languages which came up from a viewpoint of solving problems one after another.
Various programming paradigms like
Well I can put along a list of the programming languages like a song for which Sheldon would have been proud of [ref- Big Bang Theory].
Jokes apart we have a long list of the programming languages that have come up, from Plankalkül (Plan Calculus) to Assembly Language to Fortran, Pascal, C, C++, JAVA, C#, Go.. I am damn sure that I have missed a notable many.
Along the way we have solved a lot of problems, running simple maths to programming electrical appliances to making the code portable..
We have learnt to store data in database structures well yeah SQL [SEQUEL] is another one of notable things to have come up, if we want to explore that it would require probably another whole book to cover all the things up..
There is another concept of NO SQL which will probably add to the confusion if you are relatively new to the programming world…
There have been upgrades or optimizations done to the languages mentioned earlier to adapt the problem scenarios and situations that have come up all the way!!
Be it multi-threading, portability, faster execution or many more..
Frameworks have been built and more and more of the abstraction layers have been put forward albeit with the usual trade offs mentioned earlier.
We have always come up with a new language to speak, the inherent way or feelings to express things have always been the same. Enough of personification it feels now!
We have come so far that now we are fearing the machines will eventually overpower us makes us slaves [coughs in AI] 😀
No one knows how far the journey is still there to be made and how many surprises or potential blessings we have all the way.
One thing is for sure we have to keep on upgrading the ways we learn and adapt to the same.
Well that’s it for now, until next time…. remember the code talks!!!
Powered by Froala Editor