学编程要看的那些书——“源栈”书单 20190202

更多
2019年02月02日 12点45分 作者:叶飞 修改

经常有童靴要推荐“学编程的书籍”。说实话,飞哥已经很多年没看书了:新技术的学习,一般都是直接看官方文档。然后自己捣鼓捣鼓就OK了。另外呢,个人觉得,零基础入门的同学,学编程看书不是一个好选择(天赋异禀的除外),所以没有什么可以推荐的。


但现在办起了“一起帮·源栈”线下培训基地,觉得还是要有几本书来充充门面。于是去图书馆借了几本书(“源栈”离重庆图书馆这么近,步行可到,不充分利用一下真是太可惜了)。结果运气还挺不错!有好几本非常经典的书籍都借到了。




应童鞋们的要求,再挨个介绍一下吧。(多图预警,^_^)。



如果“经典”就是“经得起时间检验,历久弥新”的话,《人月神话》应该是当之无愧的“经典中的经典”!大家从封面就可以看到,这是“40周年纪念版”,啥意思呢?就是这本书已经出版了40周年了。事实上,《人月神话》成书于1975年。要知道计算机技术日新月异,别说40年,就是4年前的书都可以说“过时”了。

书里面的很多“金句”,现在仍然到处都可以看到,比如:“没有银弹”,“向进度落后的项目增加人手,只会使进度更加落后”,“优秀程序员的效率是差劲程序员的十倍”……

当年我听到这本书的名字的时候,是有点懵逼的,脑海里浮现出来的大概就是“狼人”“月亮”之类的画面,不知道为什么一本讲编程的书会是这种名字?哈哈。其实“人月”是一种计量单位,意思是:开发一个项目,需要多少个人花多少个月。比如一个项目的工作量是60个人月,就是:60个人花1个月的时间,或者12个人花5个月时间,或者1个人花60个月的时间。注意!注意:这本书批判的就是这种当时流行(其实现在也差不多)的概念。能把“人”“月”等同起来,很多时候,加人不能加快项目进度,甚至有可能拖累项目进度!

有点背离常识,但经过40年的实践检验,这就是事实。

总体来说,这是一本不涉及具体技术,纯项目管理的书籍。里面所讲的东西,需要具有一定的项目团队开发经验,才能够逐渐体会。初学者读起来可能有点“空”,但是基于两个原因:1)向经典致敬;2)我们的课程安排中也有“系统架构和项目管理”这一部分,我还是把它放在篇首,推荐给大家。



《重构——改善既有代码的设计》,这本书,如果还不能被称为“经典”,那么也是在“成为经典”的过程中。作者是大神Martin Fowler,他还有另外一本《企业应用架构模式》,一样是经典之作。

经常有同学问,“怎么才能写出搞质量的代码?”答案当然就是看这本书了。好代码是“改”出来的,这个改,更规范的说法就是“重构(refactor)”。我个人认为,哪怕是初学者,也可以甚至应该仔细阅读本书,从一开始就养成良好的编码习惯,比后面来纠正(实际上太多程序员根本就意识不到也不会纠正)要好得多。

读这本书,你就会明白:好代码,是写给人(不是电脑)看的。最好的代码,是简单清晰的,而不是晦涩难懂的。



这本书其实飞哥还没有看过。

但我希望,通过这本书,向同学们传达一个意思,或者期望:有机会的话,还是可以了解一些原理性的、理论性的知识。大家都知道我是“实战派”,但实战派并不是完全的拒绝理论。我们只是提倡“先实践再理论”或者“边实践边理论”。熟悉我的同学都知道,飞哥是通过了软考《软件设计师》的,计算机原理、编译和操作系统,数据结构和算法……这些东西,不光是学过,而且是考试通过的。也正因为有这样的底气,我才敢旗帜鲜明的为“野生程序猿”代言,向科班叫板:你们学过的,我都学过,凭什么就比你们差?!同样的,也有底气批评当下大学计算机教育“重理论轻实践”的做法。

选择这本书,一是因为它“世界著名计算机教材精选”的Title,另外就是因为它的目录,第一章讲的就是“系统和复杂性”。这个高度非常高,很多很多的“理论派”都没有明白这一点,当下软件开发的核心问题就是处理系统中的复杂性问题。软件是一个“系统”,意味着它的内部不是离散的堆砌的,而是有机的彼此牵连的;正是这种“系统性”带来了“复杂性”,我们为什么要“分层”“抽象”“封装”……,都是为了处理“复杂性”的问题。

整本书快速翻看了一下,有些烧脑,希望源栈能有一些“有天赋”的同学,能够看得下去。



哈哈,有没有有点晕?《深入理解网站优化》其实讲的是SEO技术,接近于销售/市场;《如何成为优秀的用户体验设计师》当然讲的是设计UI方面的事情。

“源栈”ASP.NET开发培训,怎么会有这种书?

其实我一直都在讲一件事情,不知道大家懂没懂。不管是你上大学的专业,还是现在培训的技术,都不一定是你最后的职业方向。最理想的人生,是做自己喜欢做的事,当然做这件事能养活自己。但我究竟最喜欢什么最适合什么,只有我们尝试了一下,甚至“好几下”之后才会明白。比如飞哥,大学专业是国贸,毕业后做律师、创业做家装,最后才做程序员。是不是走了很多弯路?是的。但后不后悔?不后悔,我觉得我比很多人强。比那些一直不知道自己喜欢做什么,或者一直做着自己不喜欢做的事情的人强。

找到自己的方向或者定位非常重要。但怎么才能找到?借用软件工程里的一句话:对未来开放。其实不用过早的把自己限定在一个方向,给自己给未来无限可能性。比如说你本来是来源栈学编程,但因为两本书,你发现了自己在UI在SEO方面的天赋,你不可救药的爱上了这玩意,然后改变了你的一生——我觉得这种结果比你学会了ASP.NET编程更好,好一百倍!最幸福的事,就是找到了自己的真爱,不是吗?

当然,SEO和UI和ASP.NET技术本身是相关的。ASP.NET就是建站嘛,建一个什么样的网站,需要UI方面的知识;网站建成之后,还需要推广让大家知道,这就是SEO的事情了……



终于等到了ASP.NET相关的书籍了,O(∩_∩)O哈哈~

大家可能关心的MVC和.NET core都在这里,当然还有C#。这些书籍都是参考,飞哥的课程安排都是自己设计的,和这些书没关系,当然考验借鉴。

注意的是:

  • 《C#敏捷开发实践》,敏捷开发,在过去几年,七八年前吧,曾经比较流行,很受追捧。当目前看来,问题仍然很多,可行性仍然很低。我记得是看到过一篇新闻报道,敏捷某一位的倡导者承认了这一点的。但是,这不妨碍我们试着去理解“敏捷”的思想和意图,以及一些实践方法。
  • 《.NET设计规范》,这可以算是一本在.NET领域的经典之作了。既有原理,也有实践,很多公司的编码规范都是直接借用本书,很值得一读。


(未完待续)

编程 计算机 图书 源栈 书单
赞: 183 踩: 0

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 2
2019年02月11日 23点30分 --- 第 2 楼 --- 乔布斯的同学

精选
飞哥好,好久没来了!
2019年02月11日 23点43分 --- 第 1 楼 --- 推荐 叶飞

--- 回复: ---

是啊!节前一直忙着招生……
叶飞的系列文章

源栈培训:ASP.NET全栈开发

飞哥的源栈培训:线上全程直播,免费收看;线下拎包入住,按周计费。本系列收录所有讲义(含视频录播地址)

编程那些事:菜鸟入门

大飞哥倾力之作,面向有意入行IT/开发/编程的初学者,欢迎任何形式的留言建议……

从包工头到程序猿

真实故事,讲述我在家装公司关门之后,如何转行成为一个程序猿的故事。(《折腾》第三卷)

《折腾》(卷一)青涩

时间段:从大学毕业到开始创业。离开青葱校园,涉世之初的那些往事……

《折腾》(卷二)风雨 之(1)工地

我一个完全的门外汉(无论装修还是管理),开始给黎叔装修房子。从踌躅满志,到四处碰壁;从一往直前,到左右为难……

《折腾》(卷二)风雨 之(2)胸怀

作为一个律师,接工程没签合同,被狠狠的坑了一把!年轻人暴烈的想要复仇,黎叔教他一个企业家的胸怀……

《折腾》(卷二)风雨 之(3)渠道

成立了公司,招聘了员工,开始大力的拓展业务,一个接一个的坑,摔倒了又爬起来……

《折腾》(卷二)风雨 之(4)视野

经历残酷现实的磨砺,终于明白:干啥事,都不能闭门造车,人要走出去,开阔视野……

未分类

系统自动生成的未分类系列

一锅大杂烩

从律师到包工头,从码农到写手,读书交友生活创业,各种零零碎碎,乱七八糟……

人人都是程序猿

计算机编程普及课程,视频:https://space.bilibili.com/55410301/#/channel/detail?cid=49491

全部
关键字



帮助

反馈