楼主: 北美农民
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 不管现在说是不是晚了,但还是对各位EECSer吼一句:学编程不要看谭浩强的书!

🔗
 楼主| 北美农民 2013-1-9 20:23:44 | 只看该作者
全局:
本帖最后由 北美农民 于 2013-1-9 20:28 编辑
joyjoyboy 发表于 2013-1-9 05:54
我理解你的想法,但是没法认同。你可否想过,一个从来没见过代码长什么样子,不知道什么是变量函数声明这 ...

怎么说呢, 你虽然说”理解你的想法“, 但我认为还是没理解。我编程很一般。。 跟“牛逼“完全沾不上边。 其中一个很大的原因就是涉猎的书籍书太杂太多,我的代码风格养成中间走了不少弯路,花了老大力气,到现在终于还算养成了不错的风格,这期间耗费的精力,有苦自知。

我认为你对”好的入门书“的定义理解不够, 告诉新手”代码是什么“ ”代码长什么样“ ”声明函数变量“ 是最最基本的,很多书籍都能做到,这样比不出优劣。我谈几点优劣体现的比较明显的地方
第一点, ”规范化“
EECSer应该知道, 很多时候声明一个变量, 一个函数, 多一些少一些限制性的标识符,关键字都是可以编译的。 尤其是新手, 发现都能编译后,很容易忽略。
然而谭某人最喜欢用不规范的定义。 举个最简单的例子,main主函数ANSI只定义了两种格式, 但是老谭的书特别喜欢用未定义的格式,如果遇到特殊的编译器, 很多人都不知道死在哪。 还有一点, 他还特别喜欢用a,b,c代表变量,用i,j,k代表循环变量(这一句估计很多人会中枪,我也是),但是程序一长,可阅读性非常糟糕。

第二点,前面的知识为后面的学习做铺垫, 后面的学习巩固前面章节的知识
这个需要对比一些教材后自己体悟, 谭的书这一点做得很糟糕很糟糕。

第三点,习题,范例要经典, 要对得上知识点。
范例错误撇开不说。还是那个印象很深例子,i++和++i的区别这样一个知识点, 用得着出(i++)+(i++)+(i++)等于几这样一个完全不能诠释概念本身,牛头不对马嘴的问题么? 指针那一章, 范例和习题更烂。。。。 我当时读了差点以为我以前理解的pointer完全错了。。。

CS好教材的趋势目前基本都是那些自己有几十年coding经验的工程师出版的。这一点我真的很纳闷, 谭浩强的个人履历上完全没有任何真刀真枪的项目经历。  再开次炮,清华的CS教材我感觉都不好,比如我看过的就有 雍俊海的java软工教材, 严蔚敏的数据结构教材等。

回复

使用道具 举报

🔗
rita_2012 2013-1-9 20:29:26 | 只看该作者
全局:
没看过谭浩强的书虽然老师们都推荐说谭浩强是经典啊布拉布拉布拉。。。 。。。
回复

使用道具 举报

🔗
狂暴CNM地 2013-1-9 21:00:46 | 只看该作者
全局:
cooooolboy 发表于 2012-12-21 16:21
嘎嘎,我们当时的C语言课上来就是K&R的英文原版教材。。。
但是一个确实的情况是,当时好多东西都看不懂{: ...

突然想起当时和2系辩论赛的时候 你们系的人还专门说过这个。。
回复

使用道具 举报

🔗
redemptionnuo 2013-1-12 18:45:47 | 只看该作者
全局:
“然而谭某人最喜欢用不规范的定义。 举个最简单的例子,main主函数ANSI只定义了两种格式, 但是老谭的书特别喜欢用未定义的格式,如果遇到特殊的编译器, 很多人都不知道死在哪。 还有一点, 他还特别喜欢用a,b,c代表变量,用i,j,k代表循环变量(这一句估计很多人会中枪,我也是),但是程序一长,可阅读性非常糟糕。”

我还以为i,j,k代表循环变量就是默认规范呢~哈哈。。。

貌似考完试就把这本书扔了。指针还没咋用过咧。。哎~
回复

使用道具 举报

🔗
xiaokeer 2013-1-21 01:41:11 | 只看该作者
全局:
cs900601 发表于 2012-12-14 07:21
好与坏总是相对的吧。譬如说,一个数学功底不是极好的人,可能认为Ian Millington的《Game Physics Engine  ...

又看见这只龙了。。。同学你是搞Graphics的嘛?上个学期被折磨的不轻。。。不过好好玩
回复

使用道具 举报

🔗
johnwan 2013-1-21 02:52:22 | 只看该作者
全局:
循环变量用i,j好像不止我们这样干。但是变量名的定义还是要多注意的
回复

使用道具 举报

🔗
ilovegpd 2013-1-21 04:01:21 | 只看该作者
全局:
本帖最后由 ilovegpd 于 2013-1-21 04:04 编辑

作为一个学ME的我也扯几句。。当年大一c入门学的也是谭浩强的书,之后自己看了K&R,算法导论在大四闲的时候也看了一些但是感觉实在是挺难木有啃完。。现在想想能谭浩强书能让我记住的也就是刚入门时候什么都不懂的那些概念,指针之类的当初学的时候也基本没用过,我想所谓入门其实指的也就是这些基本概念的理解吧。所以我觉得把他的书进行彻底的批判和抛弃也并不可取,我想lz的意思主要还是批评他的书对于程序员本身技术风格形成的影响吧,这一点没人否认。但是我觉得其实看过他的书,只达到对于c有基本概念的程度,并不会对于未来技术上的培养有很大影响吧。
回复

使用道具 举报

🔗
cs900601 2013-1-22 05:02:23 | 只看该作者
全局:
xiaokeer 发表于 2013-1-21 01:41
又看见这只龙了。。。同学你是搞Graphics的嘛?上个学期被折磨的不轻。。。不过好好玩

不是……我就自己做一个raytracer娱乐娱乐…
因为我们学校的课要求很低,所以只能独善其身…
话说你们上学期的graphics做了些啥……?
回复

使用道具 举报

🔗
xiaokeer 2013-1-22 05:07:34 | 只看该作者
全局:
cs900601 发表于 2013-1-22 05:02
不是……我就自己做一个raytracer娱乐娱乐…
因为我们学校的课要求很低,所以只能独善其身…
话说你们上 ...

a painter,a ray tracer, a animator, and a shader....
回复

使用道具 举报

🔗
cs900601 2013-1-22 05:12:59 | 只看该作者
全局:
本帖最后由 cs900601 于 2013-1-22 05:20 编辑
xiaokeer 发表于 2013-1-22 05:07
a painter,a ray tracer, a animator, and a shader....

A shader?实现OpenGL的可编程管线?Edit:我去主页上看了一下,大概知道了。
确实很给力啊
比我做的内容多很多……

我发现个国内的论坛叫Opengpu,上面有一帮很NB的人。有个人花了五年业余时间写了一个软件的Renderer……还有做游戏引擎的……还有各种做实时Raytracer的…
可见如果是一门心思做技术的话,在国内和在国外貌似没啥差别,差别就在于在这边能接触到的资源可能会比较多,眼界亦会比常人要高很多,可以在很短的时间就被push到一个相对高的高度。
当然,那种逆天级的牛人还是在外国比较多……比如ompf论坛…
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表