Sunday, September 23, 2018

Programming Inside the Lines

Why do people program computers?
  • Business - To automate a process or financial problem
  • Automation - To control homes, factories, machines
  • Research - Data mining, simulation, modeling
  • Communication - Email, telephony, broadcasting, journalism
  • Recreation - Games, movies, music
  • And for fun - Yes, programming is also an enjoyable recreational activity.
I was recently part of a social media thread where we were discussing, more or less, whether programming languages should remove all features that could lead to bad practices.  This was motivated by the perennial question, "Should GOTO be allowed in programming?"  GOTO is not bad.  GOTO is simply GOTO.  I'll leave it there, for now.

Let's compare programming to finger painting.  If you gave a child some finger paints and a sheet of paper and a smock, would you yell at the child for what was painted, or if the activity made a mess?

I started programming when I was 11 years old.  Nobody made me do it.  I sat down with my father's HP-67 calculator and the wonderful manual and I was hooked!  From that point forward I spent much less time on my electronics hobby and spent my energy programming.

So, what is fun about programming?  Here is a short list:
  • Programming involves learning, which lights up neurons all over and stimulates the feel good hormone dopamine.
  • Programming involves problem solving, which is also a kind of learning.
  • Programming is a creative activity, and people enjoy making things.
  • Programming is delightfully interactive.  Give to the computer and it gives back.
  • Programming as an enjoyable social activity, sharing/working/competing with others
I see people bashing programming languages because they have features that will "ruin the programming culture and practices of the masses".  Oh, please.  How many of us have enough experience to even begin to know what this means?  How we define 'ruin' in this context?  And why is it acceptable to 'prove' that something is good or bad by regurgitating some famous person's quote that says that it's so?  We should resist this sort of nearsighted ideology.

I learned programming using the so called bad languages, and I had a blast and nobody got hurt!  I learned a ton and nothing stopped me from learning the so called good languages later on.  I encourage everyone to learn new things but if you decide to only learn one programming language you have not committed a crime to society.  Don't let anyone ever tell you different.

I know that nobody needs my permission, but I'll give it to you anyway!  Go forth and have fun programming!  Color outside the lines and drum to your own beat!  Don't be afraid of the self appointed programming police!

1 comment:

Greg2002 said...

Here here !! My first computer was a Univac 1108 mainframe, with 64K memory. I was taking night classes and was learning IBM 360/25 assembly language and Fortran. I moved on to C around '79 on a DEC mini-computer and went on to get paid for programming in C++ and C#. Now that I'm retired I have taken up Intel x86 assembly language using DOS and Microsoft MASM 6.1, on a fast 80486. I do it these days for fun, and the MASM keeps it challenging !! Program on !!!