百科问答小站 logo
百科问答小站 font logo



在你自学计算机的路上,哪些书籍对你的帮助最大? 第1页

  

user avatar   lu-luce 网友的相关建议: 
      

首先实名反对高赞推荐的书。这种推荐有三个问题。

第一:只要是计算机专业的人都知道。人工智能不是计算机专业,而是商学院的多元统计分析和自动控制专业的控制逼近算法。基本上属于会计专业和自动控制专业。我不反对人工智能相关领域的书籍,但是请注明该书不属于计算机专业。

第二:有些二傻子公众号不会真的以为看完龙书就懂编译原理啦!!遇到编译原理就推荐龙书的基本上要么就是网络抄袭。要么就是人云亦云。

第三:不知道有些二傻子公众号知不知道,自动机的东西其实只有在编译原理里面一开始的时候会被用到。其实用处不大。除了装B没有任何用处。什么我学习了以后,发现自己对于计算机的理解更深刻了。行了吧。那就是幻像。别自欺欺人了。

我介绍几本书籍。计算机专业就是三门课。下面推荐的所有书都有一个特点就是:直接上源代码。让你看看一个能用的操作系统,编译器,协议栈是怎么做的。源码面前,没有秘密。

建议先看计算机网络。推荐《TCP/IP详解卷2》。之后进阶《Linux网络编程》。。因为其实计算机网络非常简单。就是给数据加数据头和数据尾。俗称穿鞋戴帽。这里面最核心的就是TCP协议。你知道什么叫补码就能看懂。不懂的看看《 组成原理》就行了。

同时,你需要学习C语言。毕竟这个是所有课程中源代码的实际实现语言。

接着推荐学习编译原理。推荐《两周自制脚本语言》。之后进阶《游戏脚本高级编程》。这个其实非常有用。尽管很多人都不太重视这个技术分支。这个的代码量也不是太大。花半年就能学个差不多。

同时,你需要学习各种算法。很多代码中都会遇到。我推荐的是《算法精解: C语言描述》。这本书给每一个算法写了一个例子,你照着敲一遍。所有算法就都会了。

操作系统。推荐毛德操的《Linux源代码情景分析》。之后进阶《深入Linux内核架构》。这个看完一遍不少于三年。我只完成了一部分。

最后,说说《数据库》,这个东西其实和计算机的主干课程关系不大,这个东西主要是一套逻辑。根据所谓的数学证明,这套数据获取方法是完备的。但是这个结论其实没有任何卵用。毕竟我们用就好了。

如果看上面的东西有困难,需要补充数据结构和算法,推荐STL源码剖析。

之后有时间的话,看点自动机的东西。不看也行。就齐活了。

其他计算机系统结构里面偏软件的东西,其实计算机网络里面都有涉及。自动机的东西其实编译原理也用到了。

最后请允许我用一句计算机名言结尾:

Talk is cheap,show me the code。


user avatar   drjinying 网友的相关建议: 
      

这个问题里隐含了一个假设,那就是学计算机要先读书。这个假设是错的。很多学科都要从读书学起。但计算机不同,读书是最后一步。

学习游泳,如果如果老师不让你先下水,反而用语言向你描述胳膊腿该怎样动,你应该会非常抓狂。编程是强实践学科,通过读书来自学计算机与此没什么区别。

学游泳,应该先掌握基本动作,先能游起来。然后教练一点点优化你的动作,让你越来越快。教练不会一股脑的把全部要点都罗列给你。而那些计算机的大厚书也同理。它们让起步阶段承载太多不必要的难度。

这个问题下推荐的书我基本都读过或翻过。不读书看起来政治错误,但不是空穴来风。开始的时候你很容易纠结哪本书能带给我需要的知识。不是这样的,自学的过程你最缺乏的不是找不到信息源,而是坚持不下去。觉得读完这本书我就是大神,这是个幻觉,只是个寄托。

好,这个普遍的误区我已经纠正了。后面说说该怎么自学。

要先实践。实践过程中你会有很多成就感,这给你动力进一步探索。探索过程中你会遇到瓶颈,当StackOverflow无法满足你,这时候再去查阅书籍。

为了你的实践,你可以跟一些网课,那里有设计好的练习作为你实践的内容。什么实践好呢?那种有反馈,有清晰的答案和要求的实践最有效。如果没有清晰的目标和答案,你就没有一个参考去纠正自己,最后只训练了打字速度。在实践的过程中,攻略、总结、W3School这种内容更易读,更容易上手。我自己上过lynda.com的网课,觉得很精良。近年似乎也有优秀的中文网课出现。

如果没有想法,我这里给个例子。你不妨试着写一个扫雷游戏。下面的代码是我几年前写的,里面还有自学时看的视频课链接。通过重复这个练习,你就能体会到那种逐步知道事情该怎么做的过程,这将大大超过读书所得。

我们再回到读书。有两种情况还是需要读书的。第一种是学理论。计算机虽然找工作大多是编程,但理论也是必备的。比如算法与数据结构、计算机组成原理、编译原理、操作系统,这些不太能通过实践学到,就是需要读书和上课。但书里面普遍细节过多,超过了必备的部分,即使科班出身也记不住大部分细节。必备的部分主要在大学课程的PPT里。第二种是前面提到的入门之后的深入拔高阶段。这时候搜索引擎的内容已经无法满足要求。它们能快速解决问题但并不深入。比如,StackOverFlow会让你查查是不是某个参数用错了,而书里可能会讲某个语法的全部用法和注意事项。这时候读书才能继续提高。工作后,选定了技术路线,就应该开始读书,但初学阶段不太需要。

现在有些国内的作者也会出一些比较易读的书,比如xxx从入门到精通一类。这类书也蛮适合入门,一定程度和网络教程很类似。而计算机经典书籍就不同了。你想想技术更迭如此迅速,那些书之所以成为经典,就一定是非常抽象和全面的。也因此必然与日常所需有较大的跨度。




  

相关话题

  现在的我考不上大学,但是我想学计算机可以吗? 
  如何看待 CCF 以「NOIP2021 代码中存在暴戾性语言」将 5 名选手禁赛一年? 
  大学学习linux是安装虚拟机,还是安装双系统。? 
  现在的我考不上大学,但是我想学计算机可以吗? 
  过年父母不断建议我学计算机专业,我希望他们尊重我的想法,我该怎么拒绝? 
  如果世界上某种操作系统马上消失,消失哪种操作系统对世界的冲击最大? 
  为什么很多计算机系的学生一点不会电脑的基本操作? 
  为什么没有普及128位操纵系统的计算机? 
  为什么 ARM 和 MIPS 那么多寄存器,x86 那么少? 
  我是一个几乎没有计算机知识的人,怎样入门计算机? 

前一个讨论
有哪些热量低的碳水可以代替主食?
下一个讨论
英语基础不好,怎么记好单词?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利