java程序员修炼之道pdf_新⼿程序员成长之路的五本必读书籍
(附资源下载)
全⽂共3351字,预计学习时长7分钟
图⽚来⾃Pixabay,IvanPais
书籍可以清晰⽽有条理地陈诉观点,纸张上的笔墨也会给⼈⼀种不慌不忙的感觉。不过,科技类书籍存
在⼀些严重的问题:它们⼏乎很快就过时了。由于缺乏交互性,此类书籍⽆法实时展⽰其概念(或让读者玩味这些概念)。它们的带宽相对较低——例如,需要将长代码⽰例分解为很⼩的块,⽽阅读这些书便成了件苦差事。
部分科技书籍多年来不断应对挑战,保持实⽤性。这些书籍不再传授最新编程框架的技术细节,⽽是阐明软件开发理念,传授最佳编程技术与设计技术,向你介绍软件⾏业的⼯作感受,告诉你成为⼀名程序员意味着什么。本⽂将列举五本相关书籍供你学习参考。
后台回复“20191005”即可获得电⼦版图书下载链接。
1. 《程序员修炼之道》(The Pragmatic Programmer)
第⼀版发⾏后,⼀本与编程有关的书籍可以在20年后继续保持实⽤性吗?可以,如果这本书具有代码编写技术的永恒智慧的话。
《程序员修炼之道》能启发程序员,更为深⼊地思考如何应对挑战、与其他⼈合作以及成为效率更⾼的程序员。
书中解释了如何对抗软件衰减——使每个⼤项⽬中的代码逐渐陷⼊混乱的强⼤⼒量。该书简单介绍了单元测试和重构,并对调试(不要惊慌!)做出合理建议,可有效解决问题,⽽不会伤害任何程序员⾃尊。《程序员修炼之道》可帮助你学习⼀些很酷的程序员术语,⽐如“正交性”。
该书⼤约有300页,看起来似乎并不长,但内容紧凑。幸运的是,你⽆需从头读到尾。每次打开书,浅尝⼀下,便可能会得到⼀些实⽤的建议。
总结:除了《程序员修炼之道》之外,还有⼀⼩部分关于代码的经典书籍每个⼈都喜欢推荐(或⾄少在
桌上摆放着)。其中⼀本是⽐尔盖茨最喜欢的睡前读本《代码⼤全》。同《程序员修炼之道》⼀样,《代码⼤全》提供了宝贵建议,但篇幅更长,内容有点枯燥,读起来更像是⼀本教科书。《代码整洁之道》也是⼀本质量较⾼的书,书中部分内容与其他书有所重合,虽然初读时会感受到时间的痕迹,以及其对Java的密切关注,但绝对值得⼀读。
2. 《编码的奥秘》(Code: The Hidden Language of Computer Hardware and Software)
如果你写了⼀本让程序员和对编程好奇的外⾏⼈同样感兴趣的书会怎么样?《编码的奥秘》就是这样⼀本书 ——对计算机创造奇迹的⽅式展开探索。
java编程开发高清pdf
没有亲⾃读过,就很难理解《编码的奥秘》这本书。我们都读过有关计算机如何运作的书籍,通常伴随⼀些图表和⼀⾏⾏1和0在内的代码,但这本书并⾮如此。《编码的奥秘》深⼊研究计算,从莫尔斯代码开始,最后到构成CPU原理图。该书读起来像⼀本⼩说——虽然旁⽩⾮常详细。
《编码的奥秘》的主题为在电⼦产品中进⾏信息编码的⽅式。很多时候,该书险些成为多余但有趣的历史教材。但拉开帷幕后,你会突然发现该书与编码息息相关,在阅读过程中⼀直都在学习现代计算机。《编码的奥秘》的作者是编码界的传奇⼈物Charles Petzold,也是向倍感沮丧的程序员解释Windows API的⾸批开拓者之⼀。(“在Petzold中查”在当时成为⼝头禅。)⼏⼗年后,他对WPF中的3D编程展开了相似的研究。WPF颇具吸引⼒,但⼏乎每个⼈都忽略了其棘⼿程度。
底线是什么?如果你对电⼦产品内部如何运⾏,以及代码为何这样编写颇为好奇,那么《编码的奥秘》这本书就可以帮你解开谜团。
3. 《点⽯成⾦》(Don’t Make Me Think)
这本书讲述了计算机编程的真相。⽆论是否愿意,每个程序员或早或晚都会设计或运⾏⽤户界⾯。虽然程序员也是⽤户,即便创建⼀个有逻辑、可⽤的界⾯是⼀项简单任务,但程序员们的⾸次尝试可能并不尽如⼈意。
设计问题就像冰⼭⼀样——从顶上看起来很⼩,但底部出⼈意料地巨⼤与危险。许多程序员讨厌设计,因为他们不能使⽤⾃⾝独特的技能,⼀旦决策失误,呈现出的结果就会令⼈不适。这就是《点⽯成⾦》成为⼴受欢迎的指南的原因。
《点⽯成⾦》⼀书对优秀设计展开探索。书中多是⽹站⽰例,但其建议适⽤于任何类型的软件——或⼈类制造的任何类型的产品。《点⽯成⾦》的真正诀窍在于激活你已有的、内⼼深处的那些知识,并将其付诸实践。学着像可⽤性⽅⾯的专家⼀样思考,是⼀件很有趣的事。事实上,超级有趣。⽽《点⽯成⾦》这本书是其中最为轻松、有趣的⼀本。
4. 《编程⼈⽣》(Coders At Work)
《编程⼈⽣》旨在传达的观点就是:谈论代码很重要,与程序员交谈也很重要。该书记录了对15名认真出⾊的程序员展开访谈的内容。
⼤多数在职程序员可以分享⼀些有⽤的建议。但是《编程⼈⽣》能让你与JavaScript的创造者Brendan Eich、Unix的设计师Ken Thompson这样杰出的程序员交流,就像你正在与这个星球上最成功的⼀些程序员展开⾮正式的对话。你将发现他们如何应对挑战、解决问题、编写代码以及对未来展开预测。
看看他们会在哪些⽅⾯产⽣分歧——有时颇具戏剧性,也很有趣。例如,Dan Ingalls谈到当他在⾯对新挑战时如何⽴即开始编码,⽽Joshua Block则在编写单⾏代码前仔细绘制API。Donald Knuth更是厉害,他描述了⾃⼰在使⽤计算机前是如何⽤铅笔写出完整的排版系统TeX。
《编程⼈⽣》每⼀章都以访谈形式撰写,感觉更像是⼀系列杂志⽂章,⽽⾮⼀本关于编程理论的重要书籍。但是,花在这些程序员⾝上的时间越多,就越能了解在众多不同领域⼯作的程序员的感受。
5. 《现实世界漏洞追踪》(Real-World Bug Hunting)
不对安全性的某些⽅⾯进⾏深⼊研究,就⽆法列出完整的编程书籍清单。这⼀⽅⾯包含很多好的主题。每个程序员都可从中受益,学习加密基础、⿊客⼊侵⽹络的⽅式以及有助于代码防御攻击的最佳实践。但如果想要覆盖很多内容,⽽不⽤陷⼊过多理论,那么《现实世界漏洞追踪》就是⼀个不错的选择。
《现实世界漏洞追踪》⼀书真实描述了坏⼈攻击程序的最常见⽅式。阅读后,您会发现验证效果不佳
的输⼊可以摧毁数据库或破坏⽹站,恶意⽹站会传染健康⽹站,⿊客能够使⽤泄漏内存控制计算机。有些读者可能觉得这些场景的技术性太强,但这些都是⿊客攻击的事实——现实世界是最好的⽼师。
总结:
每个程序员都应该⾄少学些密码学——有关安全通信、⾝份验证的科学。关于这个主题的书籍有很多,有些历史悠久,有些是充满数学元素的教科书,令⼈⽣畏。学习初期,要轻松⼀点,建议阅读带插图的《密码学漫画教程》。更经典的⽅法是阅读由⾄少三位以上世界领先的密码学家撰写的、具有开创性的《密码学设计》。如果想休息⼀下,真⼼推荐《杜鹃蛋》⼀书,书中讲述了天⽂学书呆⼦(偶然间成为计算机专家)Clifford Stoll和他在伯克利实验室检测到的⼀名俄罗斯⿊客的故事,读起来令⼈欲罢不能。这本书也是最适合夏季带去海滩阅读的。
作为⼀名程序员,总会觉得⾃⼰离⾝后即将到来的变⾰与新技术海啸仅有半步之遥。但每隔⼀段时间暂停⼀下,从不断追赶新框架、新语⾔中休息⽚刻也很重要。阅读任意⼀本上述书籍,将收获与软件开发技术和职业相关的更为开阔的视⾓,进⽽提升编写代码的能⼒。
留⾔ 点赞 关注
我们⼀起分享AI学习与发展的⼲货
如需转载,请后台留⾔,遵守转载规范

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。