作为计算机相关专业学生,当我进入大学计算机课堂之后,却发现所学的东西并非我憧憬的那样丰富多彩,当计算机原理教材发到手中,曾经作为学霸的我照例提前预习,结果是,非常枯燥乏味。让我感到最迷惑的是,书中出现大量的、我从未见过的词汇和知识点,而很少提及这些知识点具体是怎么被应用的,怎么被发明或者发现的,为什么会是现在这样、为什么就不能是那样,而且这些知识点给我的感觉是离散的,他们之间的关联到底是怎么样的,我很想弄明白。我感到大学计算机教材中的知识体系与高中基础学科知识体系有明显不同——你需要具备太多让人绝望的知识背景。高中的数理化等基础知识不会因为某个人的设计而改变了它的底层机制,丁是丁卯是卯。而计算机完全是人为设计出来的,学习的时候,就会想不通,我到底为什么要去学习这些“超自然”的知识呢?只是某个或者某些人设计出来就可以强塞给我么?我一度感觉非常迷茫。
但是借助高中的学霸基础,我并没有被这种迷茫所左右,我依然跟随着课堂,并没有挂科或者厌学,我只是在尝试思考这些问题,尝试找出其中本质所在。我是在大二期间隐约有了一些系统化的思考结果。我觉得以下几点是导致我迷茫的关键点:
1.没有目标或者场景的单向知识灌输。比如讲软件工程以及开发项目管理的时候,概念先灌输了一大堆,大多数东西对我来说神秘莫测。理想的方式,是给出一个场景,比如从一个idea开始,到一个产品基本构思,然后落地到实际的开发任务,在模拟开发过程中,逐渐引出软件工程以及项目管理方面的各种知识,犹如彻底体验了一次,形成深刻印象。这就是我认为的所谓场景教学。而目前的状况是本末倒置,由经历过这些场景的人总结抽象出知识点,失去了支撑这些知识的原有场景、背景、历史,变成了完全孤立的天书,而恰恰是这些辅助信息,至关重要。当然不可否认的是这些知识点都是精华,但是直接把别人的精华生生灌输到大脑中,就会成为自己的精华么?我认为完全不可能,这种填鸭式的灌输结果,只能生成无用的“脂肪”。我作为一个学生,不敢指点老师,也不敢质疑教材中的知识,但是我作为一个被灌输者,对知识学习过程是有发言权的。再举一个可能不太妥当的例子,为什么大学生对网游如痴如醉,有些甚至通宵不顾学业?仔细思考,网游的强烈目标驱动可能是原因之一,比如一些所谓极品装备,多少人为了获得这些无非就是游戏公司数据库中的一条记录的装备,而耗尽了大好青春?而如果计算机知识也能做到如此吸引人去探究,那才是对抗网游的最佳方法。
2.知识点之间完全孤立,找不到联结点。比如C语言,为什么要有这么多数据类型(int,char,float等)?不同数据类型定义好之后,后面又是怎么处理的?如果不定义数据类型会怎样?C语言、汇编语言、机器指令、CPU之间是怎么联系起来的?我写了一段C语言程序,它被编译执行的全过程是怎样的?软件怎么就能控制硬件了?如果上面这些解释不清,我有何动力来写这段C语言代码?我就感觉自己像僵尸一样任人摆布。我憧憬中的C语言应该是这样的:先介绍汇编语言出现的背景,然后介绍C语言是为了解决汇编语言可读性差的问题,然后发现有了函数后,可读性和可维护性更好。当然,介绍汇编语言的话就得先介绍CPU执行这些机器码的基本过程,把这些背景以及大致框架原理都介绍清楚之后,起码在后续认知上不会留坑。知识之间如果缺乏关联,那么读者脑海中无法形成一个框架,只局限在一个小范围内,而出了这个范围完全不知所措。
3.语言乏味不接地气。比如计算机组成原理,几乎所有教材都以介绍其历史、多么强大的功能等为开端。每当看到这些,我就感觉如同嚼蜡。我觉得导致这一点的关键原因之一,就是没有场景化教学。丢失了背景、场景、历史信息之后,单纯围绕抽象后的知识点来介绍,可想而知,所用的语言就只能是抽象晦涩的,想用丰富接地气的语言也用不起来,因为根本没法用。每当看到这些晦涩无味的描述我就在想,这一切到底和我有什么关系?计算机很强大,具体怎么强大的?CPU、内存、显示器是怎么串到一起的?计算机为什么能实现AI?如果能够放在书的最后而不是一开始就铺概念、铺技术点,这才符合常规的思维。任何总结、抽象,都应该放在具体介绍之后,而不是之前,放在前面只能一下子在作者和读者之间形成一道屏障。
作为计算机专业,几年来看了不少书,坊间经常看到这样的调侃,深入人心:
《计算机体系结构从入门到绝望》
《计算机组成原理从入门到放弃》
《计算机操作系统原理从入门到崩溃》
《计算机图形学从入门到跑路》
《高性能计算机集群从入门到入土》
《计算加速从入门到入坟》
《计算机存储系统从入门到住院》
《计算机网络从入门到懵逼》
《机器学习从入门到窒息》
……
2018年,一个偶然的机会,当我第一次在技术群里看到一本名为《大话计算机》的书的内容简介和ppt后,就没有一刻不在期待着这本书的问世。该书的作者是冬瓜哥,他也是另一套图书《大话存储》系列的作者。冬瓜哥时常在群里和大家调侃顺带推销他的这本书。我看了目录和一些内容试读之后才意识到,这本书,我要好好看。
2019年4月这本书一上市我就买了,作为学生党,这是我买过的最贵的书。快到月底,终于收到!不敢造次,详细记录下开箱始末:
厚厚的一个黑匣子:
开箱要冷静,别让溢出的知识冲昏了头脑!三本精装书+一摞思维导图!
封面金灿灿!感觉不认真研读,首先对不起这个包装!
海报,海报,海报!!!
全彩色印刷,纸张一流,铜版纸的质感,但是不太反光,不刺眼!!!
还有好多二维码,扫码链接附加资源,音频视频图片啥都有!
OK,这套书硬件上的阅读体验堪称一流,简直是一本艺术品。作为理工专业的我,眼前一亮,或许之前看的书,在阅读体验上,都太平庸了。
现在开始研究内容!
随着阅读本书的第1、2、3章,发现之前我的认知框架竟然也是不全的,有太多地方竟然是真空,如果拿着这种根底去找工作,谁知道会栽在哪里,有可能刚一站起来就散架了。
首先,这本书语言直白却没啥废话,没有教科书般的一大堆晦涩难懂的术语定义,但是专业术语却又经常穿插其中,有的不明白的术语,很快就会得到解释,可以感受到作者试图站在读者的角度上去解释专业知识的用心。语言直白不废话,逻辑严谨,不会让人因为看不明白而心情烦躁——从入门到崩溃,对于我等小白,作为入门到专业这条路上的科普书籍最适合不过。
还有我个人最喜欢的一点是——书中的知识点是跟着问题的产生并引出来的,使得内容十分连贯紧凑。我个人将它作为故事书看,因为内容真的是连贯,从计算机如何实现1+1侃侃而谈到现在的计算机.....
我印象很深的一件事是,我之前到处询问一个数学建模问题——x射线穿过均匀材料物质时,有某方程,但是如果穿过的是不均匀的呢?我去咨询考研党,他居然也不知道能用线积分解决,但是我们的确都会解线积分,而就是不知道能应用在这,这就很尴尬啊,学的东西,会解,考试能过关,却不知道这个知识能干什么?这就是我们所学习的孤立的知识之间无法建立起框架的另一个佐证。
所以我个人就觉得这本书挺适合我这类人的——这本书使用不断反问,提出问题,并且引出那些我们或许熟悉或许陌生的知识点。让我们知道这个知识点,为什么出现在这,解决了什么问题。
再者,也是我最喜欢的一点就是,图真的超级多的.....你懂的,当我拿到这本比砖头还重的书的时候,我的内心是拒绝的,因为我家中也有一本这样的砖头书——《史记》,图超级少的书让我这个非历史爱好者看了几页就闲置在书架上了...实在惭愧。然而《大话计算机》这本书的图够多,讲真,每两页必有图出现,图也很良心,从未见过这种细致而清晰的图,这种图,黑白印刷估计体验就差多了,很多流程就会糊涂了。
看看,如果黑白印刷,通过颜色区分的流程完全无法辨认了,彩色贵点我也认了。
一本书的质量如何,除了作者解释问题的语言功底、内容的深浅,我认为还有书籍的图的质量,图是重要的辅助读者理解的工具。
书中有数电,模电,电路等纯硬件的知识内容,也涵盖了相关软件的内容,软硬混合的计算机网络、计算机组成原理等计算机专业要学习的内容也有涉及。我觉得它是一本很给力的教科书。我心中的好教科书是什么?是能让读者知会知识,引导读者的才是好教科书,而不能仅仅只是单纯记录这些知识。
关于书籍的专业性,我只是个学生,不是行业专业人士所以我不做评价。只不过对于我这个半吊子爱玩arduino的学软件的学生而言,这本书的确让我入了底层软硬件部分知识的门,提供了我一个很明确的方向。
而且讲真,上网一搜,我感觉和硬件技术相关的博客比起软件技术而言真的太少了。查询数电等书籍得到的又是我看不懂的长篇大论,大部分教科书的货太干太硬啃不动。引用某位校长的观点“大学本科通专兼顾,重心应在通而不在专。”我本人不聪明,阅读《大话计算机》最大的收获就是—— 至少“通”了,大致知道计算机到底是个怎么回事,以及我专业的每一门固定课程之间有什么关系。
直白,连贯的语言,以及不断发问的传授知识的方式,软硬件知识恰到好处的融合和过渡,再加上丰富的图,我也写博客,知道写这些东西其实挺费时费事的,何况还要一个人把图弄好....。在此由衷感谢作者能将你会的知识,以这么通俗易懂的方式呈现给像我这样不知道如何入手计算机底层、如何将计算机相关知识关联在一起的人。而且书籍的前期编写工作还是一个人完成的,可以说十分用心了!
最后,关于定价,前面说过,史上最贵。打完折也要450,但是,我认为,你可以请朋友吃顿饭,可以两年换一个手机,为什么不能花点钱重新奠定你的IT基本功呢?与其花大量的时间去网上找资料找答案,为什么不一站式解决你的IT困惑呢?另外,我始终认为,免费的东西,不会去珍惜,不会投入感情去钻研。
看了三章,浏览了全书,我得出的结论是:
这本书,值得推荐!