美文网首页
推荐给程序员的七本书

推荐给程序员的七本书

作者: 追梦人在路上不断追寻 | 来源:发表于2021-07-08 16:23 被阅读0次

代码:计算机硬件和软件的隐藏语言

这本书不会教你如何编程,也不会教你如何在科技行业找到工作。

另一方面,这是迈向这一旅程的第一步。很多时候我看到人们在编程方面苦苦挣扎,因为他们缺乏必要的技术精通来完成工作。这本书解决了这个问题。

“计算机处理器做的事情非常简单——它将一个字节从内存移到寄存器,将一个字节添加到另一个字节,将结果移回内存。完成任何实质性工作的唯一原因是这些操作发生得非常快。引用 Robert Noyce 的话说,'在你适应纳秒之后,计算机操作在概念上就相当简单了。'”

即使您已经使用计算机很长时间了,Petzold 也有可能教您一些新东西,或者至少从您以前从未考虑过的角度向您展示一些东西。

这是所有技术的切入点,并且有必要完成您作为一名有成就的程序员的教育。


务实的程序员

在本书中,Andrew Hunt 和 Dave Thomas 为读者提供了一系列提高编程输出的技巧。

这些技巧主要围绕这样一个原则,即编程的核心是协作追求。如果您渴望成为任何类型的软件工程师或程序员,那么您将使用的大部分代码都不是您的。Hunt 和 Thomas 的技巧指导您在这样的环境中工作。

他们的技巧很实用,最好通过实践来学习。当你拿起这本书时,试着慢慢来,并在下次编程时反思作者的建议。这不是一次性阅读,而是关于良好实践的研讨会。

一些例子:

复制

Tip 11: DRY — Don’t Repeat Yourself
Tip 30: You Can’t Write Perfect Software
Tip 44: Don’t Program by Coincidence
Tip 50: Don’t Use Wizard Code You Don’t Understand
Tip 70: Sign Your Work

“实用程序员”为任何使用代码的人提供了宝贵的建议,它应该出现在每个程序员的库中。


算法导论

如果您拥有计算机科学学士学位,您可能已经知道这一点。你可能也经历过一些练习。如果你还没有,请忍受我。

在没有导师的情况下阅读这样的书似乎令人生畏,但不再上学的好处是你可以慢慢来。不管你花多长时间,本书中介绍的基本数据结构和算法对于任何认真对待自己职业发展的程序员来说都是无价的。

当然,作为一名软件工程师,您可以在不记得 QuickSort 的时间复杂度的情况下生存几年。您可以在无法编写 DFS 代码的情况下生存,而无需从 Stack Overflow 粘贴它或使用内置库。

但是过去学校不需要数据结构和算法的概念是幼稚的。它们是程序员解决问题的工具。它们是现代软件工程师的基础。

如果您不熟悉本书(或您选择的算法书)的内容,您就不可能希望成为程序员、软件工程师或计算机科学家。


计算机编程艺术:第 1 卷

与此列表中的前一个条目非常相似,通过“计算机编程艺术”是一项艰巨的任务。很少有人能够始终如一地通读整本书。在前几章中花时间通读所有数学知识的人更少。

我还没有读完整本书,但我仍然不能再推荐它了。它有它的问题,主要是关于 Knuth 的 MIX 语言对现代观众的支持程度,但如果你超越了这一点,他提供了对基本算法和数据结构的难以置信的洞察力和深度。

这本书是对智力和毅力的真正挑战,但它也是大量信息的来源。

比尔盖茨自己说过,如果你读完这本书,你应该给他寄一份简历。值得一试,对吧?


破解编码面试

希望找到一份软件工程师的工作?不管你的答案是什么,这本书还是值得的。

虽然算法和数据结构教科书是必不可少的读物,但它们几乎没有提供实际实践。我知道我在这本书之前列出的两本书都有针对它们介绍的每个概念的无数练习,但有一个问题:你总是知道使用什么工具。

在现实世界中,软件问题不会提示使用什么数据结构、算法或技术。

在解释了基本的数据结构和算法之后(顺便说一句,不要直接跳到这本书),作者在书的末尾增加了两个部分,列出了中等和困难难度的问题。

这些问题以随机顺序出现,并挑战读者找出解决它们的最佳方法。如果您在阅读前面的章节时一直在注意,那么在选择正确的数据结构或算法来解决问题时,您会发现不同的模式和提示。

本书使您成为计算机编程背景下更好的问题解决者,因此即使您不打算很快进行面试,这本书也是必不可少的。


神话般的人月

这本关于软件工程的历史书籍取代了关于管理软件项目的必读书籍。

如果您计划与工程师团队合作,本书中介绍的概念将拓宽您的视野,了解在开发软件的背景下哪些有效,哪些无效。

核心信息是软件工程不能直接与人力与时间直接互换的其他学科相比较。如果有的话,布鲁克斯声称情况正好相反。“好的烹饪需要时间。如果让你等待,那是为了更好地为你服务,取悦你,”布鲁克斯在本书第二章的副标题中引用。

这篇文章和其他十多篇关于软件工程实践的文章有助于让任何程序员了解该学科中的陷阱。本书旨在确保您不会误解自己作为团队、组织和整个技术行业的一部分所扮演的角色。这是一本很棒的书,可以阅读然后巧妙地推荐给您的经理。


生活算法

此列表中的最后一本书并不完全与编写代码相关,而是与检查源自某些算法设计的问题解决技术有关(通过将列表深入列出,您可能已经遇到过)。

这本书的作者在人类心理学和计算机科学之间建立了绝妙的联系,将一些精心挑选的算法背后的基本原理与日常问题联系起来。

程序员有时会怀疑他们正在学习的概念在计算机上编写代码之外的适用性并不罕见。幸运的是,Christian 和 Griffiths 对此提供了答案,将通用算法应用于非计算机科学问题,并对日常问题的答案进行量化。

虽然学习使用算法和数据结构来编写更好的代码是一项值得的追求,但学习如何在文本编辑器之外的上下文中使用它们会使研究它们变得更加有趣。

相关文章

  • 推荐给程序员的七本书

    代码:计算机硬件和软件的隐藏语言 这本书不会教你如何编程,也不会教你如何在科技行业找到工作。 另一方面,这是迈向这...

  • 推荐大家两本书

    推荐给大家两本书,这两本书适合于程序员工程出身的同学。对于大部分程序员来说,编码,设计模式,高性能不是问题,但遇到...

  • 推荐给 Java 程序员的 7 本书

    《 Java 编程思想》 适合各个阶段 Java 程序员的必备读物。书中对 Java 进行了详尽的介绍,与其它语言...

  • 我给鬼脚七写了一封信

    钱丢丢《每天听本书》D31-《没事别随便思考人生》-鬼脚七 2017.7.25 今天想推荐给大家这本书《没事别随便...

  • 旧制度与大革命4.2

    这本书的每一页我都想推荐给你们 本书的每一页我都想推荐给你们

  • 读书 | 互联网思维到底是什么

    这本书我一定要推荐给程序员读,它可以让你具有判断力,能让你更好的看清自己所做的产品是否有前景,所在的公司是否有前景...

  • 程序员客栈Top10有趣作品

    程序员客栈的宗旨是汇聚最优秀的华人程序员,做程序员的经纪人。 我们会不定期整理客栈优秀程序员的好产品推荐给感兴趣的...

  • JVM中的堆、栈、方法区

    这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解JAVA的底层和运行机制有比较大的帮助...

  • 《心里抚养》读书分享

    今天我想把这本书《心理抚养》,由李玫瑾老师写的,作为影子,推荐给大家。 《心理抚养》这本书很值得推荐给大家看看。因...

  • 课例《推荐一本书》马文捷

    一,玩游戏:看图片,猜书名 二、你最喜欢哪本书? 生带了一本书,推荐给大家 思考:如果推荐给别人一本书...

网友评论

      本文标题:推荐给程序员的七本书

      本文链接:https://www.haomeiwen.com/subject/kodtpltx.html