Thus we see the difference between commercial and academic/research C++ programmers. (There is considerable overlap between the two groups). And why Boost isn't seen much in commercial setting, but is de rigeur in academic/research settings. Academic C++ developers tend to know a lot about GP whereas commercial developers do not.Originally Posted by brcain
This isn't because commercial programmers are stupid, it's because there's a greater tendency to change languages, to use older compilers, to do things the simple way instead of the clever way, etc. Commercial firms are also more conservative and less likely to explore the more advanced features of a language.
In short, commercial developers are less likely to know what a function object is, or if they do, have little to no experience actually using them. It is a concept that is outside of the "core" language. If I could only hire people who knew what a functor was, I would have trouble filling the position. They are not bad people just because they don't know what you think they "should".
p.s. The vast majority of functors are used as callbacks. Because most callbacks are used in GUIs, and nearly all C++ GUIs avoid callbacks (at least direct callbacks), commercial developers simply don't have much opportunity to use functors, even if they wanted to. If you don't use it, you lose it. Thus, a lot of the developers who don't know what functors are, will exclaim after you tell them what it is, "Oh yeah! I learned that way back in college!"
p.p.s. a company I once worked for hired one of the developers of SGI's STL. He quit two weeks later because the company refused to uprade its compiler. But the company couldn't upgrade because it would mean revalidating a few million lines of code for no commercial benefit. They were planning to update the compiler during the next product upgrade cycle the next year, but this was too slow for the developer who couldn't stomach the notion of using an "obsolete" compiler.




Reply With Quote


Bookmarks