zoukankan      html  css  js  c++  java
  • 教材,教材,国内的教材你为何如此不堪入目?码农,码农,你到底该如何脱离码农?

    国内、国外教材对比

    国内教材:

      1、致命缺陷:只有入门,没有进阶,间接导致中国码农数量持续增长;

      2、入门书的错误会给新手带来不良编码习惯,中国C语言之父的void main()就是一个典型例子;

      3、许多大学老师出书都是学生写的,错误连篇;

        PS:对于这一点,我认为这是老师的问题。对于学生来说写书是一种锻炼、一种学习,但就像考试,不是每个人每次都考100分,出错是正常的,所以写书前后自然需要老师认真指导、把关,这样不仅可以提高书的质量,学生也可以学到更多。但是中国的国情,最后老师为了数量不顾质量,导致市面上充斥各种问题书籍。

      4、书上举例1+1=2,到了实际中要解决

      4、有一些国外比较好的书,翻译过来往往变了味道,比如《C++变成死相》,不过也不乏少部分翻译的不错的书,比如段菲翻译的DX9那本龙书;

      5、入门书介绍的不够全面,使用的例子过于教学化。当然,对于这一点到底好不好,不太好说,毕竟如果内容太多,很多新手会跟不上。

    国外教材:

      1、厚;

      2、老外态度认真,内容没有弄虚作假,而且作者往往有实际开发或研发经验,与国内大学老师写书充数量形成鲜明对比;

      3、入门级的书会介绍的比较全面,完整的说明所有的用法,或者常用的方案,因而书比较厚,看的时候最大的感受是很多以后可能出现的问题,书上都提到了,与上述的国内教材第4点形成鲜明对比;

      4、带“导论”俩字的书,格外犀利,能够真正让别人理解其原理,很多都是N年研发经验的大神写的,用于入门之后的提高,往往看了以后受益匪浅;

      

      当然,不排除确实有一些比较好的国内的教材,不过真的太少太少了。另外,虽然谭**的书给我留下了不良编程习惯,书的质量也不如国外的书,但是对于大多数国内学生入门来说,也许是个不错的选择。国外入门书未必适合我们,毕竟国内学生水平层次不齐。国外在中学阶段就接触一些我们在大学才接触的东西,等他们上了大学,自然就可以更深入的学习;反观中国学生,中学阶段辛苦备战高考,大学阶段才能入门,或者干脆什么都没学四年就过去了。

      国内教材只有入门书,几乎没有能和国外带“导论”相提并论的书,这也间接导致了一年又一年计算机毕业生沦落为码农。学的杂而不精,只能学习各种表层技术,这TM叫搞技术?这是当工人做重复性劳动!30之前不转管理自然没前途!但如果能够深入研究技术,而不是不停的更新自己的入门级技术的数量,相信发展前景应该还是不错的。

      国外教材的“导论”很有意思,乍一看,导论,很简单吧,其实正好相反,介绍的相当深入。我曾经纳闷,为毛这种程度的叫导论呢?后来仔细想想,不论任何领域,都有相关广阔的知识,而一本书的覆盖面往往是有限的,从这个角度来说,导论知识介绍了这个领域的一小部分知识,所以叫导论;但是根据有名的2 8定律,20%的内容可以起到80%的作用,所以虽然只是介绍一小部分内容,却可以对读者带来相当大的帮助。

    什么样的书是好书?

    基础入门:

      这个真心纠结,以C++为例,C++ Primer确实不错,可是估计新手不行,今天给导师带C++的实验课,刚刚开始讲类,大家乱的一团糟,还是实验班的……所以估计搞C++ Primer这种教材的话大家应该更受不了了;但是如果用国内的教材吧……又会带来很多不良影响,究其根源,个人认为是中、小学教育的问题,如果之前有一些基础,那么可以直接上手C++ Primer了。

    专业入门:

      比较好的专业入门书,很明显是国外的教材,比如被称为龙书的《DirectX 9.0 3D游戏开发编程基础》,这是少有的原书和翻译都相当不错的一本三维图形学入门书;Head First系列的书,想必大家有看过的,很少会说看不懂吧。既然是入门书,当然不能太难,但是必须要有比较形象的例子将内容阐述清楚,而且要尽可能的控制深度,避免作者看不懂。

      这种类型的书有个共同的特点,那就是看着简单,不枯燥,同时看完以后又能够对某一领域有个整体的了解,虽然不是很深入

    专业进阶:
      在图形方面让我感受颇深的是Real-Time Rendering Third Edition,它引用了1400多篇参考文献,将实时渲染的主流技术从算法的层面上进行了非常深入的剖析,让读者看完以后能够对以有的成熟技术深入了解,建立起一个完整的知识体系架构。这种书需要作者真正是搞这方面的研究,并且研究的相当深入,否则不可能写出这么经典的书。相信这一层次的书在大体性质上应该也是类似,能够让读者全面、深入的了解某一领域的知识。这个时候,书中的内容正确、全面以及深度就相当重要了,而不需要考虑是不是对读者来说太难了。如果读者觉得太难,可以去看一些更基础的书。
      个人认为,这部分的书对于码农相当重要,如果没有这种层次的书,就意味着要不停学习各种表层技术,学习的内容是不会积累的,发展前景堪忧;而如果往这方面下功夫了,之前学习对于之后学习的内容是有积累的,随着时间的推移,越学越深,也就不用担心年轻人来抢饭碗了。

    为什么国内的书就是写不好

      1、中国人有急功近利的特点,总是希望短、平、快的出成果,质量不高是正常的;

      2、作者水平问题,在大学扯淡扯几十年的老师和在MS或者Google干过N年的老外相比,当然是心有余而力不足了;

      3、还是作者水平问题,在公司里有实际开发经验的老鸟,都比较忙,很少有时间写书;在大学里的老师,常常是没有实际开发经验,自然写出来的东西就会让人看着觉得瞎扯淡了。

    如何能将书写好

      1、作者的自身水平有待提高,写书是一个输出的过程,如果脑子没货,那只能扯淡;

      2、对于写入门级的书,需要实际开发经验;对于写Real-Time Rendering Third Edition或者Game Engine Architecture这种深入一些的书,需要作者有实际的研发经验;

      3、套话、炒概念、完全正确的废话少来点。

    码农如何提高自己

      不少码农忙于加班,最后陷入死循环(这个帖子看到):加班 -> 没空学习 -> 老是写同等水平代码 -> 无法提升代码质量 -> 老是出BUG -> 老是需要修改 -> 加班 ->……要想破除这个死循环,关键在于学习!当然,也可以30岁之前转管理,本文主要针对技术路线。学习主要有两个方面:1、看技术书籍;2、提高英语水平。

      对于第一点,我个人比较推荐朝着某一技术方向深入研究,而不是不停的学一些表层技术。如果不停的追那些新出来的表层技术,那30岁以后真TM干不过那帮刚毕业的小屁孩了……当然,这只是我个人的看法,不喜勿喷。

      第二点其实是配合第一点的,因为一旦英语成为短板,那么一旦深入学习的过程中遇到没有中文资料了,那么就会影响学习,这是不能容忍的。其实英语没有想象中的那么难,每天抽一点时间学一学,从长期来看会有回报的,这里向大家推荐一个英语学习软件:Aboboo,完全免费,还不带广告。

    The End

  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/wangchengfeng/p/3608749.html
Copyright © 2011-2022 走看看