7本介绍编程语言的图书及其比较
虽然还有些教师还在用Pascal语言作为学生入门的第一种计算机编程语言,但是现在确实已经逐渐转向首先用Java语言来培养学生的编程概念。不管你是一名学习计算机科学的学生抑或是该学科的教师,或者仅仅是一位计算机编程的爱好者,你都可以对那些帮助你学习编程的图书进行评估。本月的书评就比较了7本帮助新生学习编程的Java图书。
Laurence Vanhelsuwé
一直到1996年我都没有批评过那些将Pascal语言作为计算机科学主要编程学习语言的教师(该课程通常编号为CS 101或者CS1)。那时很多对C++进行过认真研究的老师都认为,它还因为其众多的问题而不能取代Pascal语言作为教学课程。不过现在可不同了,如果你不使用Java作为学生的编程课入门语言的话,实际上就等于你并没有向你的学生提供最好的计算机科学教育,如果由此受到谴责也就不奇怪了。
去年,有为数不多的几位教师发现,他们并不满足于仅仅在形式上将一门新的语言带入课堂(就是说,还要彻底地埋葬Pascal和各种面向过程编程风格语言,全面地接受现代的面向对象编程风格)。这些改革先锋们更进一步地自己着手为初学者编写课程,意图将其带入Java的时代。
本月的图书评论就将比较和评价一批(总共7本)和那些教师的目标(就是向非程序员全面地介绍编程以及如何使用Java来编程)相一致的图书。这些书和那些专门针对从来没有用过Java的程序员的书不同。这些书的读者对象是那些从没有学习过计算机编程语言的学生。书目如下所示:
以下是一张各图书特性的比较表供读者有个大致的了解。
* 该书没有随书光盘,但是Prentice Hall公司单独出售结合了该书的交互性光盘。请参看该书的以下评论以了解有关细节。
** 严格地讲是有光盘的,但该光盘的内容和该书的内容毫无关系!
在缺乏计算每本书的性价比工具的情况下,我给出版面密度参数作为一个大致的参考,行/页参数越低通常也就意味着可读性越低,反之可能就更好。
"面向对象"一行指出文章的时效。 现代的这类图书都应该采用面向对象思想,而比较保守的图书则首先从讲述面向过程编程概念开始。保守就不会有什么风险,也不会遇到什么麻烦,但你绝对应该从头就开始考虑最现代的、面向对象的计算机科学。
"小程序或者应用程序"一行指出作者主要使用什么类型的Java程序。Java小程序可能对新生而言会显得很好玩(或者用时髦的话说:很“酷”),因此许多人都说最好教学之初应多采用许多Java小程序。
“图形”一行指作者是否让学生从头就采用图形编程技术。让学生通过动态地图形输出看见他们设计的程序“栩栩如生”(而不是采用相比之下非常乏味的字符界面输出)是让学生对变成课程感兴趣的一个很好的途径。
“类支持”一行指的是作者是否尝试不让学生直接和那些对用户不友好的Java类接触,比如可以采用一些在示例程序和基本Java类之间建立支持类(诸如文本格式类等)来作到这一点。
“关键词强调”一行指的是书中的内容是否通过强调其关键词来增强其程序代码的可读性(也可以采用其他语法要素,比如程序注释等)。其实即便是软件编程高手也对这样的举措青睐有加(当然指在屏幕上,而不是在书面上),这些强调手段可以有效地帮助初学编程的新生领会和掌握程序示例。
“适合爱好者”一行指的是书中的内容是否可以让读者经过一系列步骤最终安装和配置一个切实可行的Java软件开发环境。许多图书都没有在这方面做太多的工作,而是把这些工作都推给了具体从事教学的老师。
|