On Wednesday 23 November, I made a one hour talk on “A Brief History of Programming” and my own journey as a programmer. It was during Developers Conference 2022.
I did not know that my talk would take place in the large amphitheatre of the Caudan Arts Centre. In some ways, this made it more of a TED-talk than a normal presentation among geeks. And, being the first talk in the morning at 9:00, there were not many people attending… But this was a blessing in disguise because it made my talk more interactive where I had the opportunity to ask questions to the people who came, many of whom I knew personally.
There are many programming languages and they can broadly be classified into programming paradigms according to the features they have. The most popular paradigms are procedural, object-oriented and functional but many others exist.
Over the years, some programming languages became more popular than others (for many reasons). It is not because people are raving about Swift, Kotlin, Go or Rust today which this means than there will not be new programming languages in the future. And this, of course, does not mean that the likes of LISP, C, Java or C# can be discarded.
One essential aspect of learning programming is that it takes time and one needs to know many different paradigms if he/she wants to be a good problem solver (as different problems need to be tackled from different perspectives). Peter Norvig, the Director of Research at Google, put it nicely.
The point is to learn at least half a dozen different programming paradigms over 10 years.
My own journey as a programmer
My parents bought our first computer in 1988 when I was 15. I had discovered programming when I was 12-13 but, because I didn’t own a computer, I programmed “on paper”. I had a big notebook with pages and pages of algorithms in some kind of pseudocode.
Here are some slides from my presentation which basically tells my story as a programmer but also as someone who loves to try new programming languages and paradigms on a regular basis.
and today I am still learning and having fun with Elixir, Go, Julia and Rust.
Key takeaway: Never stop learning… and having fun in the process.
(Thanks to Amal Bholah for the photos.)