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.
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 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.
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.