.NET程序员走向高端必读书单汇总

时间:2023-01-13 00:15:58

如今程序开发工作越来越简单(丰富的API、智能的IDE、越来越多的开发框架),普通人通过简单的训练,通过组合和复制就能完成众多程序的功能。因此程序员这种过去高技术职业的代名词,现在却如此低贱,被称之为码农。借用微观经济学原理,当供应量增加而需求不变时,价格平衡点将下移,因此普通程序员工资越来越低。而且大街上众多的培训机构还不停的产出,可以预料到不久将来价格平衡点还将下移(不考虑通货膨胀等因素)。那么作为有远见的程序员更应该加强自己内功,成为不可替代品。看书是对自己最有效的投资方式,我整理了已经看了和准备看的书籍,并按知识点分门别类供大家参考和讨论。

一、知识树

计算机科学与技术是一门庞大而复杂的学科,不可能了解完所有内容,但可以通过知识树梳理了解整个领域的核心知识,为后续应用做好准备。

.NET程序员走向高端必读书单汇总

如果将计算机科学与技术看成是武学的话,左边部分是内功,右边部分则为招式。武学高手可以用简单的招式发挥出巨大的威力,是因为内功的强大。因此要了解整个计算机科学与技术的全貌需要从内功开始。

1. 基本能力

.NET程序员走向高端必读书单汇总

1.1 数学

很多做应用系统的程序员会觉得数学基本上没有用,因为在系统中基本没有用过。但实际上数学是整个计算机的基石,因此对数学的了解不可或缺。如果是从事机器学习、数据挖掘、计算机图形学的更需要较强的数学功底。

1.2 英语

英语是程序员最重要的语言,大部分的技术书籍、协议、会议等均是英文,因此需要了解第一手的资料需要很强的英文读写能力,英语学习是一个循序渐进的过程,可利用碎片时间学习。

1.3 语言表达

语言表达主要是书面和口头,需要培养逻辑严密、语言流畅的语言表达能力。这个主要靠多写多练比如在博客园上写文章(像我现在一样),多和同事朋友美女交流。

2. 计算机组织与体系结构

计算机系统的组织结构,以 冯·诺依曼模型作为基础,是计算机的硬件基础。

核心知识点

  • 数据的机器表示
  • 汇编级机器组织
  • 接口和通信
  • 存储系统
  • 多处理器

参考书籍

3. 算法与数据结构

很多人觉得现在应用系统根本就不需要数据结构,高级语言早已经封装好了,不需要学习。这个问题类比于如果只干搬砖砌墙的活,熟练掌握工具那也就够了。但是要想设计建筑的话,物理是必须学的。

核心知识点

  • 算法策略:穷举算法贪心算法分治算法回溯法数值逼近
  • 基本算法:查找算法排序算法哈希表图算法最小生成树
  • 基本数据结构:列表

参考书籍

分类 书籍 难度 重要度
数据结构与算法分析 《数据结构与算法分析》 https://book.douban.com/subject/1139426/ 一般 精读
算法描述语言入门 《c和指针》 https://book.douban.com/subject/3012360/ 一般 精读

解释下为什么要把《c和指针》放到这里,因为个人觉得所有算法与数据结构描述语言中c是最爽的一种(没有之一),并且在《c和指针》中不仅讲解了c语言,更对简单的数据结构和算法做了讲解,非常漂亮。建议一定在正式学习《数据结构与算法分析》前先看这本。

4. 操作系统

操作系统中的很多概念需要了解,比如进程、线程、资源互斥,在实际开发中很多地方都需要用到。

核心点:

  • 内存管理
  • 设备管理
  • 调度算法
  • 并发性

参考书籍

分类 书籍 难度 重要度
操作系统原理 《现代操作系统》 https://book.douban.com/subject/3667744/ 较难 泛读

5. 计算机网络

计算机和远程通信网络尤其是基于TCP/IP网络的发展,使得联网技术变得十分重要。

核心知识点

  • 网络分层(Tcp/ip 4层结构)
  • 网络传输安全
  • HTTP协议

参考书籍

分类 书籍 难度 重要度
计算机网络 《计算机网络》 https://book.douban.com/subject/1179807/ 较难 泛读
HTTP协议 《图解http协议》 https://book.douban.com/subject/25863515/ 简单 精读

6. 信息管理

信息管理技术在计算机的各个领域都是至关重要的 , 它包括了信息获取、信息数字化、信息的表示、信息的组织、信息变换和信息的表现 ; 有效存取算法和存储信息的更新、数据模型化和数据抽象以及物理文件存储技术.

核心知识点

  • 数据建模
  • 数据库系统
  • 关系型数据库系统(Mysql最佳)

参考书籍

分类 书籍 难度 重要度
数据库基础 《数据库系统概念》 https://book.douban.com/subject/1929984/ 较难 泛读
mysql数据库 《高性能Mysql》 https://book.douban.com/subject/4241826/ 一般 精读

7. 开发语言及框架(以.net平台为例)

这个主要到程序领域了,本文以.net平台为例。

核心知识点

  • CLR
  • 面向对象程序设计
  • Web编程

参考书籍

分类 书籍 难度 重要度
虚拟机技术 《CLR via c#》 https://book.douban.com/subject/4924165/ 较难 精读
面向对象程序设计 《敏捷软件开发 c#版本》 https://book.douban.com/subject/1140457/ 一般 精读
C#语言 《深入解析c#》 https://book.douban.com/subject/4822302/ 一般 精读
《c#与.net4高级程序设计》 https://book.douban.com/subject/6062550/ 一般 精读
ASP.NET 《asp.net高级程序设计》 https://book.douban.com/subject/6428937/ 一般 精读
JavaScript 《JavaScript权威指南》 https://book.douban.com/subject/10549733/ 一般 精读
《JavaScript模式》https://book.douban.com/subject/11506062/ 一般 精读
《javaScript语言精粹》https://book.douban.com/subject/3590768/ 一般 精读
HTML&CSS w3c网站 简单 精读

8. 软件工程

软件工程学科涉及到为高效率地构建满足客户需求的软件系统所需的理论、知识和实践的应用。 软件工程适用于各类软件系统的开发 , 它包含需求分析和规约、设计、构建、测试、 运行和维护等软件系统生存周期的所有阶段。软件工程使用工程化方法、技术和度量 , 它使用管理软件开发的工具、软件制品的分析和建模工具、质量评估与控制工具、确保有条不紊且有控制地实施软件演化和复用的工具。 软件可由个人开发者或者开发小组进行 开发 , 他们 要选择 最适合 开发 环境 的工具、方法和途径。质量、进度、成本等软件工程的要素对软件系统的生产都是十分重要的.
核心知识点

  • 软件设计
  • 软件过程
  • 软件项目管理

参考书籍

分类 书籍 难度 重要度
软件设计 《head first 设计模式》 https://book.douban.com/subject/2243615/ 一般 精读
《企业架构模式》 https://book.douban.com/subject/4826290/ 一般 精读
软件工程 《软件工程》 https://book.douban.com/subject/6047742/ 一般 精读
项目管理 《如何管理软件企业》 https://book.douban.com/subject/4178846/ 一般 泛读
项目管理 《软件项目管理与敏捷方法》 https://book.douban.com/subject/4837350/ 一般 精读

二、学习方法

要想学完以上知识光靠死记硬背是不行的,要有科学的方法,下面书籍包括了科学的学习方法。

分类 书籍 难度 重要度
学习方法 《整体学习》 https://book.douban.com/subject/25783654/ 一般 精读
阅读方法 《如何阅读一本书》 https://book.douban.com/subject/1013208/ 一般 精读
时间管理 《另外8小时》 https://book.douban.com/subject/10535830/ 一般 精读
《把时间当作朋友》 https://book.douban.com/subject/5171244/ 一般 精读
禅修 《正念禅修》 https://book.douban.com/subject/23037911/ 一般 精读

三、后记

以上书籍是计算机科学上需要学习的书籍的整理,部分看过,也有很多还没看过或没看完,而且由于知识有限还有很多书籍或知识点没有例出。希望可以有更多朋友一起来完善这个书单,让我们每个人都可以享受到知识所带来的乐趣

我相信,只要合理利用时间,坚持学习,在加上科学的方法,定可获得越来越多的知识,同样的财富也会随之而来。


作者:帅虫哥 出处: http://www.cnblogs.com/vipyoumay/p/5681982.html

.NET程序员走向高端必读书单汇总的更多相关文章

  1. 【转载】.NET程序员走向高端必读书单汇总

    原文:.NET程序员走向高端必读书单汇总 .NET程序员走向高端必读书单汇总 一.知识树 1. 基本能力 1.1 数学 1.2 英语 1.3 语言表达 2. 计算机组织与体系结构 3. 算法与数据结构 ...

  2. Java程序员转Android开发必读经验分享

    小编最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区 ...

  3. 【转】推荐给初级Java程序员的3本进阶书

    ImportNew 注: 原作者在这篇文章中介绍3本不错的技术书籍.作者认为这些书籍对新手或者学生而言尤其有帮助.通过一些基础性的教程入门后,我们可以使用Java做基础性的编程.然而,当我们需要从初级 ...

  4. ACM竞赛高手比其他程序员水平高很多吗?

    1. ACM是一种很直接的评价程序员水平的体系 2. ACM竞赛会带来很多机遇(深造or工作),同时又是一个不小的挑战 3. 为竞赛而竞赛的事情不可取 详细点击这里

  5. java开发必读 书单

    希望读的书单 重构 改善既有代码的设计 设计模式 可复用面向对象软件的基础 高性能MySQL第3版 Effective Java第1版 Effective Java第2版 Java核心技术I-基础知识 ...

  6. 《编写高质量代码:改善C#程序的157个建议》是C#程序员进阶修炼的必读之作

  7. python程序员面试高概率会遇到的技术问题

    本篇只列举会问到的技术问题.其他的问题会在另一篇文章多年职场老狗的面试经验提到. 1. TCP三次握手和四次挥手的过程 2.HTTP协议的状态码 3.讲一下自己用过的设计模式 4.python的多线程 ...

  8. 程序员、互联网从业者必读KK三大力作之《必然》总结

  9. 程序员、互联网从业者必读KK凯文凯利三大力作之《失控》总结

随机推荐

  1. WindowsFormsHost使用问题

    WindowsFormsHost使用问题 WPF WindowsFormsHost 类 允许在 WPF 页面上承载 Windows Forms控件的元素. 命名空间:  System.Windows. ...

  2. Codeforces Round #328 (Div. 2)

    这场CF,准备充足,回寝室洗了澡,睡了一觉,可结果...   水 A - PawnChess 第一次忘记判断相等时A先走算A赢,hack掉.后来才知道自己的代码写错了(摔 for (int i=1; ...

  3. 教你21天学会C++ (有图有真相)

    这张图,是在一位有十多年开发经验的资深前辈博客里看到的,觉得很有趣,分享之~ 这位大神的博客是:http://coolshell.cn 理论是可行的,当你刚开始学习C++,到第21天的时候出门千万要小 ...

  4. ### core文件使用

    在Linux下程序崩溃,特别是在循环中产生Segment Fault错误时,根本不知道程序在哪出错,这时,利用core文件可以快速找到出错的问题所在. #@author: gr #@date: 201 ...

  5. linux自带有usb驱动,为什么还需要libusb呢

    linux里的软件分为用户层和内核层两种.比如内核里编译了温度传感器的驱动,还得有lm-sensors在用户层负责解释处理内核递交出的数据.usb驱动是硬件驱动方面的东西,libusb是给应用软件开发 ...

  6. javascript第四课变量作用域

    局部变量: function f1() { var n1=0;  //局部变量 n1=10; //全局变量,当前页面均可调用 } n1=10;//全局变量 var n1=10;//全局变量 在方法内的 ...

  7. 【C#】多数组间的取重取余

    string[] arrRate = new string[] { "a", "b", "c", "d" };//A s ...

  8. 事件委托在ios下面失效

    $(document).on("click","目标class",function(){ //安卓下点击可以,ios下面失效 }) 百度了下说是H5新定义的, ...

  9. win10如何一键开启关闭windows Defender(亲测有效)

    win10如何一键开启关闭windows Defender(亲测有效) 一.总结 一句话总结:各种找资料如何开启关闭都没用,直接下载软件简单方便 软件 因为我关windows defender是用的一 ...

  10. UI复习练习_优酷布局

    还记得前一周,细致看了一下我自己的代码,特意看了下代码规范,一个好的代码习惯就应该慢慢增加自己寻常练习中. 看看UI吧 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5 ...