Ever since computers became available in the 1950s, it has been software that exploited its power to solve application roblems. Machine code, capable of driving the raw hardware, was the first language available to programmers. Sequences of code statements were the earliest form of software. It was soon recognized that the communication medium between programmer and computer is a critical factor in the programming productivity and quality of the overall software product.
While computers, the hardware, underwent revolution after revolution, using faster and ever more powerful components, the software technology has significantly lagged behind in matching these advances. Hardware technology has been revolutionized
several times: from tubes to discrete transistors, resistors and capacitors to board-level integration to integrated circuits. Even integrated circuits have undergone several significant evolutionary steps: from large-scale integration(LSI)technology to very large scale integration (VLSI), and eventually wafer scale integration. Hardware engineering was able to keep up with this pace by developing new techniques to manage the exploding complexity of a modern computer system.
Ever since computers were used to solve application problems, it was the task of software to bridge the gap between concepts in an application and computer concepts. Fig. 7-1 illustrates this semantic gap. On one side of the gap are the concepts of an
application: for example, customer files to organize, accounts to maintain, or rockets to launch. On the other side are the concepts understood by a computer system: electric impulses, micro code, machine code instructions, and programming language
constructs. The typical programming task is to translate the application concepts into computer concepts.
參考答案:有个别专有名词可能翻译的不到位,你再看看。
自从计算机在上世纪50年代发明以来,已经开发出来的软件有效地解决了大批应用问题。能够驱动原始硬件的机械代码是程序员最早采用的编程语言,而用该编码编制的程序则成为最早的软件形式。人们很快认识到这种程序员与计算机之间的沟通媒介是影响编程软件生产率与软件生产整体质量的一个重要因素。
虽然计算机的硬件经历了一次又一次的革新,并使用运算速度更快,更有力的组件,但计算机软件技术却已经远远落后以至于并不能匹配硬件这些方面的迅速发展。硬件技术已经经历了几次革命性变革:从电子管到分立式晶体管,集成晶体管到集成电路。甚至集成电路也已经经历了几次明显的革命步伐:从大规模集成电路技术(LSI),到超大规模集成电路(VLSI) ,最后到圆片级集成电路。硬件工程能够跟上这一步伐,及时开发新技术,以适应现代计算机系统的迅猛发展及复杂性。
自从计算机用以解决应用问题以来,弥合应用概念与计算机概念之间的差距就是软件的一个主要任务。图7-1 在语义学上说明了这个差距。差距的一方面是应用上的概念,例如:需要组织起来的客户资料,需要保存的帐户信息,或者需要发射的运载火箭;差距的另一方面是计算机系统对概念的理解:电脉冲、微代码、机器码指令和编程语言结构。典型的编程任务就是把应用概念翻译成计算机概念。