冥王生活

您现在的位置是:首页 > 科技生活 > 正文

科技生活

计算机为什么可以编程语言(计算机为什么懂计算机语言)

admin2023-02-22科技生活105

为什么要编程

编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机虽然功能十分强大。可以上网、玩游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。 程序也就是指令的集合,它告诉计算机如何执行特殊的任务。 写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。因此,编程实际上也就是“人给计算机出规则”这么一个过程。 随计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 计算机所能识别的语言只有机器语言,即由构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。 汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。 高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。由于省略了很多细节,所以编程者也不需要具备太多的专业知识。 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。

计算机为什么可以运行汇编语言和高级语言

好像很多书都有说了。简单说就是:

汇编的优点:

汇编已经算是机器语言了,只是用看得懂的单词来代表机器的二进制码。高速高效,直接可以在汇编语言上看到运行多少个指令,多少机器周期来完成。

汇编的缺点:

机器语言嘛,顾名思义就不是人看的东西。就算是自己写的程序,尤其是比较庞大的程序,基本上过几个月就看不懂的了。程序编写速度慢。而且移植性差,不同的芯片可能其汇编指令有不同。

高级语言的优点:

容易编写和读懂,移植性好。编写快速。

高级语言的缺点:

运行速度基本上比直接用汇编写的慢,速度和程序大小与编译软件有关。极少时候编译软件编译出错误代码可能查不出来(这情况极少)。

所以,编程人员大部分都是用高级语言为主,需要高效代码的时候用汇编的混合编程方法。

为什么电脑可以识别编程语言

因为编程语言会在编译链接的时候变成机器码,因为电脑认识二进制机器码,所以间接而言可以识别编程语言。

为什么会有这么多计算机编程语言

为什么需要更多的编程语言

编程语言是由一些人为另外一些人创造的。因此,它们承载着创造者的文化印记,有些文化印记不为其他群体的工程师们喜爱,因此他们转而创造出了自己的版本。这在计算机科学历史中无数次上演,导致产生了许多流行语言的方言。最明显例子就是首个阿拉伯语编程语言。去年有篇关于Ramsey Nasser的文章,他创造了第一个表情文字编程语言:

Nasser评论到:“我们使用的工具承载着它们创造者的文化设想。”当Nasser创造قلب的时候,他在将true和false翻译成阿拉伯语时遇到了困难。最终他使用了correct和incorrect这两个词,虽然两者的概念并不完全吻合,但是他说这最终演变成了一场他不得不和他父母以及朋友进行的奇妙对话。Nasser旨在创造编码的通用性:“Emojinal意在甩掉文化包袱。”

这是一个古老格言的另一种版本:你说的语言改变了你思考的方式。有些语言有助于某些类型的思考;而有些有助于其他类型的。正如我们在四月份写下的文字所说:

“语言不仅是针对不同工作的不同工具,它们还是可以描绘你思考编程的技术。”Richard Pattis说。他是加州大学的信息学高级讲师,他于1981年发明了Karel教育编程语言。Pattis建议多才多艺的程序员要扩展思维的话,最好学习不同编程范式的语言,从面向对象语言(譬如C++/JAVA),到函数式语言(譬如ML和Haskell),到脚本语言(譬如Lisp和Python),到逻辑基础语言(譬如Prolog),到低级语言(譬如C,Java虚拟机或者机器语言)。目标不是为了熟练运用这些语言,而是能从不同的角度来思考解决问题。好的程序员不仅仅学习如何编程,还要学习核心概念,用其武装自己的大脑,从而写出高效的代码来解决问题。

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~