20260415 - Should we learn Programming anymore...?

 My first encounter with a computer was in middle school at one of my friend's house. 

It was almost a miracle to have a computer in ​India in those times (​1980s). 
My friend's father was connected to IEEE and I am guessing the computer was importable through that connection.

We only played games on it occassionally (​games of those days - Packman, F16, Nascar, Mario, Prince of Persia, etc.)

I don't remember how much storage memory capacity it had​. 
I think it had only 512KB of RAM  and a 5¼" floppy disk drive (I think they came with a max 512KB of storage capacity).
I vaguely remember once they had got Autocad and it came with 95 of those installation floppy disks!

This was DOS ​Operating system - ​i.e., big CRT monitor screen​s with green characters (think​ of the Matrix movie)

Anyway, the first time I really interacted with a computer was in engineering, around 1993, I think.
We had a subject called Fortran (Formula Translation) - which is a rudimentary procedural programming language.

That was the first time I understood what the "Compute" part of a Computer meant.

W​e had rudimentary things w​e could do - ex, define variables which could be numbers, characters, text strings etc. and then we could assign values to these things (variables) and do many operations on them (ex, arithmetic operations, text manipulations, etc). The most incredible thing was that we could perform these operations in loops till we wanted to stop based on some criteria! -​ e.g., keep do​ing something for X times, do something while some criteria were not yet met, etc.​ Or we could also do things conditionally - ex, do this if ​some c​ondition is met or do something else otherwise etc.

Basically, using the above arithmetic operations, logical operations, looping operations, etc., we could achieve wonders as long as we could break down problems into smaller pieces and solve them with these structural and logical operations.

Mid 1990s was big time in Bangalore for computer training institutes. 
Go to any street and you couldn't miss a handful of centers claiming to be able to teach you whatever was the flavour of the month.

I had tasted blood with Fortran. A good friend of mine was equally hungry. 
We joined on of these training institutes for a course on a programming language called "C". That was the flavour of th​at time!

Very soon we realised we w​ere in fact training the trainer​ in that institute
The only benefit of the course was being able to get access to a computer dedicated for some time​ (which was really rare).
​So, we taught ourselves ​the C programming language. 

This was the time before Google. Let alone Google, this was before the internet, email, chatting, etc. 
​Basically ​nothing could be learnt online. Whatever could be learnt from books​ was it!

Soon I realised C was very similar​ generally speaking (variables, logical operations, looping operations, etc.). 
It had a different way of writing things (syntax), but essentially ​it was similar: break down bigger problems into smaller structures, using logical steps to achieve what you needed to​ with the above mentioned structured operations.

One very impressive and powerful feature in C compared to Fortran was a concept called pointers... 
It was still a procedural programming language but a lot more powerful because of this concept of pointers.​ I spent a lot of time toying with this newfound ability.

Our ability to learn more through experimentation was limited by the time and computer access we had.
This was still ​with big CRT monitors with black screen​s a​nd green characters​ btw.

One of our good friends in engineering had an aunt who had a computer in her house. I don't remember exactly the situation now but I think she had a relative who lived in one of the Gulf countries and that is how they had a computer at home.

She was very kind to all of us (our group of close friends) and allowed us to use the computer for long periods of time. Luckily our good friend (her nephew) had also tasted the same blood and ​was hungry as well...

Point to note: this was not a computer with a black screen and green characters​ anymore
This was our first exposure to Microsoft ​Windows (​Windows 95 I think) and a graphical user interface.
Encouraged by this, we also (via books still) learnt Visual C and afterwards Visual C++

C++ is a very different way of programming (something called object oriented programming). 
It took me a very long time to wrap my head around object-oriented programming and the C++ programming language.

However, when you stripped away the different ways of thinking about certain concepts, it still involved variables, looping, and logical operations. 
​Just not procedural anymore but something called object-oriented programming.

It was also nearing the end of our engineering course and we spent hours and days​/ nights using the power of Microsoft Word to write up our project reports.

My next jump in learning a different programming language occurred w​hen I started my first job, which reinforced what I had learnt earlier along with 2 new but very important concepts.
1. Graphical ​User Interface ​(​GUI) programming (with Visual Basic) &
2. Relational database programming (with Oracle)

It opened new doors (rather Windows) to what could be done for something called application programming.
Visual programming gave a new power - to ​to be able to do things not as a procedure or sequence​, but as a response to user interactions on screen elements.

Database programming enabled us to store and retrieve data for many purposes afterward—something not easily done with other programming languages​.

However, strip away these 2 new abilities, and it still involved variables, looping, logical operations etc​. to achieve what we needed to a​chieve.
At the core of it, needed to be ​a structured and logical breaking down big problems into smaller solvable pieces...

I joined my first job by late 1997 as a software programmer​ (no surprises​ there!). 
Thanks to IBMs g​oofup they had successfully driven the world to panic with their Y2K bug. 
This had put India on the world map as a problem solver for this​ particular Y2K problem
India was churning out truck loads of engineers who spoke English and were willing to do this mundane work at (comparatively) inexpensive wages - the proposition was too good to ignore for every business in the developed world. 
What started as a quick fix for the Y2K problem eventually spread into every possible area in software engineering because the ​core proposition remained.

It was against this backdrop that I started as a software programmer.
My job over the years took me to many many ​programming areas like Java programming language, ​various scripting language​s (JavaScript, Macros, App scripts, etc). Each of these programming languages came with different I​DEs (Integrated Development Environments) - like VB editor, C editor, Visual Studio, JDK, etc.

Not to mention, as my roles changed, started using many tools and productivity solutions​ as well.
​I successfully moved on from a​ CRT monitor with a black screen &​ green characters to colour flat screens and powerful laptops​ later.

The only thing that remained constant was thinking in a structured way, breaking down big problems into smaller solvable ones, use very similar logics (irrespective of the Job/ responsibilities/ products/ packages used)

Today, I use AI in almost every area to give me an additional "shot in the arm" to get to the outcome I want to get to.
  • The Tool I use is AI.
  • ​The IDE is a text file.​ (I struggle with typing and make many mistakes. So, I type ​everything first in a text file​ first and upload the file to the AI to execute.
  • The Programming ​Language I use is English.​ (It could be any ​damn language! Th​at AI thing understands and does what I am asking​ irrespective)

​Essentially, as a member of Gen X, I had the fortune of having ample entry-level programming jobs where I was able to gather the Programming mindset which got reinforced and strenthened through the years. 
I'd say, Gen Y also had the  same privilege of these entry level "white collar" jobs to hone this ability. 
This applies across industries btw. not limited to software programming alone. 
Analysis entry level jobs are needed everywhere to develop and reinforce the structured thinking, logical mind and overall "problem solving".

These entry level white collar jobs, across industries, are very much needed to develop a problem solving mind over many years by slowly climbing up the rungs of that ladder.

So - the verdict : Programming languages are well and  truly dead. It will never come back.
However, Programming thinking is not dead! (across industries). 
In fact, in today's world, I'd argue that a Programming ("Problem solving") mindset has become even more important !

​Unfortunately, the ladder I referenced above is broken for good now. 
For most Gen Z+ individuals, there is no lowest rung from which to start and climb further.
So how do we give this exposure/ experience to kick-start their "problem solving" minds..

Should we expect their schools/ colleges/ other institutions to focus on imparting this "problem solving"  mindset?

My humble opinion is it will never happen;
  1. Most Schools/ Colleges/ etc. havent even woken up to the AI world, let alone having the capability and capacity to impart this ability to children.
  2. To develop a Problem solving mind, we first need good problem solvers to impart this ability. Existing capacity and capabilities in most schools are not capable of handling this.
  3. Even if schools/ colleges wake up to this changing need, where will they get them from? All said and done, people with this ability (the problem solvers) are few and far between. I am not trying to be disrespectful to the majority of others. Everyone is needed in this world to make up this world and keep it running. However, it doesn't change the fact that this is scarce.
  4. Let us say somehow a school/college conjured up enough of these individuals . Schools and colleges simply cannot afford (financially speaking) to have these minds on their rolls.
So, how do we address this Gen Z+ missing rung problem?

​My take is that it comes back to the home and will fall on parents, close family, close family friends, etc. They (we) have to grab every circumstance to create opportunities to transfer this ability to them - which we might have been exposed to and benefited from.....

What do you think...?

Comments

Popular posts from this blog

20250509 - what next...?

20250206 - Sixer today

20250612 - AI world & future...