Wednesday, April 13, 2011

What is computer programming?

Recently on Slashdot I read a comment about a new Microsoft programming environment, TouchStudio, for the Windows Phone 7 that allows programmers to write programs on the phone to run on the phone.  Another commenter wrote:

So, it appears to be not true programming but just script manipulation.

Well, that brought up something that I've heard a lot, especially as a professional FileMaker Pro application developer...  What is programming?

Other developers working in FileMaker Pro used to say that it wasn't programming, but just "scripting" or things (often with some concerns over how it would look on their resume and what negative effect it would have on future career options).  Sure, with FileMaker Pro we didn't sit down with a text editor and write code to compile or interpret, it had a lot of point -n- click, choose items from a list, etc. to create a script.  And FileMaker Pro used the term "script" for code written in it.

But I don't agree that it isn't programming.

To me, computer programming is simply about instructing the computer what to do later.

Later is any time after the instructions are created, whether it's a one-time fix for something, or a piece of code that'll run a thousand times a second for a few years or an event handler to deal with users clicking an OK button somewhere or a scheduled task for every day at 3pm.

The way I see it, whether it's assembly language, BASIC with line numbers,  C, Java, SQL, JavaScript, FileMaker Pro, LabVIEW, Access, Python, Ruby, Logo and a virtually unlimited list of others (and I could grudgingly add VisualBasic...) if you're using it to tell the computer what to do sometime after you've given the instructions, it's computer programming...

Blessed be those who speak to inanimate objects...
...For they shall be computer programmers.

From a sign on my uncle's old office in the math department of Whittier College in 70's...

No comments:

Post a Comment