ABSTRACT

The historic basis for the creation and growth of general purpose programming languages was to provide an abstraction layer above machine code and assembly language to reduce the effort required to construct complex programs correctly that performed well on increasingly complex hardware. As computers grew more capable, the complexity of both the software they could execute and data that the software operated on increased. The necessary advance that increased the capabilities of early computers was the ability to increase their component count. Computers grew rapidly in the 1950s in terms of functional units for performing computation and memory units for storing data. The extremely rapid growth in hardware complexity was felt quite acutely by programmers of the day, and was even codified (albeit informally at the time) by Gordon Moore in what is commonly referred to as Moore’s law in 1965 [74].