A computing platform is, in the most general sense, whatever a pre-existing piece of computer software or code object is designed to run within, obeying its constraints, and making use of its facilities.
The term computing platform can refer to different abstraction levels, including a certain hardware architecture, an operating system (OS), and runtime libraries. In total it can be said to be the stage on which computer programs can run.
Binary executables have to be compiled for a specific hardware platform, since different central processor units have different machine codes. In addition, operating systems and runtime libraries allow re-use of code and provide abstraction layers which allow the same high-level source code to run on differently configured hardware. For example, there are many kinds of data storage device, and any individual computer can have a different configuration of storage devices; but the application is able to call a generic
write function provided by the OS and runtime libraries, which then handle the details themselves. A platform can be seen both as a constraint on the application development process – the application is written for such-and-such a platform – and an assistance to the development process, in that they provide low-level functionality ready-made.