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: Moogushicage Faegar
Country: Turks & Caicos Islands
Language: English (Spanish)
Genre: Travel
Published (Last): 15 December 2007
Pages: 75
PDF File Size: 8.30 Mb
ePub File Size: 8.18 Mb
ISBN: 416-6-29140-221-3
Downloads: 64997
Price: Free* [*Free Regsitration Required]
Uploader: Mami

And I won’t get you started on function pointer declarations. No, you will never find a performant programming language without weird corner cases and programmer traps.

Submit a new link. Function classes also come with some downsides. 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.

The only difference is that you have to pass those variables at the place where you define the lambda. In particular, that includes just about anything that lives below application software in the stack OS, device drivers, network stack, etc.

More importantly, I think the performance barrier itself will probably be different in a few years as well. However, where it all falls down is in reality. Microsoft suggest moving to 64 bits to solve the problem! 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.

Welcome to Reddit, the front page of the internet. I think that new programming styles and new languages will start to overcome that barrier with time and experience.


Horrible syntax, header files, compile times, many traps for a programmer to walk into and hundreds of weird corner cases. Do I really need to?


So in my books this book is a suspect no pun intended. I believe the increased size of std:: The garbage collection is its achilles heel frankly.

The point is resources are not infinite and they are not ‘free’. Log in or sign up in seconds.

The current trend of sweeping aside all concerns of performance and particularly memory usage produces such ‘gems’ as Visual Studio You are not pedantic. There is a useful list of books on Stack Overflow. I found that really weird.

Use of this site constitutes acceptance of our User Agreement and Privacy Policy. Want to add to the discussion? You are absolutely correct. With prefix dereference you need to remember which operator associates more strongly: You need enough people to grow the surrounding tools and libraries ecosystem.

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

You make some good points, particularly when it comes to concurrency as this definitely will lead to a different way of programming. That 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. I think he might have been drunk. You’re right that this josuttos a deficiency. With prefix dereference you need to remember which operator associates more strongly:.

Nicolai M. Josuttis: The C++ Standard Library

I suppose I am being a little pedantic. For more specialised tasks josuytis as graphics rendering, the chips have been highly parallel for a long time.

I completely agree that performance will always matter for some kinds of software. It’s very difficult to scale ‘c’, it doesn’t easily support coding at a higher level. F can’t make abstraction both costless and correct. 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.


It’s usually solved by changing the dereference operator to a different character. Josuthis one joduttis alone consumes over 2GB of memory when you load a project. The point being that language design is hard and often runs into non-obvious problems. It joshttis more efficient and more effective to write in a compiled language and let the tools written by the experts take care of josittis fine details, because they will generate better assembly in an automated way than most of us would by hand anyway.

The new stuff does add a lot of functionality, and that stuff is often damn useful, but sometimes you just want a function pointer. On my machine sizeof std:: Stronger typing helps catch idiotic bugs, namespacing helps group things, operator overloading makes coded equations more readable, destructors allow for more relaible resource cleanup, etc The “arrow” operator is only necessary because the dereference operator is prefix, not postfix.

It disqualifies ‘d’ for some very basic but very important applications. Never underestimate the inventiveness of nature. In that sense I find it almost regretable that it is not possible to create a normal named function josutttis class with the same syntax as lambdas in the global scope, that provides automatically created constructor and members like lambdas.

C is certainly less complex, but still has many shortcomings compared to modern languages. Even PHP and other messes of languages. There are several factors that Josuttiw think will push the industry in that direction. To become successful a new programming language requires not only technical merit but also a critical mass of users.