[导读]谭浩强教授,我国著名计算机教育专家。1958年毕业于清华大学自动控制系。青年时期曾担任清华大学学生会主席、北京市学联副主席、北京市人大代表、全国文教战线先进分子。他是我国计算机普及和高校计算机基础教育的开拓者之一。
青年时期曾担任清华大学学生会主席、北京市学联副主席、北京市人大代表、全国文教战线先进分子。
他是我国计算机普及和高校计算机基础教育的开拓者之一。
现任全国高等院校计算机基础教育研究会荣誉会长、教育部全国计算机应用技术证书考试委员会主任委员,享受国务院政府特殊津贴。
曾获国家科技进步奖、国家级教学成果奖,被原国家科学技术委员会和中国科学技术协会表彰为“全国先进科普工作者”,被北京市人民政府评为“北京市有突出贡献的专家”。
他在CCTV讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过500万人。
谭浩强教授善于用读者容易理解的方法和语言说明复杂的概念。
许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业作出重要的贡献。
21世纪初,被《计算机世界》报组织的“世纪评选”评为“我国20世纪最有影响的十个IT人物”,被《电脑报》评为“我国十大IT人物”,他的功绩是把千百万群众带入计算机的大门。
然而,从很久以前开始,他所著的《C程序设计》就一直被吐槽不断。
1、
这本书本身存在很多语法错误,主要是理解或者版本更迭没有及时更新造成,中国大学里面很多教材更迭相对偏慢。
随着计算机软件领域的飞速发展,现在这本书因为内容比较老,可能已经不太适宜做教材。
另外,这本书还是翻译过来的,语言差异加上翻译上理解的偏差,造成书中部分语法和概念确实有一定的问题。
甚至在网上,你还可以看到诸如《谭浩强错误不完全汇集》的整整50页的纠正文档。(基于第四版的纠错,第五版已修复大部分)
之前嵌入式ARM曾推送过的文章《你有没有想过,C语言 main 函数到底为啥这么写?》中,许多人会错写成void main()的形式,其实就是早期谭老未更正教材的错误之一。
2、
内容过于老旧,甚至有些程序内容都无法运行,当然这是编译器支持不同的C标准造成的。
这本书甚至大学许多教师的编译环境还是turbo C,这个老古董已经非常过时了,显得这本书非常的low,欠缺与时俱进。
但是此书确实更新速度比较慢,在2000年以后出的版本仍然支持的是C89标准。
3、
后期高质量的书非常多,排版也非常清晰,比如说《C Primer Plus》几乎可以取代这本书,但谭老这本书仍然还是作为大学的教材主力。
4、
有的人表示这本书难度太高了,主要是内容设计有关。开篇的内容对于刚接触C语言的人来说确实具有一定的难度,让不少人望而生畏。
其实最令我印象深刻的是:i+=(++i)+(i++)这种类型的代码。我相信你肯定见过且做过,直到现在仍有不少人为之苦恼,其实此类代码的来源就是这里。我们讲理论目的是指导实践,但是这种堆叠式地靠运算符优先级的写法真的意义不大,实际工程中代码的目标是简单易懂且有效,难道仅仅是为了考察运算优先级?
其实不仅是计算机教材,还有更多的比如线性代数教材、专业课教材、教学用到的软件,全都缺乏更新。
一位网友表示,有一位好心学长将谭先生的《C++程序设计》借给了我,这几乎直接导致了我现在还不会编程。
孙涛表示,我是物理专业的,当初启蒙就是这本书。说的严重点,这本书配合一个半吊子老师几乎毁了物理系所有人对编程的信心。造成的心理阴影直到毕业才逐渐消除。当初学c语言,大家感觉奇难无比,毫无头绪,要花大量时间研究特sb的知识点,比如i++++i。那个老师是教物理实验的,对c语言没什么理解,照本宣科而已。每节c语言课我要先预习两个小时,然后再复习两个小时,勉强能把书上奇奇怪怪的“知识点”搞清楚。当时刚上大一,不知道怎么自学,也不知道有什么好教材。越不懂越去研究谭浩强的书,然后就更蒙圈,恶性循环。
曾一度怀疑自己智商有问题,后来觉得不应该啊。总之当时觉得这门课是难到天上去了,考完之后再不想碰。其实c语言比大多数物理课都简单不少。我的很多同学也是对这门课很厌恶,逃避。后来即使在物理实验中遇到需要编程处理数据的,也是能逃就逃。整个转行系(物理系)毕业后鲜有人从事编程相关,绝对和这次打击有关。到现在大家才慢慢缓过来,开始学习其他编程的东西
敖厂长有一期节目说的是雅达利出品的《外星人ET》游戏直接毁灭了美国的游戏机产业,直到微软xbox才复兴。
谭浩强c语言教材对我的打击不亚于这个。谭浩强也算是中国计算机教育的先行者了,教材错误多,过时了,也不能怪他头上。但是他在书里吹牛逼就不对了,成天发行量破几千万!各个大学也是不思进取,直到现在还在用他的教材。vc++6.0,二级考试,谭书,都可以称得上是毒瘤了
假药郎中表示,应该说有两个原因:
1. 这是本烂书。
2. 作为一本烂书,却借着谭的所谓权威名头,年复一年地祸害一代又一代的学生——这才是最令人愤怒的!
谭书中的错误已有无数人吐槽过了。我自己的一个栗子:当年跟着这本书学的#include "xxxx.c"。
说穿了就是:谭根本沒有C的实际开发经验,只知钻语法的牛角尖。而C恰恰是—门存在着很多“语法上不算错,但实际不能这么写”的语言。谭的书给初学者很多这样的误导。
谭的成名是因为当年在电视上讲的BASIC课程,在那个资料匮乏的年代,应该说谭的课程在计算机教育的启蒙普及上起到了作用。但实事求是的讲,谭当年的这些课程,也就好比一个闭塞山区里的乡村教师自己编的土教材,在没有更好的选择下聊胜于无。但随着社会的巨大进步,后来已经有更多更好的教材可用,他早该退出历史舞台。那样的话,也许他的历史形象更令人尊敬。而多年以来,他的书依然凭借行政权力倚老卖老地霸占着全国那么多的学校,大言不惭的标榜“销量千万”,这就很无耻了,让人鄙视也不为怪了。
邢志鹏表示,国内大学生的普遍思想,大学课本教材都是废物,凡是大学的教材,都是应付考试的。在这种提前下,老谭的书就不能幸免了。
其实很多人喷老谭的书都是以讹传讹,看到很多高手都喷谭浩强的书,然后自己也要鄙视一下谭浩强的书,来显得自己也是高手一样。这种人看到谁在看老谭的书就会说一句,这种垃圾书也看,哥看的都是国外的经典。下次遇到这种人,你就让他不查资料,自己直接找老谭的书上的错误,能找出多少。找不出就别喷好吗。
老谭书上类似i++++i这种代码,确实实际代码这么写不合适,但是作为初学者,这是通过这种方式教你在理解优先级,通过这种拗口的方式可以理解的更加彻底,我觉得没问题。就像小学数学课的应用题。举个例子,池子一边装水,一边放水,求水多久能装满池子。难道也要喷一下什么鬼题目,浪费水。这明明就是考的对题目的理解,又不是真让你去做个实验。一个道理。
我上大学的时候就是看这本书自学的,思想很单纯,认准了这本书,就好好学。我感觉谭浩强的书绝对适合入门,学东西最重要的难道不是入门吗,老外很多书确实经典,但是不适合入门,那就不能推荐给初学者,那样只会害了他们。很多人都是看了老谭的书,对C已经有了一个概念以后,再去看那些书显得很从容,但是如果没有一个基础直接看那些书,未必看得懂。
我相信很多喷老谭的程序员是通过谭浩强的C入了门,那就请你不要喷老谭了。更加鄙视那些通过抨击老谭抬高自己的人。在谭浩强那个年代学计算机的,都是聪明人,别的不说,想学计算机身边连本书都找不到,哪像现在各种书泛滥,网上各种教学视频。那个年代学好计算机除了要聪明,也一定要有毅力。现在的学生以为自己会写几句代码一个个都上天了,以为自己比谭浩强这种老古董要聪明不知多少,可笑!
郭靖的故事大家都知道。他的启蒙老师江南七怪,教他学会了功夫。但是真正让他成为大侠的是洪七公,后来他的功夫已经远远超过了江南七怪,但是他还是那么的尊敬他们,而没有半点瞧不起他们,因为没有江南七怪,郭靖也许就不会有后面的故事。我这个比喻也许非常不恰当,没有谭浩强一定有别的书代替。不过我依然认为初学者可以看看老谭的书,至少他适合入门,如果你觉得他的入太抽象难懂了,我只能说要么你没用心,要么就不适合编程。
Hanson表示,现在黑谭浩强的简直是比比皆是。我觉得对于他的教材应该客观的评价。(吐槽一句,现在跟风的实在太多了,别人说什么他们立马附和,黑谭浩强书的人里面也有不少这样的人,估计好多黑他的人还不知道为什么黑他。。。)
不可否认,他的C语言教材在国内用的最广。既然有那么多人用,那么它就一定有他自己的优点。
我觉得,谭浩强书最大的优点就是特别容易懂(刚看有的答主和我的看法完全相反啊。。。),我指的易懂是指看他的书能很容易的自己写出正确的程序(至于代码风格不好,至少不是错误)。我开始接触C语言是在大概初二的时候,当时我第一本书买的就是第五版谭浩强。对于我们西北的这些信息弱省来说,初中那会大部分学生还不知道编程是什么。以此为背景,他的书能让我在完全没有基础的情况下几个月里学会C语言,易懂性是值得肯定的()。
首先(也是我觉得最主要的问题)就是不讲原理。他能很快教会你怎么去写程序,但不告诉你为什么要这么写(和他前言说的不一样啊。。。)。这种写法更适合那些非计算机专业的学生(当然主要指学渣,学霸们请忽略这条),但对于真正学C语言的同学来说,就显得不足,对后续的学习应用也可能会埋下不小的麻烦。
其次是大家吐槽较多的代码风格和小错误(个人觉得第五版里错误已经不怎么常见了,至于风格,好吧,的确不怎么样)。
(具体例子大家可以参考一下其他答案,有的列出不少,我就不重复列出了。不过说一点,有的错误是在特定版本的书里才出现的,看了一下其他答主找的大部分来自第四版,这些错误有的已经改正,但很多也还在,尤其是有些地方没讲清的问题,大部分在第五版仍存在)
Zhu xiangping表示,我觉得很好,我当时学C++就是用的他的书。看他的书让我感觉最舒服的是每当我看到一处知识产生了疑问然后我再往下看就看到他提出了相同的问题并作出了解答。有很多次这样的体验,我觉得这只能是一个教学经验丰富的老师才能做到。
通过学习他的书,我编程的能力对付一般问题应该没有问题。当时C++考试成绩应该在专业里前三,C++项目实习是第一(实现了很多项目没有要求的功能老师还给附加了分)。后来做通信实验,嫌手动采集处理数据麻烦,我还写了个小软件来实现数据采集处理的自动化。当然这对于那些代码大牛来说应该是小菜一碟,但是当时我就在学校开C++时学过程序语言,其余时间基本没有写过代码。后来接触了几种其他计算机语言,我能很快上手。我想这要归功于当时C++的学习。
对于喷,我想这是不可避免的,知名度越高,喷的人越多。喷与不喷,那是个人的自由。适合自己最好。
以前在计算机领域可以借鉴的东西很少,可以说正是这样的书籍,以详细的讲解和通俗易懂的风格,培养了一大批的基础扎实的人才,才有了之后的网页和动画,有了众多的可参考的资料,这些贡献都是不可磨灭的。
谭浩强生于1934年,58年从清华毕业,那时候C语言还没有问世。在久远的过去条件下,写出这么一本编程入门教材实属不易。
而值得注意的是,是多年来大学教材质量并没有明显改进所以,现在就是很矛盾。批评教材的主要意见其实是对的,但是在细节部分很容易受到反驳。
造成这种矛盾的主要原因,因为批评搞错了对象,结果是意见不能集中,越说越乱。现在的主要矛盾,是教材的编写方式陈旧、脱离实际,且长期得不到更新。
这个问题不仅仅发生在计算机课程领域,也不必把这个黑锅背在“谭浩强”身上。一本小说写的好,看的人就多,写的烂,看的人就少,这是显而易见的。某作者写的教材好,就采用;写的烂,就不用。
为什么写的不好还要强制统一使用呢?教材的选用还未得到足够重视中国的“211高校”有100多所,培养的老师数不胜数,其中应该有相当数量的老师有写出好书的实力。就算老师不会写,市面上也已经有好多本优秀的国外教材,提供了较新的编写思路可供参考。但是目前已经普遍反映出,大学教材停止了迭代,更没有有效的、与时俱进的质量把控。强烈希望各个大学从教材出发,做好教书育人的本职工作。
无论怎么吐槽,一个人编程水平的高低和所在大学,使用的什么教材都没有太直接的关系,很多人在网上买编程教材一定想着买个最新版本的,其实完全没有必要,这些都是客观因素,主观因素才是关键,真要想学的好,什么教材都玩的转,取决于内在的意识形态,驱动力不够有再好的教材也是浪费资源,无论怎么说老谭对于中国计算机行业的贡献还是非常突出的,感激的心情更多点。
现在还有很多的论调包含的大致意思就是C语言现在已经不行了,完全没有必要再去学习了,看看招聘职位关于C语言的真是少的可怜,现在明显的都在向高级语言进发了,大趋势是向集成化程度高的语言前进,但是集成化语言本身很多都是C语言完成的,未来可能C语言学习的会变少,但是职位要求以及薪资水平会高的让普通程序员都只有羡慕的份,物以稀为贵,这也是市场规模。踏踏实实学好正在学习的编程语言,把精力放在语言本身,而不是去争论谁好谁坏,即使分出个高低了对于个人又有什么直接好处,认准一种编程语言一直学到最后,然后想办法过度到别的语言,触类旁通。
老谭作为早期的布道者已经做出了不可磨灭的贡献,仅此一点就值得致敬。
【参考资料】
1、知乎 . 《为什么说谭浩强的书是坑?》
2、佚名 . 《怎样评价谭浩强版?》
3、佚名 . 《为什么这么多人不喜欢谭浩强的C语言程序设计?》
-END-
推荐阅读
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
驱动电源
在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。
关键字:
工业电机
驱动电源
LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...
关键字:
驱动电源
照明系统
散热
根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。
关键字:
LED
设计
驱动电源
电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...
关键字:
电动汽车
新能源
驱动电源
在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...
关键字:
发光二极管
驱动电源
LED
LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。
关键字:
LED
驱动电源
功率因数校正
在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...
关键字:
LED照明技术
电磁干扰
驱动电源
开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源
关键字:
LED
驱动电源
开关电源
LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
LED
隧道灯
驱动电源
LED驱动电源在LED照明系统中扮演着至关重要的角色。由于LED具有节能、环保、长寿命等优点,使得LED照明在各个领域得到广泛应用。然而,LED的电流、电压特性需要特定的驱动电源才能正常工作。本文将介绍常用的LED驱动电...
关键字:
LED驱动电源
led照明
LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电源转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。
关键字:
LED
驱动电源
高压工频交流
种种迹象都在表明,半导体行业或已提前进入寒冬时期,越来越多的厂商开始扛不住了……
关键字:
LED
半导体
驱动电源
崧盛股份9日发布投资者关系活动记录表,就植物照明发展趋势、行业壁垒等问题进行分享。植物照明未来市场需求广阔崧盛股份指出,植物照明将会走向长期产业领域。主要原因有三:第一,LED植物照明赋能终端种植更具有经济价值。由于LE...
关键字:
崧盛股份
驱动电源
在当今高度发展的技术中,电子产品的升级越来越快,LED灯技术也在不断发展,这使我们的城市变得丰富多彩。 LED驱动电源将电源转换为特定的电压和电流,以驱动LED发光。通常情况下:LED驱动电源的输入包括高压工频交流电(即...
关键字:
LED
驱动电源
高压直流
人类社会的进步离不开社会上各行各业的努力,各种各样的电子产品的更新换代离不开我们的设计者的努力,其实很多人并不会去了解电子产品的组成,比如LED电源。
关键字:
LED
驱动电源
低压直流
随着科学技术的发展,LED技术也在不断发展,为我们的生活带来各种便利,为我们提供各种各样生活信息,造福着我们人类。LED驱动电源实际上是一种电源,但是它是一种特定的电源,用于驱动LED发射带有电压或电流的光。 因此,LE...
关键字:
LED
驱动电源
电流
LED灯作为一种新型节能和无污染光源,由于其特有的发光照明特性,在现代照明应用中发挥着革命性的作用。作为 LED 照明产业链中最为核心的部件之一,LED 驱动电源的驱动控制技术所存在的可靠性低、成本高等典型问题一直制约着...
关键字:
多路
LED
驱动电源
随着社会的快速发展,LED技术也在飞速发展,为我们的城市的灯光焕发光彩,让我们的生活越来越有趣,那么你知道LED需要LED驱动电源吗?那么你知道什么是LED驱动电源吗?
关键字:
LED
开关电源
驱动电源
早前有新闻称,Cree在2018年开始宣布转型高科技半导体领域,并一边逐渐脱离照明与LED相关业务,一边持续投资半导体。在今日,Cree宣布与SMART Global Holdings, Inc.达成最终协议,拟将LED...
关键字:
cree
led照明