My prospect is that if you are working on library code, you should probably wait. I want to say that if you want to combine the library either for open source distribution or for use in a commercial cross-platform package, you are unlikely to be able to control what compiler support for lambdas will be available and how it will behave. Fortunately, lambda expressions, no matter how good they are, are mostly about syntactic sugar. They do not offer more functionality than traditional functors, they just make it more pleasant and more localized (of course, I can be wrong in this, my knowledge about using lambda is pretty small). But, as a rule, the library should hide the ugliness of implementation. And if you need to make this library suitable for use in compilers that do not support lambda, you still have to offer alternative portable implementations. Thus, if there is no clear benefit to using lambdas in your library (either in efficiency (compilation time or runtime), or in user mode (for example, if you use lambdas to make your library easier or more intuitive or more intuitive) ), this is probably not worth the effort.
However, for custom code, you can more easily manage the target platforms and / or compilers for your software. In this case, if all the compilers you are going to use lambdas .. support, then go nuts!
Now a philosophical moment, there are standards for people to meet them. This includes, of course, people making compilers, but also people who use them. When people start writing good libraries and / or software that requires lambda support, people who want to use them will start complaining to the compiler developers to add support, which in turn will encourage people to use lambda .. and also the ball.
Finally, judging by the amount of noise that this new standard raises and the excitement that was building in anticipation of its release, I think that programmers will rush to make this standard โstandardโ, and compiler developers will follow suit to stay alive.
Mikael persson
source share