The value of computational power and software have exploded ever since the world shifted from traditional industries to a system centered on digital information. The demand for more computing power (and thus software capable of utilizing them) is still growing today.
Software is often designed to consume the resources available. But the reverse sometimes happens as well. Software can outpace the available power. It's an arms race: as software gets more complex, hardware needs to grow a commensurate amount to improve or maintain performance.
By today’s standards, the minimum requirements expected of software are:
In this white paper, we will be focusing on how software must be able to deliver the required output in a timely manner. Developers must be able to write C/C++ source code that performs efficiently, but they must also be agile and flexible enough to readily accept changes should the need arise.