• 程序员学习路线和学习书单


    学习路线

    大概分为四大块:

    1. 编程语言(能写代码)
    2. 程序设计(能写好代码)
    3. 计算机底层(能做别人做不到)
    4. 计算机理论(能做别人想不到)

    编程能力在学习和工作过程中是螺旋上升的,编程语言->程序设计->计算机底层->计算机理论->编程语言->… 因为一下啃完一整块是不现实的。PS: 在最后追加了一个数学

    • 编程语言

    编程语言系列C是必学的,然后可以根据编程范式语言类型有目的地去学习,比如面向对象C#、Java。学完编译型还可以选择一门脚本型语言,比如Lua,Python。
    其中C++系列的书都不会太简单,坑非常非常深,慎入。
    这里没提太多,因为很多用到就搜高分著作,搜到就学,也没太多特别好的书,基本都当做工具书使用

    • C语言

    C程序设计语言 : 第 2 版·新版

    • C++

    C++ Primer 中文版(第 4 版)
    深度探索C++对象模型
    C++反汇编与逆向分析技术揭秘
    Effective C++中文版
    C++设计新思维 : 泛型编程与设计模式之应用
    C++语言的设计和演化

    • 程序设计

    如果过了第一个坎,那么恭喜,这里都比较轻松,比较偏向感性哲理一些,这里需要大量练习与反思
    主要看前两本就可以了,因为程序设计不是理论有多难多深,而是要通过多练习,将它们运用起来,内化起来,才能掌握的。另外学完之后还要了解一下UML和领域设计。
    另外第三本作者松本行弘的一句话“程序设计就是语言设计”是影响我程序设计思路最深的,感兴趣可以看看。
    深入浅出设计模式(影印版)
    冒号课堂 : 编程范式与OOP思想
    代码的未来 : 代码的未来
    UML精粹 : 标准对象建模语言简明指南
    代码大全(第2版)
    程序员修炼之道 : 从小工到专家
    程序员的思维修炼 : 开发认知潜能的九堂课
    卓有成效的程序员 : 一本揭示高效程序员的思考模式,一本告诉你如何缩短你与优秀程序员的
    禅与摩托车维修艺术
    编程珠玑 : 第2版

    • 计算机底层

    这里属于好奇者的天堂,功利者的地狱。看完这里,过去很多迷惑都会消失,了解很多计算机系统是如何搭建起来的。
    除了《深入理解计算机系统》(俗称csapp)之外,其他都是可以躺在沙发上就能轻松看完的好书(误)。

    汇编语言(第3版)

    最好的汇编教材,没有之一,感谢王爽老师。我看的时候还是第一版

    编码的奥秘

    从手电筒开始,教你构建cpu,真正的深入浅出,作者非常牛逼

    计算机的心智 : 操作系统之哲学原理

    语言生动有趣,对操作系统有个感性的认知

    Linux体系与编程

    简单了解Linux与Linux源码

    Orange'S:一个操作系统的实现

    手把手实现操作系统

    编程语言实现模式

    手把手实现编译器

    程序员的自我修养 : 链接、装载与库

    把程序启动的过程拆解给你看

    图解TCP/IP : 第5版

    比TCP三卷要轻松易读很多,不会陷入到细节里面

    深入浅出Networking

    通过精心安排的案例教你怎么组建网络

    奠基 : 计算机网络

    教你怎么组建更加复杂的网络

    深入理解计算机系统

    建立计算机系统的大局观

    • 计算机理论

    可能对日常工作帮助不大,但了解完这块之后,能够了解很多事情的前因后果。
    这块理论都不好啃,但这些书都已经非常平易近人、生动有趣。

    • 可计算性

    类似于科普著作,讲计算机诞生的故事。
    逻辑的引擎
    这本书讲到了计算的本质,对比另外一本书《计算的本质》,你就知道这本书有多好。
    图灵的秘密 : 他的生平、思想及论文解读

    • 函数式编程

    对话体课本,边学边练,轻松愉快掌握lisp。 只有英文版,不过非常简单。 完全颠覆对递归的认识,并且能让你平时写代码更加优雅简洁。
    The Little Schemer - 4th Edition
    The Seasoned Schemer
    The Reasoned Schemer

    • 算法

    算法导论(原书第3版)
    算法竞赛入门经典

    • 数学

    这块也是不好啃,所以深入浅出的书非常少。
    一定要做习题!
    一定要做习题!
    一定要做习题!

    • 线性代数

    在游戏引擎里面学线性代数特别容易,可以拿个Unity对着写就好了
    3D数学基础 : 图形与游戏开发

    • 统计学

    应用数学之王,必学的分支,并且对未来人工智能的学习有帮助
    深入浅出统计学

    • 微积分

    微积分是数学的主干,是必定要掌握的。尹逊波老师的《工科数学分析》课程是我上过最好的数学课,感谢中国大学MOOC和网易。

  • 相关阅读:
    平凡的世界
    MySql启动,提示:Plugin 'FEDERATED' is disabled....Cannot allocate memory for the buffer pool
    MySql开启慢查询报错:Could not open /var/log/slow_query.log for logging (error 13).
    ie浏览器,背景色兼容解决方法
    基于Bootstrap、Jquery的自适应导航栏
    chmod、chown、chgrp的意思
    Can't connect to MySQL server on localhost (0)
    mysql-bin引起mysql不能启动
    文件类型检测
    从数据库中查询规则
  • 原文地址:https://www.cnblogs.com/qiaogaojian/p/6682469.html
Copyright © 2020-2023  润新知