《像计算机科学家一样思考Java》—— 1.1 什么是编程语言-阿里云开发者社区

开发者社区> 异步社区> 正文

《像计算机科学家一样思考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面向对象编程》之六十七
高效的编程往往免不了多人合作,本节提到的包的概念可以有效避免重名类出错的问题。
365 0
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一1.1.3 计算机不同领域的职业机会
本节书摘来华章计算机《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一书中的第1章 ,第1.1.3节,陈以农 陈文智 韩德强 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
937 0
30、深入理解计算机系统笔记,并发编程(concurrent)(2)
1、共享变量 1)线程存储模型 线程由内核自动调度,每个线程都有它自己的线程上下文(thread context),包括一个惟一的整数线程ID(Thread ID,TID),栈,栈指针,程序计数器,通用目的寄存器和条件码。
692 0
计算机软件著作权申请流程是什么?需要准备哪些材料?怎么办理?
计算机软件著作权申请流程是什么?需要准备哪些材料?怎么办理? 计算机软件著作权申请流程是什么? 软件著作权申请流程:搜索“中国版权保护中心官网”(如下图) 申请账户注册登录,进入账户中心,点击“我要登记”,然后填写申请表——提交申请文件——登记机构受理申请——审查——获得登记证书 软件著作.
951 0
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一1.1.2 计算机就业形势分析
本节书摘来华章计算机《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一书中的第1章 ,第1.1.2节,陈以农 陈文智 韩德强 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
845 0
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一1.2.1 合作模式
本节书摘来华章计算机《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一书中的第1章 ,第1.2.1节,陈以农 陈文智 韩德强 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
880 0
[译] Bob,函数式编程是什么鬼?
本文讲的是[译] Bob,函数式编程是什么鬼?,你懂的。很多人都讨论它。你 Google 一下然后看了看前五篇文章,令人沮丧的是,你发现大部分文章只给出一个含糊不清的 Wikipedia 定义,像是:
933 0
《新编计算机科学概论》一0.1 什么是计算机科学
本节书摘来自华章出版社《新编计算机科学概论》一 书中的第0章,第0.1节,作者:刘艺 蔡敏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1218 0
深入理解计算机系统结构——并发编程
并发编程 如果逻辑控制流在实际上重叠,那么它们就是并发的,这种常见的现象称为并发,出现在计算机系统的许多不同层面上。 应用级并发在其他情况下也是很有用的: 访问慢速I/O设备。 与人交互。 通过推迟工作以降低延迟。
743 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载