The C++ Standard Library, 2nd edition by Nicolai Josuttis. The Best-Selling Programmer Resource – Updated for C++ Also out: C++17 – The Complete. Programming with C++17 by Nicolai Josuttis. Although it is not as big a step as C++11, it contains a large number of small and valuable language and library. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis Hardcover $

Author: Groramar Jugor
Country: Lebanon
Language: English (Spanish)
Genre: History
Published (Last): 28 June 2015
Pages: 364
PDF File Size: 6.93 Mb
ePub File Size: 10.41 Mb
ISBN: 482-2-44291-196-4
Downloads: 26572
Price: Free* [*Free Regsitration Required]
Uploader: Akinotaxe

Submit a new link.

More importantly, I think the performance barrier itself will probably be different in a few years as well. Hardly anyone programs raw assembly today, because getting good performance out of modern chips joskttis a specialist skill and we have compiler writers who spend a lot of time getting good at it, so most of us will produce faster software jjosuttis writing in those compiled languages and leaving the tricky assembly-level work to the experts.


C is certainly less complex, but still has many shortcomings compared to modern languages. Function classes also come with some downsides.

With prefix dereference you need to remember which operator associates more strongly: In that sense I find it almost regretable that it is not possible to create a normal named josuuttis object class with the same syntax as lambdas in the global scope, that provides automatically created constructor and members like lambdas.

You’re right that this is a deficiency. It disqualifies ‘d’ for some very basic but very important applications. To become successful a new programming language requires not only technical merit but also a critical mass of users.


We already have desktop and laptop PCs with multiple cores today, and mobile devices and even embedded systems are starting to go that way as well. I think that new programming styles and new languages will start to overcome that barrier with time and experience. I thought it was usually the caret, but that still leaves this case ambiguous with bitwise XOR. You are absolutely correct. There are several factors that I think will push the industry in that direction.

The garbage collection is its achilles heel frankly. In my experience, writing toy examples to understand how something works and solving real problems using it are two very, very different things.

You need enough people to grow the surrounding tools and libraries ecosystem. It’s not going to gain popularity by making incompatible changes, and I’ll take backwards compatibility and slight inconveniences over program-breaking changes to the standard for aesthetic purposes. On my machine sizeof std:: You are not pedantic.

Nicolai M. Josuttis: The C++ Standard Library, 2nd edition

Want to add to the discussion? The josuftis stuff does josuttos a lot of functionality, and that stuff is often damn useful, but sometimes you just want a function pointer. For example, optimizations of functional coding styles have come a long way in recent years. With prefix dereference you need to remember which operator associates more strongly:.

I think he might have been drunk. The “arrow” operator is only necessary because the dereference operator is prefix, not postfix. Frankly they chose to limit d’s scalability. For more specialised tasks such as graphics rendering, the chips have been highly parallel for a long time.

The state of the lambda object has changed between calls. The point uosuttis that language design is hard and often runs into non-obvious problems.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy. Capturing variables – either by value or by josyttis – is absolutely equivalent to passing them to the constructor of a function object and making them accessible to operator as member variables.

Josugtis is to say, the straight line optimizations will always have some value, but only if you can make everything efficient enough at the higher level first. As commodity hardware gets faster, the commercial pressures push development toward rapid prototyping and product evolution, with less emphasis on achieving optimal speed when anything within a factor of 2—3x or much more, depending on the context is still fast enough for paying customers.

No, you will never find a performant programming jossuttis without weird corner cases and programmer traps. I suppose I am being a little pedantic. It’s very difficult to scale ‘c’, it doesn’t easily support coding at a higher level.

Horrible syntax, header files, compile times, many traps for a programmer josuttsi walk into and hundreds of weird corner cases. Microsoft suggest moving to 64 bits to solve the josuttks Never underestimate the inventiveness of nature.

In this respect, function objects are still a better choice. Log in or sign up in seconds. I’m not advocating that we all learn about instruction pipelining and branch prediction but we certainly need to strike a better balance between expediency and reasonable use of resources.