Blog item

C++ compiler upgrade - the benefits for your application

Jan 26, 2021

Benefits of the C++ compiler upgrade

C++ is a high-level object-oriented programming language that helps programmers write fast and portable programs. C++ 98 was the first edition of the C++ standard and there have been several amended versions since its release. Of the later versions, C++11 has emerged as the dynamic and ever-evolving language that many people had been hoping for.

Uniface is mostly written in C/C++ and is compiled with different C++ compilers for various supported platforms and operating systems. The variety of supported platforms is a strength for any development tool, but it can make a currency upgrade more cumbersome, which therefore needs careful consideration.

Given Uniface's platform support and the modern upgrades to C++, and the upcoming release of Uniface 10.4, now is a perfect opportunity to upgrade our C++ compilers to take advantage of the significant enhancements to the language, and the benefits of the modern compiler.

As of Uniface 10.4, C++ compiler support for Uniface will be upgraded to C++ 11. This means that Uniface will be compiled using C++ 11 compilers for our supported platforms and operating systems.

However, embarking upon this process introduces a few important questions, such as: What are the benefits of this upgrade? Will there be any impact on the end-user application? If so, how should the impact be handled?

In this series of blogs, we will highlight some of the benefits of C++ compiler upgrades, such as:

  • Secure programming and secure run time: C++ 11 and modern compilers offer features that make C++ more secure and efficient, and better equipped to protect against common security exploits such as, buffer overflows and null termination.
  • Improved performance: Modern compiler and linker optimization leads to faster build times and using certain language features helps in faster execution.
  • Improved productivity: C++ 11 supplies a way to check preconditions and catch errors at the earliest possible opportunity—during compilation, before the code is run. Using C++ 11 features will lead to fewer runtime errors, which means fewer bugs and less maintenance.
  • New features: The C++ standard library has been extended with many new features that make it more secure and efficient, such as new container classes, several new libraries for regular expressions, threading library, new smart pointer classes, and so on.
  • Easier integration: Keeping the compiler updated also helps in integration with third-party libraries and other tooling.
  • New coding standards in practice: Most importantly, programmers want to work using a widely used language and tools. So, this will keep the spark of learning!!

Want to enjoy these benefits? Read what impact the C++ Compiler upgrade has on your applications. If you're interested in what the Uniface development team had to accomplish for this upgrade, read our blog post: Lab-wide collaboration on the C++ compiler upgrade.