《像计算机科学家一样思考Java》—— 1.1 什么是编程语言

简介: 你即将学习的语言是Java,这是一种相对较新的语言(Sun公司于1995年5月发布了Java的第一个版本)。Java是一种高级语言(high-level language),你可能听过的其他高级语言还有Python、C、C++和Perl。

本节书摘来异步社区《像计算机科学家一样思考Java》一书中的第1章,第1.1节,作者:【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.1 什么是编程语言

像计算机科学家一样思考Java
你即将学习的语言是Java,这是一种相对较新的语言(Sun公司于1995年5月发布了Java的第一个版本)。Java是一种高级语言(high-level language),你可能听过的其他高级语言还有Python、C、C++和Perl。

有了“高级语言”,还有低级语言(low-level language),有时候也叫做机器语言或者汇编语言。粗略地说,计算机只能够执行由低级语言编写的程序。因此,由高级语言编写的程序必须先被翻译成低级语言才能够运行。这样的翻译过程是需要时间的,这也是高级语言的一个小缺点。

但是,高级语言的优点却太多了。首先,使用高级语言进行编程容易得多。花的时间更少,代码更短,更容易阅读和修改。其次,高级语言具有可移植性(portable),这意味着高级语言可以在几乎不修改的情况下运行于多种计算机平台。相比之下,低级语言只能在一种计算机上运行,如果要在另一种计算机上运行,则需要重新编码。

鉴于高级语言的这些优点,几乎所有的程序都是用高级语言编写的。低级语言只适用于少量特殊的情况。

对由高级语言编写的程序进行翻译有两种方式:解释(interpreting)和编译(compiling)。完成解释任务的程序叫做解释器,它读入由高级语言编写的程序,并且按照高级语言的指令执行程序。实际上,解释器按行对程序进行翻译,然后执行命令。

完成编译任务的程序叫做编译器,它在运行任何一条指令之前先读入由高级语言编写的程序并一次性对该程序进行编译。通常,编译过程是一个单独的步骤,程序的运行则在编译过程之后。在这种情况下,高级语言称为源代码(source code),经编译器生成的程序称为目标代码(object code)或者可执行程序(executable)。

Java语言编写的程序既可以被编译,也能够被解释。和其他语言不同的是,Java的编译过程并不生成机器语言,而是生成字节码(byte code)。字节码和机器语言一样,可以被容易(和快速)地解释,而它又像高级语言一样具有可移植性。因此,在一台机器上编译Java,在另一台机器上解释运行是可能的。这也是Java相比其他高级语言的一个优势,如图1-1所示。

2511d7fad8f90b577a7478284bef22717666231f

虽然图1-1所示的这个过程看来很复杂,但在大多数程序开发环境下这个过程已经被自动化了。通常你只需要编写源代码,然后点击一个按钮或者键入一个命令便可以完成程序的编译和运行。而另一方面,知道背后在发生些什么事对程序开发者是有价值的,这样就可以方便地找到整个过程中出错的地方。

相关文章
|
Java
Java编程语言入门指南
Java编程语言入门指南
260 1
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
165 1
|
安全 Java 开发工具
Java 编程语言
Java 是一门强大而重要的编程语言,具有广泛的应用和良好的发展前景,对于开发者来说,掌握 Java 是非常有价值的。
325 62
|
分布式计算 安全 Java
Java帝国的无限魅力:揭秘这门万能编程语言如何征服科技世界,从Web到太空探索,Java的触角无处不在!
【8月更文挑战第12天】随着信息技术的发展,编程语言成为科技核心。Java以其成熟与广泛应用,在众多语言中脱颖而出。它支持跨平台运行,实现“一次编写,处处运行”。Java的面向对象特性促进代码复用与维护,内置的安全机制保障系统安全。Java应用于Web开发、大数据处理、移动应用等多个领域,展现了其不可替代的价值。
123 1
|
Java 编译器 开发者
Java演进问题之Truffle处理不同编程语言的源代码或中间格式如何解决
Java演进问题之Truffle处理不同编程语言的源代码或中间格式如何解决
140 2
|
Java 数据库连接 Apache
java编程语言常用框架有哪些?
Java作为一种广泛使用的编程语言,拥有众多常用框架,这些框架帮助开发者提高开发效率和代码质量。
427 3
|
机器学习/深度学习 人工智能 分布式计算
JAVA编程语言在人工智能领域的应用
Java是由Sun Microsystems(已被Oracle收购)于1995年推出的一种跨平台编程语言。它具有面向对象、可移植、高效和安全等特性,成为了广泛应用于企业级应用开发的编程语言之一。
296 21
|
Java Go C#
编程语言C#、C++、Java、Python、go 选择哪个好?
我想说的是,不论选择哪种编程语言,决定选择的都是你最终的目的,做选择之前,先充分调研每一个选择项,再做选择思路就会非常清晰了。
499 3
|
IDE Oracle Java
Java 是一种跨平台的编程语言,可以在各种操作系统上运行。
Java 是一种跨平台的编程语言,可以在各种操作系统上运行。
|
存储 安全 Java
Java集合类是Java编程语言中用于存储和操作一组对象的工具
【6月更文挑战第19天】Java集合类,如`List`、`Set`、`Map`在`java.util`包中,提供高级数据结构。常用实现包括`ArrayList`(快速随机访问)、`LinkedList`(高效插入删除)、`HashSet`(无序不重复)、`TreeSet`(排序)、`HashMap`(键值对)和`TreeMap`(排序映射)。集合动态调整大小,支持对象引用,部分保证顺序。选择合适集合优化性能和数据组织。
99 1