9 June 2022
Based on feeback from C++ developers working in the Enterprise, the following list contains the most commonly referred to "Pain Points":
Some classic problems with C++ relate to runtime errors caused by pointers, either trying to work with ‘null’ pointers or memory leaks.
The use of traditionally arrays and conventional loops can lead to errors due to misalignment of access.
C++ applications are known for their efficiency. However, to get the best from C++ requires some work.
Unlike many modern languages, such as, Java or .NET languages the size of types is compiler/platform specific. Thus, extra work is required if the application is required to run on multiple platforms.
C++ provides a number of ways to organise code. The organisation of the files can affect understanding of the application.
Older applications may use C++ as simply a better ‘C’. Whilst this may provide an improvement of the structure of the application, but does not use C++ to anything like is full potential.
Having to wait for an application to build, between code changes, can be a time waste for developers. There are now a number of techniques which can be used to reduce build times.
One of the requirements for unit testing is isolation for testing purposes. Code may need to be reorganised to allow unit testing.
C++, likely many modern programming languages, allow multiple programming ‘styles’, procedural, object oriented, generic and functional. Which style should be used for an application or should it use a mix of ‘styles’?
JBI Training offer a range of C++ courses which include the following: