Key takeaways from our C++ event with Embarcadero
Blog|by Leanne Bevan|14 August 2018

On 19 July 2018 Grey Matter and Embarcadero hosted a workshop to a great bunch of C++ developers with sessions delivered by C++ expert, David Millington, about C++ and Embarcadero technologies.
So, what were some of the key takeaways from the event?
In the first two sessions David discussed and demoed traditional C++, explained how and why developers should modernise and incrementally improve code.
What is good code?
- Code you don’t write
- Code you don’t have to think about
- Code you know is correct
What is needed for new, good code?
- Auto functionality
- Smart pointers
- Range-based for or algorithms
How can you improve old code?
- Use smart pointers
- Existing class, new-s and delete-s fields? Unique_ptr them!
- Find leaks. Establish clear ownership.
- Same for methods
- Use unique_ptr, not shared_ptr – tempting, but 99% of the time, shared_ptr is the wrong choice
- Pass references to methods using the pointer. Don’t pass the unique_ptr or a reference to the unique_ptr
- Do: void foo(const MyType& bar)
Don’t: void foo(const unique_ptr& bar)
Or even worse: void foo(const unique_ptrbar)
In the third session David discussed migration and performance improvements in the latest version of C++Builder (10.2.3). One of the main tools that David went through was Clang compilers. He noted how they can improve your development if you migrate by providing more (and better) error messages, stricter code and minor compiler differences.
What do you get with Clang compliers?
- Much better C++ language support: ‘modern C++’
- Lambdas, move semantics, type inference (auto), range-based for loops, constructors delegate to others, strongly typed enums, template >> problem solved, initialiser lists, tuples, two great smart pointers (don’t use boost anymore!), etc.
- http://www.stroustrup.com/C++11FAQ.html
- The code you write is better, clearer, smaller, safer, more powerful
- Optimisations and performance
- Compiled app is better
Performance and code generation
- Clang-enhanced compilers use LLVM
- More optimisations
- Compiled code can be 2x faster
- Users in scientific, engineering, and other areas: performance is important
- C++ is a language known for performance!
- Use the modern toolchain
There was supposed to be a fourth session that was hands-on where the attendees would create a cross-platform camera app, but the attendees had so many questions and were so engaged with the other sessions that we ran out of time to do the practical side of it. David did have time to do his own demonstration of how easy it is and encouraged attendees to have a go at home.
We had some great feedback about the event, one of the attendees from the event said his highlight was “the realisation that Clipper Code blocks still exist 🙂 (in the form of Lambdas). Noticing that the IDE Looks remarkably like Delphi, which will get me to have a go at C++. Interesting C++ clang stuff, and finally the FireMonkey stuff (which is what I came for)”.
Here are the slides and code samples from each of the sessions:
- Modern C++, part 1 and 2 slides
- Code sample – old vs new style
- Code sample – old style (bad style and buggy) project
- Migration and performance slides
- How to create a cross-platform camera app slides
- Code sample for quick camera app
If you’re new to C++ and Embarcadero, it would be worth trying out their new (and free!) community edition of C++Builder which is designed for freelance developers, startups and non-profits with revenues under $5000 USD. The community edition allows you to easily design, code, debug, and deploy applications for iOS, Android, Windows and macOS from a single codebase with professional and integrated tools. Contact us to find out more.
Grey Matter is proud to be the Embarcadero UK and Ireland Master Reseller. We have a great knowledge about how the Embarcadero products are licensed and can advise you on which editions would best suit your needs and offer great pricing. We also host regular workshops with Embarcadero to help you use the tools you’ve bought and learn about the new features and technologies. Find out more here. For more information, please reach out to our Embarcadero licensing team on +44 (0) 1364 655123 or [email protected].


Contact Grey Matter
If you have any questions or want some extra information, complete the form below and one of the team will be in touch ASAP. If you have a specific use case, please let us know and we'll help you find the right solution faster.
By submitting this form you are agreeing to our Privacy Policy and Website Terms of Use.
Author
Leanne Bevan
Vendor Marketing Manager at Grey Matter
Leanne has been part of our team for over a decade, and has worked as a vendor marketing manager for a number of our key vendors. Now with a keen focus on cyber security as well as developer technologies, Leanne continues to manage marketing across several vendors, including Embarcadero, Acronis, ESET, and more.
Related News
How to create an Azure Maps account
Learn how to create an Azure Maps account, retrieve authentication keys, and plan for secure, scalable Azure Maps usage from day one.
Introducing Kai for RAD Studio – Embarcadero’s agentic AI platform
AI has already transformed how developers write code – but what if it could do more than just assist? What if it could collaborate? That’s the thinking behind Kai, Embarcadero’s new agentic AI platform for Delphi, C++Builder and RAD Studio...
UK cyber security breaches survey – key insights for businesses
Cyber security rarely makes headlines unless something has gone badly wrong. But each year, the UK Government’s Cyber Security Breaches Survey offers a far more useful view – an honest snapshot of how organisations are really coping with cyber risk, day to day. ...
Developer stories: DynamicLedger
Season five of our podcast, Grey Matter Talks Tech, puts the spotlight where it belongs – on developers and the software businesses shaping what’s next. This season, we’re inviting our developer clients to share their stories. We dig into how...