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 embarcadero@greymatter.com.
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.
Leanne Bevan
Related News
[ON-DEMAND] The Future of Enterprise Mapping Solutions: Bing Maps Unification with Azure Maps
Learn all about the Bing Maps Unification with Azure Maps and the support available with our Grey Matter and Microsoft experts.
Meet the Mapping Team | Part 3
When it comes to all things Geospatial, no one knows mapping like we do. Meet the people behind our Grey Matter Mapping team and learn about their diverse industry experiences in the Geospatial industry.
Understanding DMARC: A Guide for Organisations
In today’s digital age, email remains a critical communication tool for businesses. However, it is also a prime target for cyberattacks such as phishing and email spoofing. To combat these threats, organisations can implement DMARC (Domain-based Message Authentication, Reporting, and...
Acronis Offers Native Support for Amazon S3 and Wasabi
Acronis can now offer direct support for Amazon S3 and Wasabi cloud storage. This update elevates the data protection capabilities, ensuring you can rely on the most reliable and efficient backup solutions. This is great news if you are looking...