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
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...

Posted by on in Blogs
C++ Free Compiler Updated to 10.2.3 Embarcadero has had a free download of our C++ compiler and RTL (capable of making Win32 apps) for many years, going back into the Borland days. (In fact, Idera as a company likes providing free tools - check out some of the others here.) We aim to keep that free compiler up to date, and so we updated it from the frankly ancient classic "Borland" v5.5 compiler to the 10.2 Berlin compiler in July 2016. I'm pleased to announce that we've just updated it again, with the compile...
10.2.3 C++ Hotfix for an issue with a 4KB or larger stack allocation In 10.2.3, there is an issue affecting methods using the fastcall calling convention that allocate 4KB or more on the stack inside the method. The stack allocation could result in the 'this' pointer containing an incorrect value.  This was reported as: RSP-20171 RSP-20297 and RSP-20173 (duplicate reports) You can download the hotfix from CodeCentral. Technical info For those interested in the technical details, when the stack grows, it might need to grow into a new page, ...

Posted by on in Blogs
Why create mobile apps in C++ There are a wide variety of languages used for mobile development: Swift, Objective C, Java, Kotlin, Delphi, C#, and C++. What are the reasons to choose C++? Consider a language along three axes: expressiveness, conciseness, and performance. An expressive language allows you to easily write powerful concepts in code. It is easy to manipulate data in useful ways. ‘Data’ is any variable(s) your app uses and powerful means manipulation in non-trivial ways, whether that mutates the data or merel...

Posted by on in Blogs
New in 10.2.3: Using CMake with Ninja One big new feature in 10.2.3 is support for building with CMake. If you haven't already, read the previous two posts: introduction to CMake and building with Windows, and building for iOS and Android. Today I'd like to cover using CMake generators, and specifically Ninja for fast parallel builds.   CMake Generators CMake is a compiler- and platform-independent project system, but despite its name it doesn't actually do any making or building. Instead, it uses the tools a...

Posted by on in Blogs
C++ Quality in 10.2.3 Every RAD Studio release, we focus on what we call QPS: Quality, Performance, Stability.  Recent releases of C++Builder have included: 10.2.0: Lots of work on our linker; improved codegen and optimizations; and debugging improvements (minimizing debug info size, better debugging)  10.2.1: CodeGuard for Windows 8.1 and 10; a group of exception handling, standards, and debugging improvements 10.2.2: further linker quality work; a variety of fixes around...
New in 10.2.3: CMake Support for iOS and Android We've introduced some great new features for C++Builder in 10.2.3.  Last week, I wrote about CMake support for our compilers. That post covered what CMake is, and how to use it for Windows, both Win32 and Win64.  If you haven't read it, please do; it's worth reading before this post. Today I'd like to cover using CMake for mobile, iOS and Android.  This is both how to invoke CMake, and how to write mobile-specific information in a CMakeLists.txt file. CMake for iOS and Android ...

Posted by on in Blogs
New in 10.2.3: CMake Support A very exciting feature in C++Builder 10.2.3 is support for using CMake with our compilers.  Let's dig in! This post is the first in a series on CMake, and will cover: What CMake is How to write a CMakeLists.txt file How to build a project on Windows What is CMake? You can think of CMake as a platform-independent, compiler-independent, project format for C++ apps and libraries. CMake uses a file called CMakeLists.txt.  This is a plain text, human-edi...
New in C++Builder 10.2.3: a new Win32 compiler front-end, bcc32x Yesterday we released RAD Studio 10.2.3, and we have a number of new C++Builder features. I wrote earlier about rename refactoring for C++, but today I also want to mention one small but useful one for our power users: a new compiler driver called bcc32x. It's a minor addition, but useful. Our compilers In 10.2.3, we ship a number of compilers. First, our classic compilers: the C++ compilers that users often know as the Borland compiler, bcc32.  This is bcc32 for Win32, and bccosx ...

Check out more tips and tricks in this development video: