March 12, 2013, 12:38 PM —
Earlier in my career I was a C programmer. Not a C++ programmer, a C programmer. The reason I didn’t program in C++ is because it didn’t exist yet. I thought that C, and then C++ when it entered the scene, were incredibly strong and versatile programming languages. Having previously programmed in various other languages, I thought it was interesting that I could increment a counter by putting two plus signs before or after it. For those not in the programming world, “x = x + 1” and x++ are equivalent statements.
I remember asking the person who was teaching me how to program in C why this new syntax existed. He told me four things:
1. It provides greater flexibility when forming computations because you can refer to and increment the value of “x” in the same statement
2. If you place the “++” after the “x” it increments after its use and if you place the “++” before the “x’ it increments before its use
3. This syntax assists the compiler in creating efficient assembly language code (compilers were not as advanced at that time)
4. It looked really cool and people using other programming languages wouldn’t know what it meant.
I then asked him if the “x = x + 1” format would still work. He told me that yes, it would, but never use it in C programs because the other C programmers will make fun of you. Real C programmers only use the “x++” format.
When asking people why they like one programming language over another, one of the following themes, best described in memorable TV commercials and great classic songs, comes to mind:
• Less Filling, Taste Great: This theme illustrates that sometimes more than one programming language can appropriately do the job, it just comes down to a decision between two great options. (Ok, yes, I’m thinking about Java versus .NET).
• Love the one you’re with: This is the case that sometimes the language you know always seems to be better than the language you don’t know.
• Try it you’ll like it: This is often the theme brought forward by technical evangelists, rightly so, trying to get you to learn a new emerging technology. Remember, there was a time when C++, Java, .NET, PHP, and even COBOL were brand new languages.
• I heard it through the grapevine: This is when a new language, or other technology, gets incredible hype within the industry and everyone starts (or wants to) hop on the bandwagon.
• My dog is better than your dog: This is the case when people get entrenched in a specific technology and feel like it is the solution to all problems. Another way to state this phenomenon is that when you have a hammer, everything looks like a nail.