On Monday, 23 May 2016 14:40:47 MSK Vladimir Batov wrote:
On 2016-05-23 20:12, Andrey Semashev wrote:
In my practice language or library updates never came from top down in a company, always from bottom up from the initiative developers who care.
Well, I guess, you are luckier. :-) For us, the customer IT infrastructure is essentially carved in stone. We are free to do whatever we want... as long as it installs and works on their platform. So, the closer my development framework to their framework, the less hassle I have maintenance and support-wise.
My main point above was that unless developers start nagging the management, they will never upgrade their tools. An the management tend to understand the language of numbers. If implementing a feature suddenly takes a month instead of a week because the feature is implemented with a C++11 library, I'm sure it'll be a point in favor of maintaining a C++11 environment.
And with regard to maintenance, the support contract is another (often significant, often main) source of income.
Indeed. The difference is mnt/support of your s/w as opposed as opposed to mnt/support of their platform and their environment. The more components I deliver (say, due to using libs missing in their standard installation) the more vulnerable I am to their tinkering with the system. Nothing new... I am sure you are well aware of all that. It's just that that aggravated persistent noise about C++14-only... loudly claiming to represent "wider C++ community" when in fact, it could not be further from the truth. Irritating.
I won't claim that C++14 or even C++11 community is wider than C++03-only or the other way around; I don't have data to back up either theory. But I can guess that larger- scaled companies are much more conservative. OTOH smaller companies are easier in this regard, and they are more numerous. For reference, in our company we switched to C++11 in 2011 or so, slightly before the final standard paper has been announced. We were using gcc 4.4 back then - an even earlier implementation of the unfinished standard. Even then, the few core C++11 features that we had, like rvalue references (yes, even the preliminary version thereof), proved to be extremely useful in our software design. Though it may not have that much of an impact if you already have a huge C++03 code base. Anyway, what I'm trying to say is that (a) unless you, the developer, act, you will not have C++11 and (b) adoption of the newer C++ version happens faster in some environments than other (that includes commercial environments). Sorry for being Captain Obvious :)