疫情封锁期间值得一读的3本编程书籍
无论是 O'Reilly 出版的书籍,还是计算机科学经典著作,许多编程书籍都能帮助你提升作为开发人员的职业水平。
当你刚开始学习软件开发,或者学习像 Python 这样的编程语言时,这一点尤其重要。
最近几个月对我们很多人来说都非常艰难和压力巨大,毕竟世界末日似乎就要发生了。
既然如此,何不利用这个机会,用我们新获得的空闲时间加倍努力学习,读一些编程书籍呢?
现在或许是提高效率、加倍努力的时候。正如保罗·格雷厄姆所说:
“如果有可能让自己成为一名伟大的黑客,方法可能是与自己达成以下协议:你永远不必从事枯燥乏味的项目(……),作为回报,你永远不允许自己敷衍了事。”
事不宜迟,让我们来看第一本书。
用 Python 自动化枯燥乏味的工作
如果你是编程新手,那么在早期阶段,你还会意识到软件的巨大潜力,尤其是在应用于自动化方面。
手动执行简单任务和使用脚本以一千倍的速度完成任务之间有很大的区别。
还有一种观点认为,Python 是软件开发入门的最佳语言,因为它的语法和环境比 C 或 Java 更容易上手。这样一来,你就可以减少花在“设置”上的时间,从而专注于真正重要的事情:解决实际问题。
我认为《自动化枯燥的工作》这本书真正区别于该领域的其他编程书籍:它从一开始就向你展示了你可以用 Python 脚本或代码解决哪些典型的日常问题。
从基本的程序流程和逻辑到更高级的任务(例如网络爬虫),本书将一路陪伴你从初学者到熟练者,而不会过多地手把手地指导。
那本书里我最喜欢的项目是“处理剪贴板内容”这一章里的项目,它教你如何以编程方式复制和粘贴文本,最终创建一个可以存储多个文本的超级剪贴板。
我对这本书有很深的感情,因为我还在读高中时就用它学习 Python,当时我正在考虑是否要学习计算机科学。
如果你在办公室工作,并且正在考虑转行做程序员,那么这本书很适合你。
这里有一个关于如何自动化处理亚马逊繁琐事务的链接。
算法导论(科尔门)
对于每一位计算机科学专业的学生来说,Cormen 等人的《算法导论》就是我们的圣经。
这本书在我的书架上放了好几年了。
它帮助我准备了很多考试,或者每当我需要在面试前复习数据结构时,它都能派上用场。
特别是如果你打算在没有大学学位的情况下进入软件开发领域,那么这本书绝对是必读之作。
这本计算机科学书籍是对基础数据结构和算法最全面的研究。
它涵盖以下内容:
- 算法复杂度(这是我目前为止见过的对大O符号的最佳解释)。
- 排序算法(多种排序算法)。
- 图和图相关算法(特别是二叉树)。
- 哈希表和哈希算法。
- 动态规划、贪婪算法、分治算法。
这些主题以及其他许多主题都以通俗易懂的方式进行了解释,同时又兼具数学上的严谨性和正确性。不仅如此,它们还经常出现在日常工作和面试题中。
请注意,这是一本大学级别的教材,其中包含大量正式证明和数学符号。
即便如此,我认为大多数开发者都会同意,这本书读起来很有趣(如果你觉得数据结构不好玩,那你一定要选对职业!),而且对大多数概念的解释都非常清晰简洁。
如果你需要了解哈希表的工作原理,或者想要从头开始构建二叉搜索树,或者只是需要在面试前快速复习一下排序算法,那么这本书正适合你。
和以前一样,这里是Cormen 等人撰写的《亚马逊算法入门》的链接。
说到采访……
破解密码面试
好吧,听我说完。如果你是从零开始,我认为《Automate the Boring Stuff》是学习 Python 和编程最实用的入门书籍。
如果你想深入了解更高级或更理论性的计算机科学概念,例如算法和数据结构,那么科尔曼的《算法导论》无疑是最佳选择。
然而,归根结底,有些技艺只能通过实践和练习才能学会。
正如查尔斯·达尔文曾经说过的那样:
“我一直认为,除了傻瓜之外,人们在智力上并没有太大差别,差别只在于热情和勤奋。”
如果你觉得自己处于那个阶段,那么你能做的最好的事情就是多加练习,练习各种不同的题目。
这正是《破解密码面试》(CTCI,朋友们可以这么称呼它)所能提供的。
当然,第一章更多地涉及软件面试的“软性”方面(再说一遍,如果你最终打算申请软件工程师职位,那么你也应该掌握这些方面!)。
但本书的其他部分呢?一章又一章,全是直接取自谷歌、微软或Facebook面试流程的趣味性十足且极具挑战性的题目。而且,这些题目还按类别划分,方便你一次练习一个主题。
想提升你的比特操作技巧吗?CTCI 有专门的章节供你参考。
想练习快速思考并判断哪种数据结构适合每种问题设置吗?CTCI 也能满足你的需求。
读完《CTCI》并完成所有练习后,我的确感觉自己的软件面试技巧有所提升。然而,这绝对不是最重要的。我从《CTCI》中获得的最宝贵的东西是实践:动手实践,通过编写代码解决各种各样的问题。
首先,请务必在亚马逊上查看《破解密码面试》这本书。
结论
目前为止,我已提出以下建议:
- 这是一本非常注重编程语言的编程书籍,适合初学者入门。
- 这是一本更偏学术性或更全面的书籍,适合理论性较强的读者。
- 最后一本非常实用的书,包含大量练习,适合所有编程爱好者,无论新手还是老手。
这些编程书籍都让我受益匪浅。有些书甚至不止一次地救了我一命——或者说,帮我度过了考试难关!
当我准备面试或参加一场艰难的考试时,没有比这本书更适合我的了(不过,如果你读到这里,心想“嘿,他没提到!”,现在就是你大显身手的时候了!在评论区告诉我,我一定会把它添加到我的阅读清单中)。
我希望这些书中至少有一些也能对你或你的程序员朋友们有所帮助!
这些书你读过吗?你正在读吗?请在评论区告诉我你的想法!
我很想知道你的意见,不管你喜欢还是不喜欢。特别是如果你能推荐你认为更好的替代品就更好了!
如果你想进入数据科学或机器学习领域,请查看我之前的文章《机器学习书籍助你提升数据科学家水平》。
如果您感兴趣,我们也可以在Twitter、Medium或dev.to上讨论这些书。
我很想听听您的意见!
(友情提示:以上所有链接均为亚马逊联盟链接。如果您购买,我会获得少量佣金。但我只会评论我真正读过并且真心推荐给别人的书籍。)
这篇文章《疫情封锁期间适合初学者阅读的 3 本编程书籍》最初发表于Data Stuff网站。
文章来源:https://dev.to/strikingloo/3-programming-books-for-beginners-to-read-during-lockdown-1fln