祝贺《C程序设计》发行1000万册
2009-06-18刘瑞挺
摘要:本文回顾了谭浩强教授在程序设计语言教材编著上的巨大成就——两种教材发行双双突破1000万册,分析了他取得成功的主要因素,粗略概括了谭浩强创作思想的要点,他的创作风格影响了一代青年教师,这些都是我国高等教育的宝贵财富。
关键词:谭浩强创作思想;C程序设计;发行1000万册
中图分类号:G642 文献标识码:B
20年前,我写过一篇“论谭浩强教材的创作风格”,浅议了谭浩强成功的因素,祝贺《BASIC语言》发行500万册的壮举,后来这个记录达到1250万册。当时我国计算机普及工作正全面展开,但也面临许多困惑。
20年后的今天,我们又迎来《C程序设计》发行1000万册的光荣时刻,谭浩强教授没有止步,他又打开一片新天地。我们欣慰地看到谭浩强教授的创作风格正发扬光大、蔚然成风。
第一座丰碑
1988年4月21日科学普及出版社在北京科学会堂召开了“《BASIC语言》发行500万册纪念会”。中国科协、国家新闻出版署、电子部教育司等领导和中国计算机学会张效祥理事长,老前辈吴几康教授出席了大会,对谭浩强、田淑清等同志在普及计算机知识方面所作的贡献表示热烈祝贺。
当时人们对BASIC语言产生了困惑,1987年中国计算机学会福州年会时,我介绍了BASIC语言发明人凯梅尼和卡茨的新作《Back to BASIC》一书的观点,客观评价了BASIC的成就与版本问题。后来,全国高等院校计算机基础教育研究会于1989年7月在山西忻州召开了“BASIC发展与前景研讨会”。许镇宇理事长主持了会议,谭浩强、史济民、刘瑞挺、麦中凡等作了专题报告。来自全国77所院校的109名代表出席会议,收到论文84篇。清华大学出版社、高等教育出版社、科学普及出版社、《计算机信息》报社、《计算机世界》报社的代表也出席了会议。会议充分肯定了BASIC语言在我国计算机普及中作出的巨大贡献,同时指出当时出现的对BASIC语言争论的深刻意义。研讨会客观地分析了BASIC存在的版本繁多、方言蔓延、依赖硬件、兼容性差等问题。尽管如此,在我国当时的情况下,完全否定BASIC的作用是不恰当的。我们应当从BASIC的发展历史中,汲取丰富的精神营养。
事实证明BASIC的易学易用的特点使它受到初学者的欢迎。谭浩强教授继续修订BASIC教材,曾经有过5个修订版本,在基础教学中充分发挥了积极作用。
1995年6月8日在北京中国科技情报研究所国际会议厅我们又召开了“《BASIC语言》发行1000万册纪念会”。全国人大常委会李沛瑶副委员长、北京市胡昭广副市长、中国计算机学会理事长张效祥院士、研究会的吴文虎、刘瑞挺教授出席会议并讲话。
至此,谭浩强教授在神州大地树立了第一座丰碑:《BASIC语言》发行超过1000万册。有力地推动了我国普及计算机的第一次高潮。
第二座丰碑
C语言是近年来在国内外得到迅速推广应用的一种计算机语言。鉴于C语言功能丰富、表达力强、灵活方便、应用面广,既有高级语言的优点、又有贴近机器的长处,而且目标程序效率高、可移植性好,因此C语言为计算机专业工作者所喜爱、也为广大计算机应用人员使用。
于是C语言在我国高校迅速成为教学计划的一门基础课程。许多高等学校不仅在计算机专业开设了C语言课程,而且在非计算机专业也开设了C语言课程。学习C语言已经成为广大计算机应用人员和广大青年学生的迫切要求。
但是,由于C语言内在的复杂性、抽象性、枯燥性,规则繁多,灵活多变,容易出错,使初学者望C兴叹,感到非常难学。广大师生迫切需要一本方便入门、容易学懂的C语言教材。
机遇只偏爱那些有准备、有头脑的人。1991年谭浩强教授在清华大学出版社出版了《C程序设计》第一版。该书针对初学者的特点和认知规律,精心策划、准确定位、分散难点、精选内容、降低台阶、深入浅出、例题丰富、文风简洁,力求做到内容新颖、概念清晰、实用性强、通俗易懂。该书出版后受到广大读者的热烈欢迎,许多读者说“C语言原来是比较难学的,但自从有了《C程序设计》,C语言变得不难学了”,“作者深入浅出的叙述使我们对C语言由害怕到兴趣盎然地学习了”。到了1999年就创造了发行300万册的纪录,创同类书发行量的全国纪录。在C语言教材多如牛毛的图书市场情况下,《C程序设计》仍然能一枝独秀,实在耐人寻味。
1999年10月根据发展的需要,谭浩强教授进行了修订,加强了算法,按C的新标准改写全书各章,并增加了C++的初步知识。于是清华大学出版社出版了《C程序设计(第二版)》。
十多年来,本书累计发行了700多万册,平均每年印刷50万册,为全国同类书的首位。全国大多数高校采用本书为正式教材,许多高校的研究生入学考试都指定本书为必读教材。在推广普及计算机程序设计过程中,本书成为广大初学者学习C语言程序设计的主流用书。本书曾荣获原国家电子工业部优秀教材一等奖、全国高等学校计算机基础教育研究会优秀教材一等奖、全国高校出版社优秀畅销书特等奖。
2005年7月谭浩强教授对本书进行了再修订,清华大学出版社推出了《C程序设计(第三版)》。第三版除保持了原来的写作风格和通俗易懂的特点外,主要修改有:
(1) 本书第二版的第14、15章介绍C++的初步知识。由于清华大学出版社2004年6月已出版了《C++程序设计》(谭浩强著),该书对C++作了全面、详细的介绍,因此为了压缩本书的篇幅,在第三版中删去这两章的内容。
(2) 本书的前两版采用了Turbo C 2.0对程序进行编译。由于近年来大多数人习惯使用Windows操作系统的图形界面,所以本书第三版中改用Turbo C++ 3.0作为编译工具,Turbo C++ 3.0虽然是基于DOS界面的,但它支持鼠标操作,可以在Windows环境下方便地使用。在与本书配套的《C程序设计题解与上机指导》第三版中介绍了Visual C++ 6.0对C程序的编译方法。由于本书的程序是用Turbo C++3.0或VC++6.0进行编译的,所以用C++编译系统时,对程序要求更加规范,在定义和声明函数时更加完整。
(3) 细致地修改了对各章内容的表述,调整了部分内容和例题,使读者更容易理解。本书全部例题中的程序均已上机调试,运行通过。
当时,C语言书籍已超过1000种,然而《C程序设计》第三版发行量仍独占鳌头。
于是,谭浩强教授在神州大地树立了第二座丰碑:《C程序设计》发行超过1000万册,有力地推动了我国普及计算机的第二次高潮。为此清华大学出版社于2009年在北京隆重举行“《C程序设计》发行1000万册纪念会”和“C程序设计教学与教材建设研讨会”。
创作风格广泛传播
为了扩大浩强创作风格的影响,谭浩强教授建立了“浩强创作室”,10年来绩效显著,团结了一批中青年作者,加强了与出版社的联系。
1998年8月21日“谭浩强创作风格研讨会暨浩强创作室成立大会”在中国科协综合业务楼会议室召开。60多位朋友及10多家出版社到会祝贺,12位天津朋友和2位辽宁朋友也远道而来,参加了会议。大家高度评价了这件事的意义。
2000年1月22日“第二次谭浩强创作风格研讨会暨浩强创作室全体成员大会”在科学普及出版社召开,约60人参加。会议发言积极,气氛热烈。
2001年1月13日在经济科学出版社多功能厅举行“热烈祝贺谭浩强教授创造三项世界纪录及谭浩强创作思想第三次研讨会”。常志海(中国科协书记)、刘瑞挺、吴文虎、蔡鸿程、杨富平、陈祖甲、熊伟、高林等致辞祝贺。谭浩强教授客观分析了取得这些成绩的原因,并把荣誉归于大家。
2002年4月21日谭浩强创作思想第四次研讨会在清华大学学研大厦隆重举行。首都计算机教育界、出版界、新闻界的来宾,浩强创作室在北京、天津、大连、长春的成员代表共40多人出席了会议。会场前庭陈列展览了创作室出版的多种丛书。新老朋友欢聚一堂,气氛十分热烈。研讨会编印了《谭浩强创作思想第四次研讨会论文集》,其中包括有关谭浩强教授和浩强创作室的报道10篇;谭浩强教授发表的文章12篇;专家和各界评论27篇;学生和读者反映6篇;以及近年来谭浩强和浩强创作室组织出版的25套丛书共260本书的书目。
多年来,人们对谭浩强教授的成就作了许多评价。《计算机世界》、《电脑报》先后评选他为中国IT十大人物,人们称他为我国计算机基础教育的开拓者、我国计算机科普战线的一面旗帜。研讨会再次肯定了这些评价,它们已经得到社会的公认。
创作思想的精髓
谭浩强教授从事计算机教育和计算机普及工作30年,他的创作思想主要是:
(1) 中国人民哺育了我们,党和政府培养了我们。我们要扎根中国,扎根人民群众。作为我国高等院校的教师,时时刻刻要把祖国的强盛和人民的幸福放在心中。我们生命的意义就在于奉献,在于把中国的教育事业做大做强,培养具有竞争力的人才。这些都不是空话,而是我们安心基础教育、做好育人工作的强大动力。谭浩强这些年来,走遍全国各地的高等院校(从清华大学、南开大学……到青海大学、西藏大学),为大学生做了200多场做人做事的成功之路的报告,也是他在新形势下,回归“双肩挑”社会责任的体现。
(2) 作者心中要永远装着读者,要处处为读者考虑,要和读者将心比心。谭浩强说:“我的心中经常感受到千百万读者殷切期望的目光。读者热切地期望作者能为他们写出一批好书,使他们的学习能事半功倍。”他多年来以此来鞭策自己,希望能摸索出一些能减少初学者困难的经验,并作了一些探索和尝试。如果是写科普读物,就更要区别对象,他通过策划《老年人学电脑用电脑》丛书,说明对读者需求的分析过程。他始终是站在群众的立场思考问题、提出问题,又从专家的角度分析问题、解决问题。
(3) 要深入了解自己工作的对象,明确你的学生对教材的需求,有的放矢,准确定位。笼统地说教材的对象是大学生,但是大学生不是一个抽象的概念,它有不同的类型、不同的层次。不能想象一本书能满足一切学生的需要。因此,要区别计算机专业与非计算机专业,要区别计算机专门人才与计算机应用人才,要区别本科与高职,要区别学校与社会。
(4) 按照学生的认知规律组织教材内容。不是按照“提出概念—解释概念—举例说明”的传统三部曲,而是按照“提出问题—解决问题—归纳分析”的新三部曲组织教材内容。使学生知道为什么要引出有关的内容、有什么用。使学起来目的性更明确、更有兴趣。教材的内容不一定越先进就越好。要学会分析,学会折中。
(5) 要善于把复杂的问题简单化,而不能把简单的问题复杂化。谭浩强说:“要写好一本书,是不容易的。写书不仅是简单地把有关的技术内容告诉读者,而是要考虑怎样写才能使读者容易理解。要下很大的功夫,有时为了找到一个好的例子或一个通俗的比喻,苦苦思索好几天,每一句话都要反复斟酌推敲。”
(6) 计算机教材的核心价值在于它能培养学生的计算机应用能力。以学习程序设计课程为例,它的目的是掌握设计程序的思路,学会用计算机语言编写程序,以实现所需解决的应用任务。这就要正确处理算法与语法的关系,算法是程序的核心、是灵魂,语法是外壳、是工具。不应把学习重点放在语法规则上,语法是重要的,不掌握语法规则就无法编写出正确的程序。但是只学会语法,甚至能把语法背得滚瓜烂熟,也不可能编出好的程序。一定要把重点放在解题的思路上,通过大量的例题学习怎样去设计一个算法,构造一个程序。在学习开始时更不要在语法细节上死背死抠。请记住:重要的是学会编程序,而不是背语法。一开始就要学习看懂程序,编写简单的程序,然后逐步深入。有一些语法细节是需要通过较长期的实践才能熟练地掌握。初学时切忌过早地滥用C的某些容易引起错误的细节。衡量这门课学习的好坏,不是看你“知不知道”,而是“会不会干”。考核的方法不能主要用是非题和选择题,而应当把重点放在编制程序和调试程序上。
(7) 计算机教材不是哲学著作,但渗透着思想方法的光辉。例如不能采用绝对化的方法处理教材。一些面向对象的语言陆续受到欢迎,有些人就否定面向过程的C语言,认为它已经过时了,不必学了。这是一种误解,不应把面向对象和面向过程对立起来,在面向对象程序设计中仍然要用到面向过程的知识。作为计算机程序开发人员,既要掌握面向对象程序设计的知识,又要掌握面向过程程序设计的知识。面向过程程序设计仍然是计算机工作者的基本功。
(8) 努力把每一本书都做成精品。作为教师和作者,可以不计较自己的作品是否获奖,但是应当努力使自己的作品得到千万读者的认可和赞誉,成为人们心目中的精品,这才是最高的奖赏。
(9) 不要迷信权威,不要盲目服从。谭浩强经常强调:“不唯书、不唯外、不唯上、只唯实”。美国有美国的课程体系,全部拿到我国未必奏效。另外,美国许多学校给所有学生开C++课程,对此他也有自己的看法:“C++是为开发大型程序而研制的,它比C要复杂得多,学习C++也比学习C困难得多。事实上,将来并不是每个人都需要用C++编制大型程序的。对于计算机专业人员,学习和使用C++是理所当然的。对于非计算机专业人员,可以先学习C,打下程序设计的基础,在以后需要时再学习和使用C++。有了C的基础,再学习C++就容易多了。也可以在学习C的基础上,再学习一些面向对象程序设计的初步知识,为以后进一步学习和使用C++打下基础。”
(10) 必须走中国自己的道路,各国经济社会情况不同,历史文化背景也不同,我们不可能走其他国家现成的教育道路。他善于用大家容易理解的方法和语言说明我国计算机教育的复杂现象。人们称赞他开创了计算机书籍贴近大众的新风,这类似于文学创作中的现实主义道路,这是落实科学发展观在计算机普及事业上结出的丰硕成果。
30年来,我们看到谭浩强的计算机基础教育和创作思想正在发扬光大,开始蔚然成风,成为全社会的共同财富。通过推广这些教育教学思想,必将有力地推动我国计算机教育和普及事业的继续深入发展。
我们期待着他的第三座丰碑,也期待着更多的人创造更高的丰碑。
参考文献:
[1] 刘瑞挺. 论谭浩强教材的创作风格[J]. 教材通讯,1989(4):1-2.
[2] 刘瑞挺. 计算机教育大师——谭浩强教授[J].计算机教育,2004(11):25-28.
[3] 谭浩强. C程序设计[M]. 北京:清华大学出版社,1991.
[4] 谭浩强. C程序设计[M]. 2版. 北京:清华大学出版社,1999.
[5] 谭浩强. C程序设计[M]. 3版. 北京:清华大学出版社,2005.
[4] 谭浩强. C++程序设计[M]. 北京:清华大学出版社,2004.
[5] 谭浩强. C++面向对象程序设计[M]. 北京:清华大学出版社,2006.