Those who can - do. Those who can't - teach.

A few years ago I elected to take a class at the University of Arizona as a refresher for a programming language that I hadn't used in over a decade. I was originally self-taught in the language, and I knew that the language had evolved since I had last used it, so I thought that it would be worthwhile endeavor to study it formally.

The class was going well, but when I turned in one of my assignments, the professor had dropped my grade a full letter because - seriously - he didn't like my variable names. Being an adult - and not an 18-year-old that's fresh out of high school - I have no problems confronting an academic when I think they're incorrect. In addition, as someone who has been in the software industry for years, I have no problems calling BS when I think it's warranted.

I scheduled a time to meet with my professor, whereupon I told him that I thought he was wrong. All my variables were descriptive of their purpose, and I used a consistent format across the entire assignment. In addition, I wanted my grade restored.

The professor looked at me and said, "No one names variables like that."

I replied, "That's called 'Hungarian Notation.' It's a widely-used standard in the software industry."

He attempted to counter with, "That's outdated. No one uses that anymore."

To which I replied, "I work for Microsoft. We write millions of lines of code every day using that notation."

He grumbled a bit more, but eventually he acquiesced and restored my grade.

I later discovered that this particular professor earned his BS in Computer Science, then his Master's, then his Doctorate, and then went straight into teaching at higher education establishments. In other words, he's never worked a single day in the industry that he is teaching about, and yet somehow the software engineers of tomorrow are supposed to learn from him?

Inheriting C++ Code from Other Programmers

Trying to get someone else's 20-year-old C++ code to compile is like trying to translate hieroglyphics without the use of the Rosetta Stone...

cpp-errors

"Safe strings to prevent buffer overruns? Bah! Who needs 'em..."

Sad smile


UPDATE: True story - the original C++ code which was the impetus behind this blog post was written sometime around the release of Visual Studio 5 or 6, so the way that I eventually managed to get this code to compile on an up-to-date version of Visual Studio was to do the following: I set up a virtual machine in Hyper-V running Windows XP, installed Visual Studio 6.0, and compiled the code. Once I had it compiling with no errors, I kept updating the version of Visual Studio and recompiling; e.g. VS.NET, VS2003, VS2005, VS2008, VS2010, VS2012, VS2013, and finally VS2015, (which was good enough for what I needed to accomplish). As I upgraded each version of Visual Studio, I fixed whatever errors were introduced on a version-by-version basis. A few hours later and all the errors were gone, and the original program worked great.