《C Primer Plus(第6版)中文版》一1.5 高级计算机语言和编译器

简介:

本节书摘来自异步社区《C Primer Plus(第6版)中文版》一书中的第1章,第1.5节,作者 傅道坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.5 高级计算机语言和编译器

高级编程语言(如,C)以多种方式简化了编程工作。首先,不必用数字码表示指令;其次,使用的指令更贴近你如何想这个问题,而不是类似计算机那样繁琐的步骤。使用高级编程语言,可以在更抽象的层面表达你的想法,不用考虑CPU在完成任务时具体需要哪些步骤。例如,对于两数相加,可以这样写:

total = mine + yours;

对我们而言,光看这行代码就知道要计算机做什么;而看用机器语言写成的等价指令(多条以数字码形式表现的指令)则费劲得多。但是,对计算机而言却恰恰相反。在计算机看来,高级指令就是一堆无法理解的无用数据。编译器在这里派上了用场。编译器是把高级语言程序翻译成计算机能理解的机器语言指令集的程序。程序员进行高级思维活动,而编译器则负责处理冗长乏味的细节工作。

编译器还有一个优势。一般而言,不同CPU制造商使用的指令系统和编码格式不同。例如,用Intel Core i7(英特尔酷睿i7)CPU编写的机器语言程序对于ARM Cortex-A57 CPU而言什么都不是。但是,可以找到与特定类型CPU匹配的编译器。因此,使用合适的编译器或编译器集,便可把一种高级语言程序转换成供各种不同类型CPU使用的机器语言程序。一旦解决了一个编程问题,便可让编译器集翻译成不同CPU使用的机器语言。

简而言之,高级语言(如C、Java、Pascal)以更抽象的方式描述行为,不受限于特定CPU或指令集。而且,高级语言简单易学,用高级语言编程比用机器语言编程容易得多。

1964年,控制数据公司(Control Data Corporation)研制出了CDC 6600计算机。这台庞然大物是世界上首台超级计算机,当时的售价是600万美元。它是高能核物理研究的首选。然而,现在的普通智能手机在计算能力和内存方面都超过它数百倍,而且能看视频,放音乐。

1964年,在工程和科学领域的主流编程语言是FORTRAN。虽然编程语言不如硬件发展那么突飞猛进,但是也发生了很大变化。为了应对越来越大型的编程项目,语言先后为结构化编程和面向对象编程提供了更多的支持。随着时间的推移,不仅新语言层出不穷,而且现有语言也会发生变化。

相关文章
|
C语言
C语言入门篇(四)上
C语言入门篇(四)上
|
C语言
C语言入门篇(三)上
C语言入门篇(三)上
|
3月前
|
Java 编译器 程序员
1.5 高级计算机语言和编译器
高级编程语言,如C和Java,通过更接近人类思维方式的指令简化了编程过程,使得开发者能够在更抽象的层面上表达逻辑,避免了直接操作繁琐的机器语言。编译器作为桥梁,将这些高级语言翻译成不同CPU可执行的机器码,使得代码具有跨平台的潜力,并极大地提升了编程效率与易学性。
84 11
|
C语言
C语言入门篇(三)下
C语言入门篇(三)下
|
C语言
C语言入门篇(四)下
C语言入门篇(四)下
|
自然语言处理
古老的神秘语言
机器语言是一种计算机可直接执行的低级语言,它由二进制代码表示,使用特定的指令集来控制计算机硬件的操作。在计算机系统中,所有的数据以二进制形式表示,并通过机器语言指令进行处理和操作。机器语言通常是与硬件平台紧密相关的,因为不同的计算机体系结构可能具有不同的指令集和编程规范。
|
存储 自然语言处理 编译器
用c语言手搓一个500+行的类c语言解释器: 给编程初学者的编译器教程(2)- 简介和设计
通常我们说的 “编译器” 是一种计算机程序,负责把一种编程语言编写的源码转换成另外一种计算机代码,后者往往是以二进制的形式被称为目标代码(object code)。这个转换的过程通常的目的是生成可执行的程序。 而解释器是一种计算机程序,它直接执行由编程语言或脚本语言编写的代码,它并不会把源代码预编译成机器码,而是一行一行地分析源代码并且直接执行,相对编译器而言可能效率较为低下,但实现也相对简单,并且容易在不同的机器上进行移植(比如x86和mips指令集的机器)。
493 0