Blog item

Lab-wide collaboration on the C++ compiler upgrade

Jan 27, 2021

Lab-wide collaboration on the C++ compiler upgrade

With more than 30 years of experience in building software development platforms, Uniface has proven to be a reliable supplier of high-quality cross-platform solution development. One of the key contributing factors is the continuous research and development within the Uniface Lab to stay current while still supporting many platforms and database drivers.

With Uniface 10.4, we will again update the supported platform versions from our vendors. However, this time there will be a C++ 11 compliant compiler available on all platforms supported by Uniface. This is great news because C++ 98 was a limiting factor to the development and currency of some Uniface 10.3 components.

To prepare for the upgrade to C++ 11 required a major effort on the part of Uniface Lab. Although the C++ 11 language is backwards compatible with earlier versions, you cannot just link new code to older libraries. Newer compilers will also flag new warnings for us to solve, and our developers need to prepare and educate themselves on the new toolbox at their disposal.

To begin with, our architects created an initial work breakdown covering the various aspects of the transition. For example,

  • Updating our build machines and local development machines with new compilers and libraries
  • Resolving incompatibilities between C++ 98 and C++ 11 in our codebase
  • Investigating the consequences of compiler and language upgrades to the third-party libraries we use.
  • Upgrade third-party libraries, either because of necessity or because it has become possible to stay current.
  • Investigate the possibilities of using new third-party libraries for the lab to become more productive.
  • Investigate possibilities for refactoring pieces of code to rely on new C++ language features.

The product owners then distributed the work for the scrum teams to work on in parallel. By focusing on the big and uncertain aspects first we could quickly reduce the risk to ensure the project stayed on track.

Having multiple scrum teams involved with this endeavour has proven to be a great opportunity for cross-team collaboration. Different teams sharing knowledge, refactoring the code and learning as they progress.

Many developers and customers alike have been eagerly expecting the C++ 11 compiler upgrade and we are glad to share its joy with you in the new Uniface 10.4 release.

Want to know how you can use this upgrade for your applications? Read the impact of the C++ compiler upgrade has on your applications to upgrade your compiler or read more about the benefits in C++ compiler upgrade - the benefits for your application.