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 $
|Published (Last):||26 January 2014|
|PDF File Size:||11.67 Mb|
|ePub File Size:||3.93 Mb|
|Price:||Free* [*Free Regsitration Required]|
That one application alone consumes over 2GB of memory when you load a project. You make some good points, particularly when it comes to concurrency as this definitely joshttis lead to a different way of programming. 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. So in my books this book is a suspect no joosuttis intended.
To become successful a new programming language requires not only technical merit but also a critical mass of users. Even PHP and other messes of languages. The point being that language design is hard and often runs into non-obvious problems. The current trend of sweeping aside all concerns of performance and particularly memory usage produces such ‘gems’ as Visual Studio No, you will never find a performant programming language without weird corner cases and programmer traps.
I think that new programming styles and new languages will start to overcome that barrier with time and experience. Never underestimate the inventiveness of nature.
Full C++17 Filesystem Library Guide—Nico Josuttis : Standard C++
I think he might have been drunk. You are absolutely correct. It is more efficient and more effective to write in a compiled language and let the tools written by the experts take care of the fine details, because they will generate better assembly in an automated way than most of us would by hand anyway.
It disqualifies ‘d’ for some very basic but very important applications. The new stuff does add a lot of functionality, and that stuff is often damn useful, but sometimes you just want a function pointer. Log in or sign up in seconds. 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 to walk into and hundreds of weird corner cases. 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 I suppose I am being a little pedantic.
However, where it all falls down is in reality. There are several factors that I think will push the industry in that direction. In particular, that includes just about anything that lives below application software in the stack OS, device drivers, network stack, etc.
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.
I completely agree that performance will always matter for some kinds of software. Frankly they chose to limit d’s scalability.
Show only CppCon links. You’re right that this is a deficiency. With prefix dereference you need to remember which operator associates more strongly:. Capturing variables – either by value or by reference – is absolutely equivalent to passing them to the constructor of a function object and making them accessible to operator as member variables.
There is a useful list of books on Stack Overflow. Function classes also come with some downsides. I believe the increased size of std:: C is certainly less complex, but still has many shortcomings compared to jisuttis languages. Submit a new link.
Nicolai Josuttis: Home Page
The more we train modern developers that they are, the bigger the problem we will have. The point is resources are not infinite and they are not ‘free’. You can’t make abstraction both costless and correct.
The only difference is that you have to pass those variables at the place where you define the lambda.