多学一门“外语”,和计算机畅快的“聊天”
摘要:北京时间20191203关于【多学一门“外语”,和计算机畅快的“聊天”】的具体情况和说明,让www.fxjhbc.cn新闻频道以图文形式为您慢慢道来,本文关注焦点《视频,网站,黄色大片,特别黄的免费大片视频,日本一级特黄大片免色,大片,黄色免费网站,黄网站,电影,黄色电影免费片日本大片,全过程,日本黄大片免费播放器,完整版》。
众多计算机语言
计算机技术飞速发展的几十年间,计算机语言的种类层出不穷,到目前为止已经有成百上千种计算机语言了。计算机语言也被称为编程语言,从这个名字上也可以看出来是由人来通过特定的语法规则和字符来”编“写成一个一个程序。而这些程序会被计算机执行,由此实现了人们对计算机的精细控制。
编程语言可分为三大类,分别是机器语言、汇编语言和高级语言。
机器语言
机器语言是机器直接可以识别的语言,中间不用经过任何的”翻译“,所以这种语言运行起来速度也是最快的。大家都知道计算机只识别0和1,所以需要将想要计算机执行的操作用0和1来表达出来。指挥计算机的每一步的具体操作就是一条”机器指令“,一个程序就是由许多条机器指令组成的。
计算机的世界里只有0和1
机器语言会被CPU直接执行
尽管机器语言被执行起来速度是很快的,但是如果想把程序用机器语言编写出来并不是一件容易的事,因为整个程序只有0和1两个字符组成,一旦有一个位置的字符不对,整个程序运行起来的效果将会是天差地别,所以这是一个十分细致、极为繁琐的事情,程序员不仅要考虑程序怎么编写,同时还要时刻注意不能发生错误。因此,机器语言也被归类为一种低级语言。在这种情况下,人们提出了程序设计自动化、用程序产生程序的想法。汇编语言
由于机器语言的繁琐,导致了汇编语言的诞生。汇编语言保持了机器指令的结构,都有操作码和操作数。但是为了方便编写,采用了便于记忆的符号来代替操作码,用地址符号代替了操作数的地址。例如:加、减、乘、除、取数、送数分别用+、-、*、/、<、>六个符号表示,用A、B、C三个字母表示三个内存单元。于是,汇编的代码可表示为:< A #取A地址单元中的数到寄存器+ B #寄存器中的数加上B中的数,结果放回寄存器+ C #寄存器中的数乘上C中的数,结果放回寄存器> A #将寄存器中的数送到A地址单元中
(示例中每行#后面的文字是写给程序员自己看的注释,起到记录作用,计算机不会理会#后面的内容)
十六进制程序与汇编代码一一对应
由于计算机并不认识加减乘除这些符号,所以不可能会执行这个程序。人们会事先提供给计算机一个特殊的程序,这个程序会将这些指令翻译成为由0和1组成的机器指令。这些用符号表示的指令就是”汇编语言“,那个把汇编指令翻译成机器指令的程序被成为”汇编程序“。把汇编指令翻译成机器指令的这个过程被成为”汇编“。相信有些人听说过”反汇编“这个词语,其实”反汇编“就是”汇编“的逆向过程,也就是将机器指令翻译成汇编指令,”反汇编“通常用于破解程序。
用IDA工具反汇编
现在很流行的高级语言
在科学计算、数据库检索和管理、行政和商业管理、发展软件系统等不同领域,都有着表现优异的语言。科学计算中,数值计算和非数值计算也使用不同的语言。20世纪50年代后期,欧洲学者为数值计算语言标准化做出了重大贡献,推出了ALGOL语言的标准。这种语言的构造经过较为认真的数学论证,它的功能也比较完备,但是“讲”起来有些晦涩难懂,很不直观。
同一时期在大西洋的另一端,IBM公司自己公司的计算机设计了一种数值计算语言,名叫FORTRAN。FORTRAN相比于ALGOL更加的平铺直叙,夹带着若干硬性约定,包含着不少可能出“副作用”的欠缺,但熟练的程序员可以高效地用FORTRAN解决实际问题。
高级语言的“王者”
在之后的30年里,FORTRAN凭借着它的实用性打败了ALGOL,在科学计算领域中占有重要地位。但是在20世纪70年代初期,美国的贝尔实验室设计出了一种数据结构丰富而指令风格更接近机器语言的C语言和用C语言编写的UNIX操作系统。随后,C语言在科学计算中逐渐占据了上风,经过50年的发展,直到现在还依然被人们广泛的使用着。
C语言和Unix之父——丹尼斯·里奇
杰拉德·特·胡夫特
计算机解析推导现在通称为“计算机代数”。很多计算机代数语言的发展与理论物理有着密切的关系。SchoonShip的设计者之一维特曼是一名荷兰理论物理学家,而他的学生胡夫特就实用这一工具计算了量子场论中的费曼图,他们俩因此获得了1999年的诺贝尔物理学奖。
高级语言按工作方式可分为编译型语言和解释型语言。
编译型
很多高级语言都属于编译型语言,它们的代表就是C/C++。用户必须先按照语法规则编写出“源代码”,然后调用相应的“编译程序”。这时编译程序会读取加载源代码,对用户编写的代码进行一系列的语法检查和优化等工作,然后编译程序会根据源代码产生一份用汇编语言表示的“中间结果”,紧接着根据这个“中间结果”会生成一份可供机器执行的机器指令,这个机器指令的集合被成为“目标程序”,也就是我们可以直接运行的程序了。
C语言的编译过程
解释型
从古老的Basic语言到现在大名鼎鼎的JavaScript语言,他们都属于解释型语言。解释型语言不需要某个特殊程序对用户编写的源代码进行编译出一个“中间结果”,也就是汇编的代码。而是由“解释程序”读入一句执行一句。具体过程是有一个特殊的“解释器”程序,它会将源代码或者源代码编译出的中间代码即时解释成“机器指令”。
不同点之一
反观解释型语言,在不同的运行环境中安装的是不同的解释器,解释器会根据当前运行环境的特点将读取的源代码翻译成当前环境的机器指令并执行。
不过现在计算机语言的发展,并不会把一个语言是编译型或者是解释性划分的这么清楚。许多计算机上备有“编译Basic语言”,个别计算机上配有“会话FORTRAN”,还有介于编译和解释之间的Java语言。
既有编译又有解释的Java
计算机语言随着计算机的技术,还在飞速发展中,种类越来越丰富,新的语言也越来越简单易用。现在大家日常使用过程中,不仅有“老牌大哥”C,C++等,Java、Python等“新贵”也越来越受到大家的欢迎。
(部分图片来源于网络,如有侵权请及时联系删除)