《像计算机科学家一样思考Java》—— 第1章 程序之道

第1章 程序之道

像计算机科学家一样思考Java
本书的目的在于教你怎样像一个计算机科学家那样思考。我喜欢计算机科学家思考问题的方式,因为他们能将数学、工程学和自然科学中的最好的特性组合在一起。计算机科学家像数学家一样使用规范的语言来表达思想(特别是计算);像工程师一样进行设计并将不同的组件装配成系统,然后在不同的实现方案中进行权衡;又像科学家一样观察复杂的系统,形成假设,再测试预言。

计算机科学家最重要的技能在于问题解决(problem-solving)技能。他们能够对问题进行简明陈述,创造性地给出解决方案,并且将解决方案清楚准确地表达出来。学习编程的过程便是练习解决问题能力的好机会,这也是本章的标题叫做“程序之道”的原因所在。

一方面,你将从本书中学习编写程序,这本身便是一项技能。另一方面,你会将编程当做一种为了实现一定目的的工具,当我们一路走下去,这样的目的也将变得清晰起来。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-10-11 03:20:48

《像计算机科学家一样思考Java》—— 第1章 程序之道的相关文章

《像计算机科学家一样思考Java》—— 导读

前言 像计算机科学家一样思考Java 我们从别人的发明中享受了很大益处,我们也应该乐于以我们的任何一种发明为别人服务,并且这种事我们应该自愿地和慷慨地去做. --本杰明·富兰克林,引用自Edmund S. Morgan所著的<本杰明·富兰克林传> 我为什么写这本书 1999年,当我还在科尔比学院教书的时候,我便开始写这本书了.现在,这已经是第5个版本了.那时,我正使用Java程序设计语言来教授计算机科学导论课程,但始终没有找到一本合适的教材.一方面,这些书的内容太多,让学生去阅读一本800页的

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

1.1 什么是编程语言 像计算机科学家一样思考Java你即将学习的语言是Java,这是一种相对较新的语言(Sun公司于1995年5月发布了Java的第一个版本).Java是一种高级语言(high-level language),你可能听过的其他高级语言还有Python.C.C++和Perl. 有了"高级语言",还有低级语言(low-level language),有时候也叫做机器语言或者汇编语言.粗略地说,计算机只能够执行由低级语言编写的程序.因此,由高级语言编写的程序必须先被翻译成低

《像计算机科学家一样思考Java》—— 1.7 练习

1.7 练习 像计算机科学家一样思考Java练习1.1 计算机科学家有一个烦人的习惯,他们会用一些常用的英语单词来表示其他的意思.比如,在英语中,statement和comment的意思是相同的,但是在程序中就不同了. 在本书中,每个章节的最后都附有术语表,列出这些单词和短语的目的是强调它们在计算机科学中的特殊含义.虽然你可能很熟悉某些单词,但它们的意思却有可能和你先前所知道的完全不一样. 1.在计算机行业中,语句(statement)和注释(comment)的区别是什么? 2.说一个程序是可移

《像计算机科学家一样思考Java》—— 1.2 什么是程序

1.2 什么是程序 像计算机科学家一样思考Java程序是说明如何执行计算的一个指令序列1.计算可能是数学计算,比如求解方程组或者寻找多项式的根等:但计算也可以是符号型计算,比如查找和替换文档中的文本或者编译一个程序(够奇怪的). 指令也称作语句(statement),它的格式因不同的编程语言而有所不同.但多数语言都包括一些基本的操作. 输入:从键盘.文件或其他设备获取数据. 输出:在屏幕上显示数据,或者向一个文件或其他设备写入数据. 数学:完成基本的数学运算,比如加法和乘法. 测试:检测特定条件

《像计算机科学家一样思考Java》—— 1.4 形式语言和自然语言

1.4 形式语言和自然语言 像计算机科学家一样思考Java自然语言(Natural languages)指人类所说的语言,比如英语.西班牙语.法语等.自然语言并不是由人类设计的,它们是自然演化而形成的. 形式语言(Formal languages)是人类为了某种应用上的需要而设计的.比如,数学中的各种记号便是一种形式语言,这种语言能够很好地描述数字和符号之间的关系.化学家也用形式语言来表示化学分子的结构,而更重要的是: 编程语言是一种用来表达计算的形式语言. 形式语言对于语法有严格的规则.比如,

《像计算机科学家一样思考Java》—— 1.6 术语表

1.6 术语表 像计算机科学家一样思考Java问题解决(problem-solving):对问题进行建模,寻求解决方案并表达解决方案的过程. 高级语言(high-level language):便于人类阅读和编写的编程语言,比如Java. 低级语言(low-level language):便于计算机运行的编程语言.也叫做机器语言或汇编语言. 形式语言(formal language):人类为了特殊用途(比如表达数学理论或计算机程序)而设计的语言.所有的编程语言都是形式语言. 自然语言(natur

《像计算机科学家一样思考Java》—— 1.3 什么是调试

1.3 什么是调试 像计算机科学家一样思考Java程序中隐藏的未被发现的错误叫做漏洞(bug),跟踪和修改bug的过程叫做调试(debugging).程序中存在三种类型的错误,将它们区分开来有助于更快地定位跟踪错误. 1.3.1 语法错误 编译器只能在程序语法正确的情况下才能完成编译任务,否则,编译将失败,程序自然也就不能运行.语法(syntax)是程序的结构和关于该结构的一些规则. 比如,在英语中,一个句子必须以大写的首字母开始,以句点结束. 对于多数读者,少量的语法错误并不是什么大的问题,但

《像计算机科学家一样思考Python》——导读

前 言 本书的奇特历史 1999年,我正在为一门Java的编程入门课程备课.这门课我已经教过3个学期,感到有些灰心.课程的不及格率太高,即使是那些及格的学生,也只获得了很低的成就. 我发现问题之一是教材.它们太厚,有太多冗余的细节,而针对编程技巧的高阶的指导却很不足.并且学生们都受着"陷阱效应"的苦恼:开头时很容易,也能循序渐进,但接着在第5章左右,整个地板就突然陷落了.新资讯来得太多.来得太快,以至于我必须花费一学期剩下的全部时间来帮助他们拾回丢失的片段. 开课前两周,我决定自己来编

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

1.1 什么是编程语言 像计算机科学家一样思考C++ 你即将学习的编程语言是C++.自1998年起的AP考试都以C++为基础.在这之前,采用的是Pascal.C++和Pascal都是高级编程语言,你可能听说过的其他高级语言有Java.C和FORTRAN. 你可能从"高级编程语言"这个名字中得知还有低级编程语言.低级编程语言一般指的是机器语言或者汇编语言.一般来说,计算机只能执行用低级语言编写的程序.因此,高级语言编写的程序需要先转换成低级语言再执行.高级语言的一个小缺点就是这一转换过程