Is it important to be fluent in a programming language? I’m not sure anymore.

I write C++ code all day every day. At least on days when I am working on the normal native-application cross-platform stuff that I do here.

We have a few programs that run as daemons on Linux and Solaris, and as Windows services on Windows. One of these is fairly complicated and communicates through a device driver with the hardware we build. That is all C++ code.

We also have a web interface for our product, and since it is well over 10 years old, it is written in C++. PHP wasn’t an option originally and we didn’t have cross-platform support and wanted to stick with native programs, not scripts, so Perl was not a good choice way back. Now days, the web interface generates web pages on the server with a C++ program but there is a bunch of fairly simple JavaScript on the server side and the pages are styled with CSS.

At home, I have been working on a game using HTML5 technology. It can be found HERE. The code is all JavaScript on the client side.

I have also been working on a package at home that will retrieve email from a POP server and then generate a response and send it. The log file can be viewed using a web page that is designed to work like a native iPhone app. That package uses JavaScript and AJAX techniques on the client side but uses PHP on the server.

The Point of All of This

What I’m getting at is that programming today is not like it was 20+ years ago when I first started doing this type of work. Actually, I started closer to 27 years ago with an Atari home computer but I didn’t program professionally until years later.

Programing 20 years ago involved C, Pascal, COBOL, Fortran, and BASIC, as far as I knew. There was seldom a reason to use more than two of those languages and most people I knew only used one language 99.9% of the time. Everyone I knew could use BASIC to test some simple algorithm or to generate some data table they needed but otherwise, only one language got used.

And don’t forget Assembly language. Only the hard-core types used that once C was widely accepted and by the time I was programming professionally, C was widely accepted.

Now, we have the situation I described in my first five paragraphs. I know the basics of C++ inside and out. I can write a program starting with nothing and have it work. Sure, I need to look up the arguments for some function calls here and there but I know about the function calls and it’s just the arguments or the order of them that I might forget.

I can also write a program using MFC on Windows and create windows, dialog boxes, GDI graphics, and a real working program from all of it without looking up more than a few things here and there. Syntax wise, I am fluent in C++.

I am not fluent in JavaScript, PHP, Perl, Java, or any other language. Does it matter?

No.

I can search the world wide web for any programming language and topic and I am likely to find sample code that is close enough that I can use the programming skills I have to make it work. I just adapt syntax, variable naming, etc., to the language I’m using. AS long as I have twenty lines of code already, I know to stick in those stupid dollar signs in front of variable names. I know from that code that I can or can’t declare an integer differently from a string or floating point variable. There is enough syntax in twenty line of useful code that a seasoned programmer can adapt and use the given language.

It helps that all of the languages I described are similar enough to each other that a transition is not too hard. I do need to see more than twenty lines to remember how to create a class in JavaScript vs. PHP.

Don’t fixate on language. Programming is more than knowing the syntax and library functions of a language. It is about thought and design. It is about structure and robustness. Learn to program in English and then have someone translate to a programming language if you can find someone to do it. Programming is art and once you are an artist, the fibers of your brush or the weight of the paper you use will not matter at all. Even switching from oil to watercolor to acrylic will not be a big leap once art itself has been mastered.

Sorry no pictures, just opinions today.