原文:.NET程序员走向高端必读书单汇总html
现在程序开发工做愈来愈简单(丰富的API、智能的IDE、愈来愈多的开发框架),普通人经过简单的训练,经过组合和复制就能完成众多程序的功能。所以程序员这种过去高技术职业的代名词,如今却如此低贱,被称之为码农。借用微观经济学原理,当供应量增长而需求不变时,价格平衡点将下移,所以普通程序员工资愈来愈低。并且大街上众多的培训机构还不停的产出,能够预料到不久未来价格平衡点还将下移(不考虑通货膨胀等因素)。那么做为有远见的程序员更应该增强本身内功,成为不可替代品。看书是对本身最有效的投资方式,我整理了已经看了和准备看的书籍,并按知识点分门别类供你们参考和讨论。java
计算机科学与技术是一门庞大而复杂的学科,不可能了解完全部内容,但能够经过知识树梳理了解整个领域的核心知识,为后续应用作好准备。mysql
若是将计算机科学与技术当作是武学的话,左边部分是内功,右边部分则为招式。武学高手能够用简单的招式发挥出巨大的威力,是由于内功的强大。所以要了解整个计算机科学与技术的全貌须要从内功开始。程序员
不少作应用系统的程序员会以为数学基本上没有用,由于在系统中基本没有用过。但实际上数学是整个计算机的基石,所以对数学的了解不可或缺。若是是从事机器学习、数据挖掘、计算机图形学的更须要较强的数学功底。算法
英语是程序员最重要的语言,大部分的技术书籍、协议、会议等均是英文,所以须要了解第一手的资料须要很强的英文读写能力,英语学习是一个按部就班的过程,可利用碎片时间学习。sql
语言表达主要是书面和口头,须要培养逻辑严密、语言流畅的语言表达能力。这个主要靠多写多练好比在博客园上写文章(像我如今同样),多和同事朋友美女交流。数据库
计算机系统的组织结构,以 冯·诺依曼模型做为基础,是计算机的硬件基础。编程
核心知识点c#
参考书籍设计模式
不少人以为如今应用系统根本就不须要数据结构,高级语言早已经封装好了,不须要学习。这个问题类比于若是只干搬砖砌墙的活,熟练掌握工具那也就够了。可是要想设计建筑的话,物理是必须学的。
核心知识点
穷举算法
、贪心算法
、分治算法
、回溯法
、数值逼近
查找算法
、排序算法
、哈希表
、图算法
、最小生成树
列表
、树
、图
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
数据结构与算法分析 | 《数据结构与算法分析》 https://book.douban.com/subject/1139426/ | 通常 | 精读 |
算法描述语言入门 | 《c和指针》 https://book.douban.com/subject/3012360/ | 通常 | 精读 |
解释下为何要把《c和指针》放到这里,由于我的以为全部算法与数据结构描述语言中c是最爽的一种(没有之一),而且在《c和指针》中不只讲解了c语言,更对简单的数据结构和算法作了讲解,很是漂亮。建议必定在正式学习《数据结构与算法分析》前先看这本。
操做系统中的不少概念须要了解,好比进程、线程、资源互斥,在实际开发中不少地方都须要用到。
核心点:
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
操做系统原理 | 《现代操做系统》 https://book.douban.com/subject/3667744/ | 较难 | 泛读 |
计算机和远程通讯网络尤为是基于TCP/IP网络的发展,使得联网技术变得十分重要。
核心知识点
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
计算机网络 | 《计算机网络》 https://book.douban.com/subject/1179807/ | 较难 | 泛读 |
HTTP协议 | 《图解http协议》 https://book.douban.com/subject/25863515/ | 简单 | 精读 |
信息管理技术在计算机的各个领域都是相当重要的 , 它包括了信息获取、信息数字化、信息的表示、信息的组织、信息变换和信息的表现 ; 有效存取算法和存储信息的更新、数据模型化和数据抽象以及物理文件存储技术.
核心知识点
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
数据库基础 | 《数据库系统概念》 https://book.douban.com/subject/1929984/ | 较难 | 泛读 |
mysql数据库 | 《高性能Mysql》 https://book.douban.com/subject/4241826/ | 通常 | 精读 |
这个主要到程序领域了,本文以.net平台为例。
核心知识点
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
虚拟机技术 | 《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网站 | 简单 | 精读 |
软件工程学科涉及到为高效率地构建知足客户需求的软件系统所需的理论、知识和实践的应用。 软件工程适用于各种软件系统的开发 , 它包含需求分析和规约、设计、构建、测试、 运行和维护等软件系统生存周期的全部阶段。软件工程使用工程化方法、技术和度量 , 它使用管理软件开发的工具、软件制品的分析和建模工具、质量评估与控制工具、确保有条不紊且有控制地实施软件演化和复用的工具。 软件可由我的开发者或者开发小组进行 开发 , 他们 要选择 最适合 开发 环境 的工具、方法和途径。质量、进度、成本等软件工程的要素对软件系统的生产都是十分重要的.
核心知识点
参考书籍
分类 | 书籍 | 难度 | 重要度 |
---|---|---|---|
软件设计 | 《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/ | 通常 | 精读 |
以上书籍是计算机科学上须要学习的书籍的整理,部分看过,也有不少还没看过或没看完,并且因为知识有限还有不少书籍或知识点没有例出。但愿能够有更多朋友一块儿来完善这个书单,让咱们每一个人均可以享受到知识所带来的乐趣。
我相信,只要合理利用时间,坚持学习,在加上科学的方法,定可得到愈来愈多的知识,一样的财富也会随之而来。