Name That Term
I had a conversation recently with another programmer... which was a bit confusing... if only because we kept using terms that we thought the other would understand, but didn't because they understood that term to mean something else. Understand?
Our industry is chalk full of buzzwords, paradigms, and models, and a lot of other things that generate confusion. So what are some of them?
Object: The most overused word of them all! The object of this object is to objectify the objective of this other object. Everything is an object, whether someone is actually referring to a class definition, a physical instance of a class in memory, or a requirement for a class. It's not just women who have to deal with objectification... programmers deal with it on a daily basis.
Metaprogramming: This one got me last night. When I hear metaprogramming, I think immediately of metadata... which makes me think of Attributes being used to mark classes, methods, and assemblies in .NET for use in Reflection. This got super confusing because the other person was talking about metaprogramming in its more traditional sense where one program is used to write or manipulate other programs. In this case, it was using C++ template specialization to do some hard core stuff with the template preprocessor. They are related... but really involve two very different aspects of the same concept.
Modal/Modeless: I discussed earlier what happens when non-technical people try to sound technical by using terms that don't exist. Confusing modal and modeless is a great example of that.
ActiveX: I haven't done COM programming in a few years now, but back in the day I was pretty hardcore into COM/ATL and ActiveX. When I was working at Rockwell Automation... towards the end of the ActiveX reign on the Windows world... it was hilarious to see the marketing guys push ActiveX on us. Everything had to be ActiveX. They wanted to start using it just as everyone was stopping using it. Someone in that department heard the term, love it, thought it was all the rage, and so whether it made sense or not, we all needed to be writing them. Of course they didn't really know what they were for... but that never stops someone in marketing. In reality though, there were lots of programmers who were just as confused by ActiveX and how it differed from COM and OLE. To be clear for those who don't know... an ActiveX control was a specific type of COM control which implemented a specific set of interfaces (there were 13 I believe). If you didn't implement them all, it wasn't an ActiveX control.
Of course... it's hardly fair to talk about terms, without talking about how people pronounce certain terms. You'd be amazed at how serious some people get about it... almost to the point of religious fervor. Is GUID a Gooid, or a Gwid? And should you even use the term GUID anymore... and instead use UUID? Is it Linux pronounced with a long or short i? There are some who confuse matters even more by pronouncing the u in different ways. Is SQL pronounced S-Q-L or Sequel? Is OLE spelled out too... or is it Olé?
Are we all a bunch of geeks for caring so much about something so unimportant? Well... duh.
Our industry is chalk full of buzzwords, paradigms, and models, and a lot of other things that generate confusion. So what are some of them?
Object: The most overused word of them all! The object of this object is to objectify the objective of this other object. Everything is an object, whether someone is actually referring to a class definition, a physical instance of a class in memory, or a requirement for a class. It's not just women who have to deal with objectification... programmers deal with it on a daily basis.
Metaprogramming: This one got me last night. When I hear metaprogramming, I think immediately of metadata... which makes me think of Attributes being used to mark classes, methods, and assemblies in .NET for use in Reflection. This got super confusing because the other person was talking about metaprogramming in its more traditional sense where one program is used to write or manipulate other programs. In this case, it was using C++ template specialization to do some hard core stuff with the template preprocessor. They are related... but really involve two very different aspects of the same concept.
Modal/Modeless: I discussed earlier what happens when non-technical people try to sound technical by using terms that don't exist. Confusing modal and modeless is a great example of that.
ActiveX: I haven't done COM programming in a few years now, but back in the day I was pretty hardcore into COM/ATL and ActiveX. When I was working at Rockwell Automation... towards the end of the ActiveX reign on the Windows world... it was hilarious to see the marketing guys push ActiveX on us. Everything had to be ActiveX. They wanted to start using it just as everyone was stopping using it. Someone in that department heard the term, love it, thought it was all the rage, and so whether it made sense or not, we all needed to be writing them. Of course they didn't really know what they were for... but that never stops someone in marketing. In reality though, there were lots of programmers who were just as confused by ActiveX and how it differed from COM and OLE. To be clear for those who don't know... an ActiveX control was a specific type of COM control which implemented a specific set of interfaces (there were 13 I believe). If you didn't implement them all, it wasn't an ActiveX control.
Of course... it's hardly fair to talk about terms, without talking about how people pronounce certain terms. You'd be amazed at how serious some people get about it... almost to the point of religious fervor. Is GUID a Gooid, or a Gwid? And should you even use the term GUID anymore... and instead use UUID? Is it Linux pronounced with a long or short i? There are some who confuse matters even more by pronouncing the u in different ways. Is SQL pronounced S-Q-L or Sequel? Is OLE spelled out too... or is it Olé?
Are we all a bunch of geeks for caring so much about something so unimportant? Well... duh.
6 Comments:
When I was working at Rockwell Automation... towards the end of the ActiveX reign on the Windows world... it was hilarious to see the marketing guys push ActiveX on us.
Why didn't you stop them???
The current generation of software is a big RSmess, the ActiveX hooks have a lot to do with it.
By Aaron, at November 15, 2005 7:40 PM
Apparently you've mistaken me for someone who had decision making authority.
And yes... RSView and all its derivatives were total (and as I understand it still are) bloated beyond belief.
By Nick, at November 15, 2005 9:18 PM
RSView and all its derivatives were total (and as I understand it still are) bloated beyond belief.
Bloated is a nice way of putting it.
The thing that I find funny is how so much of it ties right into the "standard" Microsoft controls and properties (looks just like VB). That works nicely. But then, they limit exposure to those properties and roll their own version.
So, you get two versions of the same thing and neither one is complete?
I'll have to buy you a beer sometime. I'd like to hear your perspective as someone from the mythical software team.
By Aaron, at November 16, 2005 12:58 PM
Before you get too excited... I never officially worked for Rockwell Software. I worked for Allen-Bradley... and was only a loaned out member to Rockwell Software in Vancouver which made "Machine Edition" if you're familiar with it. Of course, Machine Edition was written as a replacement for RSView32.
My real claim to fame was working on PanelBuilder32... and later trying to help promote the idea of Machine Edition Lite which was going to be a non-bloated version of RSView32 based off of Panel Builder, but would have worked on the new platforms.
Politics between AB and RSI killed that project before it ever started. I left RA not long after that since my software group quickly lost real things to work on.
By Nick, at November 16, 2005 1:15 PM
You have to understand. This is the first evidence I've seen that ANY of the software is written by human beings.
It's Rockwell's loss. You're one of the rare programmers who finds his job interesting, and actually takes pride in creating something that other people will use.
By Aaron, at November 16, 2005 8:00 PM
I can't stand it when people try to be all tech savvy, and all I want to say is GIVE IT UP MAN! Like calling everything the "CPU" which only happens to the processor, not the whole "system unit" and it isn't "I'll send him a cc:Mail" we're using Outlook for goodness sake people! EMAIL him! I support end users (why I don't know) so I hear a lot of this. They would half get obfuscation, polymorphism, or encapsulation, not to mention big words like ohio and oreo. Great blog!
By Anonymous, at November 16, 2005 8:24 PM
Post a Comment
<< Home