提到软件,我们就不得不说编程语言,它的种类很多,经常被人们提到的像 C、C++、PHP、Java、Python 等等,这些语言应用的范围不同,分类方式也有很多,在这里我们介绍一种常见的方式,按照运行方式进行分类,将编程语言分成 编译型和解释型两种,下边就让我们一起看看吧。
我一直觉得学习一门技术,了解和它相关的一些内容是十分必要的,比如它的作用、特点、发展过程等等,这些内容虽然不至于对最终的结果产生什么大的影响,但是却对于我们理解它有所帮助,比如我们之前介绍的 Java ,如果你不了解 它 和 C++ 之间的关系,那么就不可能明白为什么人们总是喜欢把它们放在一起比较。
互联网发展到今天,计算机发挥的作用越来越大,即便是现在智能手机、平板电脑这些设备也能满足一些大众的日常需要,但是在具体的工作中我们还是需要使用计算机,但不知道大家有没有相关计算机是如何工作的,一台计算机要完成我们下达的各种指令除了需要各种硬件设备的配合外,还需要软件的支持,如果没有软件,单纯的硬件是无法进行工作的,而这些软件都是用编程语言完成的,当然不同的环境下使用的编程语言不同。
计算机内部的工作是一件很复杂的事情,在这里我们并不想和大家研究这个问题,之所以介绍这些只是为了让大家明白编程语言在这个过程中发挥了重要的作用。如果我们把计算机比作是一个工厂,在这个工厂里有很多国家的人,操作机器的是 A 国家的人,搬运器材的是 B 国家的人,运输器材的是 C 国家的人……不同的国家,它们的语言是不同的,为了让它们更好的工作,我们需要安排相关的翻译人员,在整个过程中进行翻译,计算机的工作过程和这个十分的相似,开发人员在键盘上输入一串代表特殊含义的字符,这些指令一般是不能被机器直接识别的,它需要进行不断的翻译,最终变成机器可以识别的指令,并完成我们下达的命令做出响应,在这个过程中开发人员编写的代码被称为 源代码,负责翻译的程序被称为 编译程序,最终被计算机识别的代码则被称为 目标程序。
所谓的编译型语言,指的是那些在代码编写完成之后,需要编译之后才可以运行的编程语言,经过一次编译之后就可以一直使用,这种类型的编程语言,因为在运行过程中不需要再进行翻译了,所以一般认为它的效率更高,但问题是每次程序更新之后都需要重新编译才可以运行。同时需要特别说明的是,因为编译型的语言需要依赖特定的编译器,所以如果更换了运行的环境那程序就可能出现问题,也就是常说的跨平台能力差。
所谓的解释型语言,指的是那些不需要进行编译,代码编写完之后就可以直接运行的程序,这种类型的编程语言,在运行过程中需要进行不断的翻译,同编译型的语言相比,因为它在运行过程中需要不断的进行翻译,所以程序的效率要低一些,不过也正因为这个缘故,所以它对运行的环境没有什么依赖,一次编码可以在多个环境下运行。
如果你去网上查 Java 相关的一些介绍,或许会发现这样的问题,那就是在有些资料中将它归类为解释型的语言,有些资料中则说它是编译型的语言,为什么会有这样两种完全不同的分类方式呢?因为 什么 Java 可以被放到两个类型中呢?理解这个问题,我们需要了解 Java 语言的运行过程。
同其他编程语言一样,Java 代码同样是需要开发人员手动编码完成的,并没有因为它奇怪的分类方式存在差别,在开发人员编写好代码之后,Java 自带的一个虚拟机会自动的对程序进行编译,将原本的 .java 代码文件转化为 .class 文件,之后程序运行的时候也是在使用它,但是这个 .class 文件并不能直接运行,还需要在运行过程中进行不断的翻译,才可以最终被计算机识别,通过这段描述不知道你有没有发现一个奇特的地方,那就是 Java 程序运行被分成了两个阶段,前一个阶段,它满足编译型语言的特点,但是后一个阶段它又带有解释型语言的特点,正是因为它这种奇特的运行方式才导致我们在网上看到大家对它有两种不同的分类方式。
如上就是我们本次为大家带来的内容,通过这些内容希望可以帮助大家解答一些学习中的疑惑,当然针对这个问题您也可以在下方留下自己的看法,感谢大家的支持,下一次我们来和大家讨论一下在 Java 的学习过程中需要了解哪些内容。






