David Millington, C++ Product Manager

David is an Australian developer, although these days he lives in far northern Europe: if you go north, then you cross just one country to get to the North Pole. (It's further than it sounds, and he does see sunlight in winter -- occasionally.)

He has many years of experience with Delphi and C++Builder, as well as other languages. Since joining Embarcadero in May 2016, he has worked as a senior product manager responsible for C++, the IDE, and the debugger.

Posted by on in Blogs
std::out &lt&lt "Happy 35th birthday, C++!" C++ has a long history, beginning in 1979, with Cpre, which added classes to C.  By 1980, it was C with Classes. And then in December of 1983, the term C++ was first used, suggested by Rick Mascitti. That's thirty-five years ago this year!  Read more in this fascinating article by Bjarne Stroustrup, which also discusses many other aspects of C++’s history.  We also recently posted a short history of C++’s various standards ourselves. My own journey with C++ began much later than ...
Learn to program C++ with C++Builder Community Edition: #5 Operators, and final application! Welcome to the fifth and final episode of Learning C++ with C++Builder Starter. Last time, we had a calculator and numerical input, demonstrating using boost::optional, smart pointers, and more. This post is shorter: it will finish the calculator with operators (implementing addition, subtraction, etc) and end with a full application, ready to move to cross-platform if you wish. Operators The calculator is almost functional. The one thing missing is actually performing the math operations...
Learn to program C++ with C++Builder Community Edition: #4, Real code and Useful C++: Ownership, smart pointers, styles, and optional values Welcome! Last time we looked at the architecture of a simple calculator app, showing how to design an application well by separating the UI and logic, abstracting through interfaces, and ensuring each class had a single responsibility.  That's important stuff, stuff that many developers skip, and is really important. Now we've done that, though, we can dig into the actual code. Today's blog post is almost entirely code, and will introduce you to several very interesting C++ concep...
Learn to program C++ with C++Builder Community Edition: #3, Design, Architecture, and UIs Welcome!  Last time we looked at the IDE, projects, a simple first application, and basic use of the debugger. Today we’re actually going to write code!  We are going to write a scientific calculator.  It’s a useful, real-world app. You might put it on your phone and use it (and we’ll show how to do this in the last blog post of the series.) Part of programming is good design. Programming is an art, and when you’re writing code, and you envisage your whole app, you fee...
Learn to program C++ with C++Builder Community Edition:  #2, Building and Debugging Welcome to the second blog post in the ‘Learning to program with C++Builder’ series - a set of five articles taking you from knowing nothing about C++ to writing a real-world, useful application. The first entry covered installing C++Builder Community. Now it’s time to start using it! Today, we’ll cover the tools you use, creating your first app, and basic debugging. Understanding the IDE C++Builder, the product, is what we call the IDE (Integrated Development Environment), which is the p...
Learn to program C++ with C++Builder Community Edition: #1, Introduction and Installation Welcome to the first entry in the ‘Learn program C++ with C++Builder’ series - a set of five articles taking you from knowing nothing about C++ to writing a real-world, useful application. I’m David Millington, the C++Builder Product Manager, and in parallel we have the same series and same app in Delphi. We have posts taking you step by step through programming in the two respective languages, with Delphi and C++Builder. We’ll be taking you through from the very beginning, ...
Creating great UIs with C++Builder and FireMonkey: app templates FireMonkey is an advanced UI toolkit, capable of great layouts and designs. We'd like to show you what it's capable of, and how easy it is to make great interfaces using it. We've just introduced eighteen example UI templates using FireMonkey and C++ that really show how easy it is to create great-looking apps. These are freely available on GetIt, our package manager, and you can download them and use them for your own inspiration and layouts. What have we added? ...
Real-world CMake and C++Builder applications on github Last week, we ran a popular webinar Fast Builds and Integrating Libraries: Using CMake and Ninja for C++ Builder 10.2.3.  The replay is now available on Youtube. In it, I demonstrated two items building with C++Builder and our CMake support: a real-world FireMonkey application, and Google Test.  These are available on github: Mazes: I wrote this for CodeRage XII in 2017 and the same application is available for both Delphi and C++Builder, written in duplicate.&n...

Posted by on in Blogs
Evolution of C++ standards Programming languages are exciting for developers, and C++, one of the more technically challenging and also perhaps the most widely used compiled language, is one of the most exciting.  As Theodore Roosevelt is misquoted (*), 'the more you know about the past, the better prepared you are for the future,' so let’s dive into a bit of C++ history and how it’s shaped our coding today.  Many people may know that C++ grew out of C language extensions, started by Bjorne Stroustrup in 1979.&...

Posted by on in Blogs
Removing the Community toolbar The RAD Studio IDE contains a toolbar allowing you to log on to Community, and see messages sent to you by other users, questions and answers, and other notifications. Recent website upgrades have caused issues with this toolbar for some users (now resolved), and we plan to remove the toolbar altogether in an upcoming version of RAD Studio. If you have encountered issues, you can disable it in your current version of RAD Studio. The following assumes you are using RAD Studio 10.2. Adjus...

Check out more tips and tricks in this development video: