谭浩强教授,我国著名计算机教育专家。1934年生,广东台山人。1958年毕业于清华大学电机系,曾担任校学生会主席、团委副书记。
尽管早年主要从事政治工作,却在改革开放后毅然投身计算机普及教育。
开始他根本就没有想过当计算机教育专家,想都没想过。
谁也没有想到,这位原本并非计算机专业出身的教师,后来却成为影响几代中国程序员的人物。
44岁开始学计算机
1978年,44岁的谭浩强半路起家开始学习计算机领域知识,并一边学习一边做普及工作。
当时电视大学想开一门 BASIC 语言课,到处请教师都请不到。他说:
"我也没学过呀,那么我就现学现卖。"
最开始是自学 BASIC 语言,边学边干。
在那个年代,计算机还是一门十分陌生的新兴学科,教材匮乏、教师紧缺、社会认知有限。许多人甚至连计算机长什么样都没有见过,更不用说学习编程。
正是在这样的背景下,谭浩强一边学习,一边承担起了计算机知识普及的工作。
今天看来,这种"边学边教"似乎不可思议;但在那个百废待兴的年代,却是中国计算机教育发展的真实写照。
把编程课搬上央视
他不仅编写教材,还在中央电视台主讲了 BASIC、FORTRAN、COBOL、PASCAL、C 等7种计算机语言,观众超过500万人。
他善于用读者容易理解的方法和语言说明复杂的概念。
许多人认为他"开创了计算机书籍贴近大众的新风"。
在互联网尚未普及的年代,电视课程和纸质教材,是普通人学习计算机最重要、也是最主要的渠道。
对于许多人来说,他们第一次听说程序设计、第一次接触编程语言,就是通过谭浩强的电视课程和教材。
在今天的视频教程、在线课程盛行之前,央视课堂就是那个时代最大的"编程公开课"。
一本教材,影响了几代程序员
由谭浩强教授著、清华大学出版社出版的《C程序设计》,经过近三十年、一千多万读者的实践检验,被公认为学习 C 语言程序设计的经典教材。

该教材以"零基础可入门、初学者易理解、教学者好组织"为编写宗旨。
《C程序设计》累计发行超1700万册,全部教材总发行量达5500万册,影响了几代计算机学习者。
对于许多学习编程的中国人来说,谭浩强的教材几乎是无法绕开的存在。
在我国学习计算机的人中,很少有人不知道谭浩强的名字。他最大的贡献,就是把千百万普通人带进了计算机的大门。
"我的特点不是高精尖,而是普及"
被问到教材的核心理念时,谭浩强曾说:
"我是特别注意初学者的特点,因为当时计算机在全国刚刚普及,领导也不会、别的教师也不会,所以就需要用一个比较容易、通俗易懂的办法来推广。"
他评价自己的教材:
"我的特点不是高精尖,而是普及。不是专著,而是普及。"
这两句话,也可以说概括了他几十年来始终坚持的教育理念。
他并没有把目标放在培养少数计算机专家,而是希望让更多普通人能够迈进计算机的大门。
对于当时的中国来说,"让更多人学会计算机",比"讲得多么高深"更重要。
一代人的计算机启蒙
2004年,《人民日报》专栏文章曾评价:
"20世纪中国计算机普及永远绕不开一面旗帜,那就是谭浩强。"
宋健院士也曾为他题词:
"教授计算技术的大师,普及现代科技之巨擘。"
这些评价,反映的不仅是一位教材作者的影响力,更是他在中国计算机普及教育中的特殊地位。
在那个互联网尚未普及、学习资料极其匮乏的年代,一本教材、一个电视课程,就足以影响一代人的职业选择。
很多后来成为程序员、软件工程师、系统架构师的人,都是从谭浩强的教材开始,写下人生中的第一行程序。
对于一代中国程序员来说,谭浩强不仅是一位教材作者,更是一位"编程启蒙老师"。
"最大的成就,是看到计算机真正普及"
谭浩强曾说:
"计算机既是工具,它更是一种科学素质。现在没有人可以说我不学计算机,然后在其他领域做得很有成就。"
谈到自己最难忘的事情时,他说:
"最难忘的应该就是看到了计算机的普及。看到了一批又一批的新读者、初学者,通过我的教材成长起来了,这个比什么都要有成就感。"
他还分享过一个让自己十分欣慰的故事:
有一户家庭,祖孙三代都是他的学生。
对于一位教师而言,也许没有什么,比自己的知识能够跨越几十年,持续影响一代又一代学习者,更令人感到欣慰。
一本教材影响一代人并不罕见,但能够影响祖孙三代人的学习经历,这样的故事在中国计算机教育史上并不多见。
他的故事,不仅仅是一个人的奋斗史,更是一部中国计算机教育的启蒙史诗。
"C语言之父"的调侃,与"误人子弟"的争议
如果说前半部分讲的是谭浩强的贡献,那么后半部分,则是这些年来围绕他的争议。
在国内程序员社区,谭浩强一直是一个充满争议的人物。
有人称他是"中国计算机教育的启蒙者",也有人戏称他是"C语言之父"。当然,这只是程序员圈子的一个玩笑,真正创造 C 语言的是贝尔实验室的Dennis Ritchie。
与此同时,"THQ C++"(THQ实际是“谭浩强”的拼音首字母缩写(T-H-Q),即网友对谭浩强C++教材风格的戏称)、void main()、各种复杂的自增自减表达式等,也成为程序员社区经常调侃的话题。
一本销量超过千万册的教材,为什么后来会引发如此大的争议?
答案并不是一句"写得好"或"写得差"能够概括的。
教材没有错,只是时代变了
《C程序设计》出版于1991年。
放在当时,它无疑是一部具有开创意义的教材;但放在今天,它也确实暴露出不少问题。
例如,部分示例代码已经不符合现代 C 语言编程规范,一些内容长期基于 ANSI C(C89)标准,而后来 C99、C11、C17、C23 等标准不断发展,语言本身已经发生了很大的变化。
网上至今还能找到不少关于《C程序设计》的勘误整理,既包括印刷错误,也包括一些容易引起误解的示例,因此不少程序员对教材提出了批评。
这些批评,并非毫无依据。
例如,为了讲解运算符优先级,教材中曾出现过多个自增、自减混合使用的表达式。
今天来看,这类代码不仅可读性极差,其中一些甚至涉及 未定义行为(Undefined Behavior),在实际工程开发中应当尽量避免。
现代软件开发强调的是:
代码容易阅读;
行为可以预测;
团队成员能够维护。
而不是依靠复杂的运算符技巧去"炫技"。
程序设计的目的,从来不是写出最复杂的代码,而是写出最容易理解、最容易维护的代码。
真正的问题,其实不只是一本教材
很多人把今天学习 C 语言时遇到的问题,都归结到了谭浩强身上。
但事实上,事情并没有那么简单。
进入21世纪以后,软件行业的发展速度远远超过了高校教材更新的速度。
GCC、Clang、Visual Studio 等现代编译器早已成为主流,软件工程、版本控制、单元测试、持续集成等理念也逐渐进入课堂。
然而,一些高校依然长期沿用较早版本的教材和实验环境,甚至继续使用 Turbo C 等已经退出历史舞台的开发工具。
于是,学生接触到的不仅是一本出版于上世纪90年代的教材,还有一整套更新相对缓慢的教学体系。
久而久之,教材"过时"与课程更新滞后这两个问题,被很多人混为一谈。
某种意义上,谭浩强承担了许多本不应该完全由一本教材承担的责任。
如果把他放回那个年代
评价一本教材,不能脱离它诞生的时代。
1978年,44岁的谭浩强才开始学习计算机。
1991年,《C程序设计》出版时,国内计算机教育仍然处于起步阶段。
那个年代,没有互联网。
没有 GitHub。
没有 Stack Overflow。
没有 Bilibili。
更没有今天的 AI 助手。
一本教材,往往就是一个学生能够获得的全部学习资源。
对于当时的中国来说,最重要的问题不是:
如何写一本世界上最先进的教材?
而是:
如何让更多中国人第一次学会编程。
谭浩强选择的,正是后者。
正如他自己所说:
"我的特点不是高精尖,而是普及;不是专著,而是普及。"
今天看来,这句话依然能够很好地解释他几十年来坚持的教育理念。
一本教材,也有自己的时代使命
很多程序员今天更推荐阅读《The C Programming Language(K&R)》、《C Primer Plus》,或者直接参考现代 C 标准文档。
这些教材在工程实践、语言标准以及代码规范方面,确实更加符合今天的软件开发需求。
但与此同时,也没有必要因为一本教材存在不足,就否定它曾经发挥过的重要作用。
任何一本教材,都有自己的时代背景。
适合1991年的教材,不可能永远适合2026年;正如今天再经典的技术书籍,二三十年后也同样会面临更新。
技术会进步,教材会更新,但历史贡献不会因此消失。
写在最后
今天,我们完全可以选择更加现代、更贴近工程实践的学习资料。
对于正在学习 C 语言的人来说,阅读经典教材、参考最新标准、结合开源项目和实际编程练习,往往比依赖任何一本教材都更加重要。
但如果回望中国计算机教育的发展历程,谭浩强依然是一个绕不开的名字。
他未必是最优秀的工程实践导师,却无疑是中国计算机普及教育最重要的布道者之一。
也许,对他的最好评价,不是神化,也不是否定,而是把他放回那个属于他的时代。
因为正是那个时代的一批教育工作者,点亮了无数中国程序员人生中的第一行代码。