编程科普书籍推荐

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 古人云:“书中自有黄金屋,书中自有颜如玉。” 说明我们的老祖先在很久之前就认识到读书的价值。在古代读书还真是挺奢侈的一件事情,第一,书太少了,古代其实总共就没有多少书籍;第二书籍不容保存,全部使用竹卷来书写,如果要读现在的一本书,相当于古代读了一牛车的车,不知道是不是这个原因古代人喜欢用文言文和诗词,可以让几个词语代表很多意思,所以在古代能读上书的基本都是富人了。到了

古人云:“书中自有黄金屋,书中自有颜如玉。” 说明我们的老祖先在很久之前就认识到读书的价值。

在古代读书还真是挺奢侈的一件事情,第一,书太少了,古代其实总共就没有多少书籍;第二书籍不容保存,全部使用竹卷来书写,如果要读现在的一本书,相当于古代读了一牛车的车,不知道是不是这个原因古代人喜欢用文言文和诗词,可以让几个词语代表很多意思,所以在古代能读上书的基本都是富人了。

到了近代,也就是在互联网没有出现的时候,是读书最好的年代,书籍是很多人了解外面世界的唯一途径,那时书籍也不是特别丰富,所以大家也不挑,拿到一本就专心致志的读起来,也不管对自己有用还是无用,没有太多的功利性。当时读书要不是为了增长见识、就是为了消磨时间而已。人们之间经常的借书还书,慢慢的发展成为书友的一种特殊人际关系,有的还会给陌生的人写信成为笔友。

到了互联网发展起来的时候,特别是自媒体发展火爆之后,读书已经成为了人们的二等选择,甚至很多的技术人员会说,我不需要买任何的一本书,因为互联网上有我需要的任何东西,有一段时间我也是这样认为的。在现在生活压力越来越大的情况下,人们的心态会发生一些变化,很难平静下来或者沉下心来好好的去看一本书,另外人们的时间越来越碎片化,很难有整段的时间用来读书,甚至很多大V会推荐碎片化阅读,碎片化学习、碎片化时间管理等。

那么当今社会读书的意义是什么?因为我是搞技术的,首先从技术的角度来看为什么要读书,如果需要系统全面的了解一门知识的话,需要去读书。比如Mongodb的使用,基本的增删改查网上的例子一大堆,但是当我们需要深入或者全面去了解MongoDB的时候,网上的知识就比较凌乱或者太碎片了,我们只需要看一本《MongoDB权威指南》就立刻在脑海中对MongoDB有一个全方位的了解,如:MongoDB设计的原理是什么,如何监控,MapReduce可以解决什么样的问题等等。

对于搞技术的同学,特别建议大家不要只看技术书籍,更多应该关注其它方面的内容。读科普类的书籍可以让你了解世界的广阔、时间的永恒,代表作:人类简史、智能时代;读文学类的书籍可以认识人类思想艺术的精华,代表作:三国演义、平凡的世界;读网络小说可以让你了解人的想象力居然可以如此的丰富,代表作:盗墓笔记、鬼吹灯。太多了,不再一一举例了,作为技术人员跳出自己的视角去看待问题,可能就会有不同的收获,最重要的是我们的生活不只是代码。

读书多了久了,读过的书会改变你的容颜,改变你的气质和修养,你的举止和谈吐也会受到读过书籍的影响,很可能你都没有意识到,这是一种潜移默化的行为。读书也是打破自己局限性最廉价,最有效的途径之一,可以参考我前期文章思维的局限。但读书也不是盲目的,一定要找适合自己的,经典的书籍,经典书籍永不过时。适合是第一,经典是第二,再怎么经典不适合自己也没有用,看了也没有感悟,如果书读了一段时间不感冒可以立刻放弃,那么多书总有适合自己的,不需要勉强自己同时又浪费了时间。

下面推荐一些,我个人喜好的几本书籍

技术类

作为技术的同学,总会感觉有一段时间内,技术遇到了瓶颈,总是不能提高,这个时候就需要多看技术书籍了。因为我本身是搞Java的,所以看的技术书籍大都是关于Java类的。

深入理解Java虚拟机

是关于JVM一本好书,基本上也是了解JVM必看的一本书籍,文章写的很详细和专业,但是也有一些章节比较难懂,大家可以根据自己的需求选择感兴趣的章节来阅读。还有一本《Java性能权威指南》也是一本不错的选择,但是还么来得及细看。

核心内容:Java类的加载机制、JVM内存结构、垃圾回收原理、垃圾回收算法、内存溢出和调优、程序编译与代码优化等。

Java并发编程实战

被大家评论为Java并发的圣经。但是这本书并不是人人都适合读,书中对于并发的理论性知识描述的特别多,也会从最根本的底层来解释并发的原理。相比于这本书我更推荐一个人的博客,《深入浅出 Java Concurrency》 作者重点介绍了JUC(ava.util.concurrent)中各类以及常用的使用方法,特别偏重实践。因此本书+此博客结合起来学习Java并发是最好的方案了。

Effective java 中文版

本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。java经典书籍之一。

Spring揭秘

搞Java的如果不了解Spring,那么你基本不用再Java这个圈子里面混了,Spring发展到现在已经成Java程序员谁都无法绕过的框架了,关键Spring做的确实太牛了。这本书主要描述了Spring框架原理和使用,先介绍了Spring最核心的两块内容Sping IOC和Spring AOP概述及其实现机制,接下来介绍了Spring ORM框架的支持,Spring MVC的使用以及原理,最后介绍了Spring对j2ee的支持。基本上Spring最核心的部分都有介绍,如果你想了解Spring这绝对是一本好书。

重构

这应该是代码重构中,最优秀的一本书籍了。重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。本书通过详细介绍了几十中实战的重构方式,书中以Java代码为例来举例,但不仅仅于Java,其它编程语言也都可以参考。其实我一直认为:好的代码不是写出来的,而是重构出来的。重构是提高个人编程能力的重要手段之一,不断的去回顾自己写过的代码,看还有没有重构提升的空间。

研磨设计模式

设计模式是什么呢?Patterns,顾名思义,具有某种重复性规律的方案。Design Patterns,就是设计过程中可以反复使用的、可以解决特定问题的设计方法。可以这样比喻:设计模式就是古代武林中精妙的招式(武林秘籍),其实也是一种解决问题的思想,前辈根据经验总结了23种武林招式,在某种场景中使用某种设计模式必定会事半功倍,少趟很多坑。另外特别推荐csdn的一个博客Java之美[从菜鸟到高手演变]之设计模式,例子浅显易懂,非常适合快速入门型的学习。

《研磨设计模式》详细介绍23设计模式中的一本书,书本比较厚,代码示例也比较多,可以作为了解设计模式的一本读物。

科普类

智能时代

吴军老师新作,我刚刚看完的一本书,吴军老师知识特别的渊博,从各个角度阐述了对人工智能的理解,开始讲了人工智能的60年来主要的发展历程,以及为什么现在是人工智能时代的爆发点。从思维的角度来分析人工智能给人民会带来的影响,很多事情的改变最先是思维的改变,人工智能也是如此。文中指出人工智能会像蒸汽机、电、信息革命一样会给人类带来大的历史变革,在商业上也会带来非常大的影响,未来只有2%的人会参与其中,我们多数人只是会变成使用大数据的人。

这本书会让我们对人工智能有一个总体的了解,在思维上对人工智能会有一个不同的认识,好书,强烈推荐。

浪潮之巅

从一百年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和Google公司都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。本书系统地介绍了这些公司成功的本质原因及科技工业一百多年的发展。

浪潮之巅,其实就一本IT行业巨头发展史,最初写于Google的黑板报,后来流行后整理成书,是了解IT行业发展的一本科普类书籍。

大数据时代

大数据带来的信息风暴正在变革我们的生活、工作和思维,大数据开启了一次重大的时代转型,并用三个部分讲述了大数据时代的思维变革、商业变革和管理变革。
大数据时代最大的转变就是,放弃对因果关系的渴求,而取而代之关注相关关系。也就是说只要知道“是什么”,而不需要知道“为什么”。这就颠覆了千百年来人类的思维惯例,对人类的认知和与世界交流的方式提出了全新的挑战。

本书主要介绍,大数据对我们生活、工作、思维的影响

科技之巅

《麻省理工科技评论》从2001年开始,每年都会公布“10大突破技术”,即TR10(Technology Review 10),并预测其大规模商业化的潜力,以及对人类生活和社会的重大影响。
这些技术代表了当前世界科技的发展前沿和未来发展方向,集中反映了近年来世界科技发展的新特点和新趋势,将引领面向未来的研究方向。其中许多技术已经走向市场,主导着产业技术的发展,极大地推动了经济社会发展和科技创新。

人类简史

作者,尤瓦尔·赫拉利,1976年生,牛津大学历史学博士,现为耶路撒冷希伯来大学的历史系教授,青年怪才,全球瞩目的新锐历史学家。

这本书从人类的十万年前讲到现在,从兽欲,到物欲,从兽性、人性,到神性。是一本观点新颖、思维宏观、融会贯通的人类历史书籍,可以说它颠覆了所有人类简史类的文章。作者的视野太开阔了,从最初的人类——一种也没什么特别的动物到发展为智人,靠虚构的故事形成组织规模性合作,站上食物链的顶端,经历认知革命、农业革命、科技革命最后智人物种或将升级为神,书中内容包罗万象,涉猎面极广,融合金钱、帝国、宗教,以及作者独特的视角剖析。

未来简史

当以大数据、人工智能为代表的科学技术发展的日益成熟,人类将面临着从进化到智人以来最大的一次改变,绝大部分人将沦为“无价值的群体”,只有少部分人能进化成特质发生改变的 “神人”。未来,人类将面临着三大问题:生物本身就是算法,生命是不断处理数据的过程;意识与智能的分离;拥有大数据积累的外部环境将比我们自己更了解自己。如何看待这三大问题,以及如何采取应对措施,将直接影响着人类未来的发展。尤瓦尔又一力作,还在拜读中。

推荐大家阅读纸质书籍,为了便于大家试读我这里都有电子版本(大部分为非PDF格式),需要的话请在CSDN留言并私信给我或者公众号里面回复:“书籍”

你最喜欢的一本书籍是什么?请在文章下面留言给我。


作者:纯洁的微笑
出处:http://www.ityouknow.com/
版权归作者所有,转载请注明出处

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
4月前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
92 0
|
3月前
|
算法 开发者 Python
探索代码之美:从小白到大师的编程旅程
【9月更文挑战第15天】本文将带领读者走进编程的世界,从最初的困惑与挫败,到逐步掌握编程技能并发现其乐趣。我们将通过具体案例和代码示例,展示如何从基础语法学习,到解决实际问题,再到优化代码的过程。这不仅是技术上的提升,更是一个思维和解决问题能力成长的故事。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的见解和启发。
|
4月前
|
自然语言处理 程序员 Windows
【杂谈】关于大学生学习编程好用的工具
【杂谈】关于大学生学习编程好用的工具
|
7月前
|
设计模式 存储 算法
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
135 1
|
7月前
|
自然语言处理 Java 编译器
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
116 1
|
IDE 开发工具 开发者
跟我从0学Python —— 走进编程的世界
Python,这门由Guido van Rossum于上世纪90年代初创造的编程语言,如今已经成为全球最受欢迎的编程语言之一。其简洁、易读、强大的语法,使得它成为了许多初学者以及专业开发者的首选。
|
存储 Java 程序员
一起啃书(C Primer Plus 第六版)--数据和C<附大量编程题>
一起啃书(C Primer Plus 第六版)--数据和C<附大量编程题>
152 0
|
存储 程序员 C++
C++入门详细笔记(共八章)(上)
C++入门详细笔记(共八章)
97 0
C++入门详细笔记(共八章)(上)
|
JavaScript Java 编译器
编程简单科普系列 - 什么是编程 (1)
广义上来说,编程也不仅仅是指关于计算机的范畴,现在通常也指可以diy的东西,可以通过自己想法进行自定义的东西。当然我们这里所说的是指计算机编程. 因为计算机是不能直接听懂我们人说话的,没办法直接沟通,所以我们需要通过编程语言来跟计算机进行沟通,通过编程语言把我们想表达的转化为计算机能听懂的,在这里编程语言就相当一个翻译(比如,我们不会英文,准备要和一说英文的外国人谈生意,这时候就需要找一个英文翻译,替我们把想要表达的中文翻译成对方听得懂的英文。)其实严谨点这个比喻说也不准确,因为编程语言一般是需要通过编译器或者解释器编译解释之后,才能为计算机所识别. 每个计算机编程语言,都有自己的编译器或者解
366 0
|
存储 Unix Java
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)

热门文章

最新文章