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
Copilot Week: Volume Two
After the success of the first version in February of this year, Microsoft has decided to host a second edition of Copilot Week, from 8-11 April 2024! This event will bring attendees into the world of Copilot, offering inspiration and...
Microsoft 365 and Azure Security Tools: Video One
The first in our series of short videos covering Microsoft 365 and Azure security tools is available now!
This series will be covering off the key tools and concepts you need to know about to secure your Microsoft 365 work environment. This is an essential step in preparing if your business is looking to adopt Microsoft 365 Copilot in 2024.
The 5 steps to adopt Microsoft 365 Copilot
Since Microsoft 365 Copilot’s release it has been one of the hottest software tools of 2024, with many businesses viewing it as a tool than can not only improve productivity and boost creativity but revolutionise the way they work. Indeed,...
[WEBINAR] Introducing CyberSmart
Wed 17 April 2024 3:00 pm - 4:00 pm BST
End-to-End Assurance Grey Matter is proud to partner with CyberSmart, providing easy-to-use technology and certifications to empower organisations of all sizes to fight cyber threats. Join our webinar to learn more about CyberSmart and what they do. During the webinar,...