谭浩强,YYDS!

9/26/2021

最近刷知乎看到一个很雷人的问题:

图片

回复区非常热闹,简直一片叫骂声,对谭老也是极尽嘲讽之能事,比如这样的:

图片

再比如这种:

图片

其实这个问题就问的有些轻佻回答,有些讽刺,诚然谭老那本《C语言程序设计》问题是挺多,对初学者极不友好劝退了不少学习C语言的朋友,尤其是对指针的讲解,缺乏形象生动的举例和节奏感。

我读大学之际也差点被这本书劝退C语言,之后看了不少网上的资料才算入门。

并且《C语言程序设计》的发行量堪称恐怖:

图片

1400万册!意味着几乎每一个计算机学子都学习过这本书,这也导致了谭老被很多学子诟病。

但因此就把所有责任扣到谭老身上,属实不公平!

谭老如今已经年近90岁,算是中国第一批研究计算机的学者,他的那本书的第一版是在90年代,彼时中国几乎没有任何计算机教材。

计算机行业发展迅猛、新旧更替以年计、甚至以月计!

C语言是1972年问世的,彼时谭浩强已经38岁了,1989年C语言完成第一次标准化,谭浩强这个时候已经55岁了,1991年,谭老在57岁高龄写出《C程序设计》,彼时还真不算太落后。1999年,C99标准才出来,这时候谭浩强已经65岁了,也很难有精力再去高速的迭代他那本书了。

2000年之后,经典的C语言书籍层出不穷,甚至可以用百花齐放百家争鸣来形容了,谭老的书的确已经毫无竞争力了。

谭老这本书放在90年代,也算是指路明灯般的存在,也是当年的计算机经典书籍,但时过境迁计算机科学在发展、C语言也在高速发展,就好比一个过时的古董,自然没有任何实用价值。

问题来了,谁是坑学生们的罪魁祸首?答案不言而喻了吧!

是那些偷懒的大学、那些偷懒的大学教授,不假思索的继续沿用一个上世纪90年代的教材,全然不顾计算机行业的飞速发展和经典计算机书籍的层出不穷,抱残守缺、因循守旧、冥顽不灵、顽固不化!

是这些人坑了无数学生,让很多人看见C语言就瑟瑟发抖,甚至直接劝退了无数计算机学子。

而谭老呢?他的一生都在推动中国计算机科学的发展,更是在2019年,将剩下的积蓄全数捐给了清华:100多万。

可能这100多万在大家眼中算不得什么,在企业家动辄过亿的捐献中,更是少得可怜。

可试问大家一句,我们中有多少人何尝捐过几万,哪怕几千?有些人,他已经奉献了他的一生,却还要承担骂名,可悲可叹!

当然如果要学习C语言,在今天这个经典书籍层出不穷的时代,《C程序设计》的确不算最合适的了。

给大家推荐几本C语言适合入门和精通的书籍吧:

1.《C Primer Plus》

强力推荐的一本C语言入门书籍,全书626页,可以让你在C语言的世界里畅游很久,关键文笔还非常幽默风趣让人心情愉悦。

一般来说,中文翻译都会失真不少,但这本书的翻译非常到位,几乎没有丢失背景信息和隐藏信息。

2.《C和指针》

这本书的特点是在指针上花了大功夫,指针绝对是C语言的精髓,理解了就等同于攻克了最难的部分。

除了头尾两章,指针贯穿全书,并用了大量通俗易懂的例子来讲解,正是指针使得C语言如此之强大,所以要学习C语言的精髓,就是要精通指针。

3.《C陷阱与缺陷》

这本书就是一个小册子,但很有让人读下去的欲望,倒不是因为页数太少,而是书中所说的每一个需要注意的地方,作为一名程序员都可能遇到。

作者叙述起来也是旁征博引,举的例子短小精悍却一针见血。此书作为一本常备读物非常赞,没事可以经常翻翻加深印象。

4.《C专家编程》

这是一本C语言进阶书籍,学完前两本,并有一些实践经验之后,再来攻克比较合适。

这本书会让你对C语言的使用有深入了解,同时还介绍了一些C++的知识。

这本书需要一些前置知识包括编译原理(简单了解即可),Unix/Linux的基础知识:命令和工具等等。

以上四本书学精学透,C语言基本就问题不大了,另外强调一点,学习语言除了看书之外一定要多实践多编码,可以用C语言做一些好玩的程序,比如最简单的万年历,复杂点的贪吃蛇之类的。

还有些工作几年的读者问过我:现在用的其它语言,要不要看看C语言,其实C语言是接触操作系统最好的语言之一(汇编更底层,但难度较大),能帮我们构建对计算机体系的底层认知,还是非常值得好好学习的。

今天就分享这么多了,我们下期见呀~