前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员最佳书籍(2020终极列表)

程序员最佳书籍(2020终极列表)

作者头像
用户6543014
发布2020-05-06 16:34:19
6510
发布2020-05-06 16:34:19
举报
文章被收录于专栏:CU技术社区CU技术社区

今天推荐的这些书仅与编程有关,而编程知识众多计算机科学领域众多主题中的一个。

第一:编程语言程式设计概念

  • Python
  • Java
  • C++
  • Go

第二:软件工程工艺

第三:数据结构和算法

第一:编程语言

在本节中,我将介绍与基本编程概念和特定编程语言相关的书籍。

我选择了行业中使用最广泛的编程语言,这些语言不是特定于领域的。

01

编程概念

《计算机程序的结构和解释》(在业界也称为SICP)是一本经典的书,它教编程的基础知识。

该教科书是麻省理工学院编程课程的入门课程。

尽管本书使用Scheme作为编程语言来说明编程概念,但它并不是有关Scheme编程语言的书。

您应该把这本书看作是一本使用Scheme来说明一些编程概念的通用编程书。

如果您想从本书中获得最大的收益,那么拥有这种心态至关重要。

这么说,您是否应该从这本书开始您的编程学习的旅程?

我个人更希望您不是从SICP开始的,建议在阅读本书之前先学习一种或两种具体的编程语言。

但是请不要误会我的意思,这本书是必读的。

02

Python

Python是一种广泛使用的编程语言,我认为它不会在短期内放慢速度。

如果有的话,它将变得更大。

Python也是最容易入门的语言之一。

根据您的级别,以下是我推荐的Python书籍列表。

《Python Crash Course》

如果您是绝对的初学者,建议您尝试一下Python Crash Course。

我之所以推荐这本书,是因为它是基于项目的。

换句话说,这不是一本无聊的书,因为对于绝对的初学者来说,看一本书会十分无聊,不足以继续看下去。这本书的缺点是它不全面。您将快速启动并运行,但是它不会教您需要学习的Python方面的所有知识。

《Learning Python》

与Python速成课程不同,《学习Python》是一本非常全面的书,它详细介绍了Python编程语言。

它不采用Python Crash Course所采用的基于项目的方法,而是采用了更为传统的语言教学方法。

如果您是初学者,那么两本书籍都读并不会出错。

《Fluent Python》

《Fluent Python》:绝对不适合胆小者使用。

当您对Python编程技能变得非常熟悉并且想要提高自己的水平,将技能提高到一个新的水平之后,这本书成为了高级Python程序员的终极书选择。

03

Java

Java是业界广泛使用的另一种语言。

恰当的例子:Hadoop、Spark、Kafka和ElasticSearch都是完全使用Java编写的广泛使用的分布式系统。

我个人是从著名的Core系列中学到Java的。

《Core Java 》

《Core Java 》是一本关于Java基础的好书。

通过大量的示例说明和代码示例,教你学习Java编程语言的基础知识。

《Core Java Advanced》

《Core Java Advanced》是上一本的免费书籍。

它涵盖了《Core Java》中未涵盖的一些高级主题。

《Effective Java》

对于每个Java程序员来说,《Effective Java》都是必不可少的书。

本书不是关于语言本身的内容,而是关于编写专业高质量代码的最佳实践。

本书提供了大约80种最佳实践,可以使您的代码更整洁、更易于阅读且更加习惯。

04

C ++

我爱C ++

主要是因为这是我在大学中学到的第一门编程语言

但是如今,大学生开始使用C ++编程是比较少见的。

造成这种情况的原因是,与Python或Java相比,C ++是一种相对较难学习的编程语言。

实际上,我同意从Python或Java开始会是一种更好的策略。

但是,C ++仍然被广泛使用并且非常重要,尤其是当您对底层内核编程或嵌入式系统编程感兴趣的话。

举例:Windows、Mac OS、Linux都是用C ++(和C)编写的

至于我最喜欢的书,我真的很喜欢C ++ Primer。它写得很好并且内容也相当全面。

05

GO

Go非常酷。

该语言完全由Google设计,并且以非常快的速度增长。

它已经在流行的开源项目中使用。

恰当的例子:Kubernetes、Docker和Consul都是用Go编写的。

那里没有很多关于go的书,但是我拥有并推荐的书是Donavan和Kernighan撰写的The Go Programming Language。

二:软件工程工艺本节中列出的书有所不同

它们不是关于学习特定的编程语言。

实际上,他们更倾向于教授软件工程的工艺和艺术。

换句话说,这些书涵盖的主题只有通过您的专业和行业经验才能遇到。

因此,此处讨论的主题通常不在学校教授,可以节省你通过反复试验的学习时间。

让我们逐一浏览这份我最喜欢书的清单,看看它们涵盖了哪些主题以及它们为何重要。

《Code Complete》

您不可能一口气读完《Code Complete》。

这本书是一本全面的指南,我认为,阅读这本书的最佳时间是在您开始第一次实习或工作之前。

例如,本书涵盖了从软件开发的基础、创建和改进高质量软件到软件开发过程中可能出现的潜在问题以及如何避免这些问题的所有方面。

《The Pragmatic Programmer》

《The Pragmatic Programmer》是程序员的神圣书籍之一。

虽然本书涵盖了许多概念,但它深入研究了大多数程序员(应该)使用的永不过时的软件开发实践。

这是一件无庸置疑的作品,吸引了每个人的常识,其适用的解决方案和建议给人留下了深刻的印象。

在不知不觉中,您将成为"信徒"和务实的程序员。

《Clean Code》

《Clean Code》提供了对软件开发和代码清除一个容易理解的见解。

本书提供了有价值的信息以及编写、清理和重构代码的分步说明。

它不仅解释了为什么编写简洁的代码至关重要,而且还提供了许多实际示例。

抛开理论,Clean Code向您展示了如何解决摆在许多程序员面前的实际问题。

因此,您可以避免多年的尝试和错误,并从其他程序员的错误中学习。

第三:数据结构和算法

《 Introduction to Algorithms (CLRS)》

在算法和数据结构方面,关于涵盖该主题的最佳书籍的争议不大。

毫无疑问,它是介绍算法。

如果您想听起来很酷,并且使用术语,则可以将其称为CLRS。

该缩写是常用的,指的是本书的作者(Cormen,Leiserson,Rivest和Stein)

《Data structure and Algorithms in Java》

CLRS使用与语言无关的方式编写。本书中的大多数代码都是伪代码。

即使这些天我实际上并没有做太多的Java工作,但我还是有这本书的,阅读和理解很有趣。

这本书是CLRS的不错的伴侣书,但它绝不是替代书。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SACC开源架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 《Learning Python》
  • 《Fluent Python》
  • 《Fluent Python》:绝对不适合胆小者使用。
  • 《The Pragmatic Programmer》
  • 《The Pragmatic Programmer》是程序员的神圣书籍之一。
  • 《 Introduction to Algorithms (CLRS)》
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档