Quantcast
Channel: Programming - Embarcadero Community
Viewing all articles
Browse latest Browse all 167

C++ Roundup #1

$
0
0

Marco runs a nice series of blogs posts posting miscellaneous interesting material. I plan to do the same thing: here's number one!

  • O'Reilly has a free ebook, Practical C++ Metaprogramming (free, where the cost is your email address.) It focuses on C++11 and C++14 language features; C++11 of course is supported by most of our compilers and we'll soon be moving far far ahead to where C++17 and C++19 are of interest.

  • How hard is it to understand the full STL? There is a new blog series that looks well worth keeping an eye on, based on the premise "...with a modest and correct understanding of the C++ language semantics, you too can understand the ins and outs of the STL. How can you do this? By writing the STL yourself, of course." I will be reading this with interest.

  • I really like the approach of learning by doing, including by rewriting something that exists in order to understand it. Many years ago - in about 2000 and 2001 - I wrote a simple 3D engine, starting with rendering polygons on a TCanvas in Delphi and moving on to using OpenGL. I skipped the intermediate portion of writing a library based on the polygon renderer that did more of OpenGL's stuff, like depth buffers and texture mapping, instead moving straight to using OpenGL.

    A developer named Dmitry Sokolov has written a small series on github on writing an OpenGL-like software rendering library from scratch, in about 500 lines of C++ code. I find it goes over the material very fast, and if you have never done any 3D work before it may be a struggle. I find several times one paragraph has a lot of material - lesson 3, hidden face removal and the Z buffer, casually introduces texture mapping in one paragraph as a homework assignment. However, all lessons are accompanied by code, and if you're used OpenGL or Direct3D, and you're curious about the fundamentals under the libraries, you should be able to follow along.

  • Arne Mertz writes a nice blog called Simplify C++.  This post on const correctness is a good overview of a basic and important concept, focusing on being aware of the 'const's behaviour used in various ways and approaching class design with const in mind.

  • I'm halfway through reading this Medium article about optimizing atoui (string to integer), with various approaches and comparing them to the implementations in the STL and boost's lexical_cast. Very interesting stuff!

  • Ok, one non-C++ thing (but kindof related since the two languages interop in RAD Studio.) This Delphi blog post from Jim is eye-opening to a C++ developer. A million lines of code are compiled in five seconds. I don't intend to normally include Delphi material in a C++ blog, but that one is spectacular.

  • The Starter edition is free! Note that Starter is not supported installed with any other SKU (eg Delphi Starter + C++Builder Pro is not supported.) Starter is intended for a developer who, well, needs to get started.  It's great to have these editions free for all to use!

  • We released Berlin Update 1. Some great stuff there, including lots of C++ quality improvements. If you're not already aware, we're moving to a longer release cycle (previous releases were every six months) and so we plan to have larger items in updates. We can do this because we now have the subscription update, so since everyone who buys the product has subscription and can keep up to date, we want to (a) slow down the releases with breaking interface changes etc; and (b) add more Big Features in updates, ie intermittently during the year, rather than waiting for releases. This means more good stuff for you, more often, ongoing.

 


Viewing all articles
Browse latest Browse all 167

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>