程序员需要观看的书籍

2024-06-21 23:48
文章标签 程序员 需要 书籍 观看

本文主要是介绍程序员需要观看的书籍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序员要求是这样的:
1)建立起计算系统的概念,理解计算系统自底向上、逐次构造的过程,了解经典计算系统的工作基础;
2) 了解计算机系统的底层机制,包括数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制等;
3) 掌握结构化程序设计语言基础,包括变量和运算符、类型、表达式、简单I/O、控制结构、函数、数组和指针等;
4) 理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序;
5) 掌握系统地测试小规模程序的技术、方法与工具,掌握程序调试的技术、方法与工具;
6) 了解基本的数据结构与一些简单算法,包括数组、栈、链表、递归、顺序查找、折半查

找、插入排序等。

需要观看的书籍如下:

《数学之美(第二版)》 吴军【摘要 书评 试读】图书
无论如何你要读一本叫做《数学之美》的书,无论你最终要不要从事算法强相关的工作,这本书也许都会给你的决定带来一定的影响。他足够不简单,因为里面很多算法思想支撑了谷歌大部分项目,甚至你所熟知的阿尔法狗,他足够简单,绝对不会让你读起来头疼,起码比起大学高数教材。(关于数学我有很多想法,春节之后我会写相关公众号)

《图灵程序设计丛书:征服C指针》 前桥和弥, 吴雅明【摘要 书评 试读】图书

编程语言我觉得只有C、C++和Java是需要较为深入去学习的,其他全是在既有编程理论的派生。每个学生大一都会学C语言,但是大四的时候往往C语言是他们最不熟悉的语言。这不是这个语言的困难,而是大一的时候没有编程基础,没有计算机操作系统基础所致。C语言是面向过程编程?No,我觉得它是面向操作系统编程。试试读一本叫做《征服C指针》的书吧,指针,是C语言的精华。

《C++ Primer(中文版)(第5版)》 斯坦利·李普曼 (Stanley B. Lippman), 约瑟·拉乔伊 (Josee Lajoie), 芭芭拉·默 (Barbara E. Moo), 王刚, 杨巨峰【摘要 书评 试读】图书

如果你喜欢C++(我认为迄今为止流行语言里面最烂的),《C++ Primer》是一本不错的书,据说还有Plus版本,但是我没看过,不要看谭浩强的书,如果你真的是在学习编程的话。 C++程序员都很自负,自负到这门语言最流行的两本书的中文版都没有中文名字。


《计算机科学丛书:Java语言程序设计(基础篇)(原书第10版)》 梁勇 (Y.Daniel Liang), 戴开宇【摘要 书评 试读】图书

虽然我几乎告别了Java开发,但是作为前Java和Android程序员,在我有限的编码生涯里面,Java是一门在我个人的编程思想上带来很多思考的语言。

入门学习Java建议读一下《Java语言程序设计》,分为基础篇和进阶篇,基本上从语法层面把Java语言讲解的深入浅出了。


《Java编程思想(第4版)》 埃史尔, 陈昊鹏【摘要 书评 试读】图书

当你写了两三千行Java代码的时候,这个时候你对面向对象、多线程、网络、图形都有了一定的认识的时候,可以看一下《Java编程思想》,这本书我前后度过三遍,以后我也许不会写太多Java程序,但是这本书是会时常拿出来看一下的。关于面向对象,关于项目设计,没有比这本书更好的入门书籍了。

毫无疑问,这是一本需要动脑子多过动手的书。虽然极致的面向对象也有问题,但是单纯就面向对象而言,读了这本书就无需其他了。


《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》 周志明【摘要 书评 试读】图书

后来我读了一本叫《深入理解Java虚拟机》的书,这本书需要一定的编译和操作系统知识,这本书对我的价值不在于对Java的理解,而是对很多通用语言,是怎样在PC上运行起来,有了相对清晰的认识。

对了,不要看《疯狂Java讲义》什么的,李刚写的书都是垃圾。安拉啊,这种不会写作的人为什么要纵容他出书?

《第一行代码:Android(第2版)》 郭霖【摘要 书评 试读】图书

学Android的时候我就看过一本《第一行代码》,之后就是看官方文档就好。


《图灵程序设计丛书:图解HTTP》 上野宣, 于均良【摘要 书评 试读】图书

《图灵程序设计丛书:图解TCP/IP(第5版)》 竹下隆史, 村山公保, 荒井透, 苅田幸雄, 乌尼日其其格【摘要 书评 试读】图书

计算机网络超级重要,这句话出自于一个挂了计算机网络这门课的我之口。其实,我觉得重要的是TCP/IP协议族,一定要懂。做web开发很多人都看《http权威指南》,特别是前端工程师。这本书我没看过,有时间会看一下,我看过的是一个日本人写的《图解HTTP》还有《图解TCP/IP》,这两本书不那么厚,深入浅出,我非常喜欢。

《正则表达式必知必会(修订版)》 福达 (Ben Forta), 杨涛, 等【摘要 书评 试读】图书

正则表达式是呼吸,无论你做算法开始做前端还是做后端,不管你学什么语言,正则都是很常用的。《正则表达式必知必会》这本手册很有价值,我手边会一直放一本。

《高性能MySQL(第3版)》 施瓦茨 (Baron Schwartz), 扎伊采夫 (Peter Zaitsev), 特卡琴科 (Vadim Tkachenko), 宁海元, 周振兴, 彭立勋, 翟卫祥, 等【摘要 书评 试读】图书

《MongoDB权威指南(第2版)》 霍多罗夫 (Kristina Chodorow), 邓强, 王明辉【摘要 书评 试读】图书

《SQL Hacks》 Andrew Cumming, Gordon Russell【摘要 书评 试读】图书

你不可能不用数据库。我学数据库就看三本书,《高性能MySQL》、《Mongodb权威指南》还有《SQL Hacks》。也许对除了DBA之外的开发人员,SQL和索引相对是最重要的,所以我选择这几本书。《高性能MySQL》和《Mongodb权威指南》很细致耐心的介绍了这两种数据库是怎样运行的,对于知其然知其所以然很有意义。《SQL Hacks》中文版没有了,你可以选择英文版,这本书是值的购买英文版的,里面有很多写SQL的小技巧。

《PHP深度分析:101个核心技巧、窍门和问题解决方法(原书第2版)》 沙菲克(Davey Shafik), Matthew Weier O'phinney, Ben Balbo, 等, 周广辉, 杨建军, 王春学【摘要 书评 试读】图书

做Web开发的时候,我读过几本PHP的书,唯一一本值的推荐的是《PHP深度分析》,虽然PHP社区标准凌乱的没朋友。(难以忍受,他们好像就不存在标准!),但是这本书讲解的很多开发思路还是比较值得借鉴的。(C、C++、Java之后所有介绍语言入门的书我都不推荐了,都差不多)

《CSS揭秘》 Lea Verou【摘要 书评 试读】图书

后来在奇虎360实习的时候,看到前端团队人手一本《CSS揭秘》,就也买了一本,浏览过,还没细看,这本书也应该值的推荐。


《图灵原创:Go并发编程实战》 郝林【摘要 书评 试读】图书

同样在360认识了一门叫Go的语言,超级喜欢,推荐《Go并发编程》。


后来写过的代码多了,和别人也开始协同开发,见识了各种糟糕的代码,在不断改善代码优雅度的时候,阅读过一些编程艺术的书。

《重构:改善既有代码的设计》 马丁·福勒 (Martin Fowler), 熊节【摘要 书评 试读】图书

《重构:改善既有的代码设计》是一本值的推荐的书,它是用Java写的,相信很多人不会有阅读障碍,而且这本书几乎吹毛求疵指出了所有的不合理的代码设计(这种设计也许以后会伴随你的一生)。


《代码大全(第2版)》 史蒂夫•迈克康奈尔 (Steve McConnell), 金戈【摘要 书评 试读】图书

《代码整洁之道》 马丁 (Robert C. Martin), 韩磊【摘要 书评 试读】图书

《代码大全》和《代码整洁之道》是两本同样类型的书,我一直觉得这种书,应该经常看,每一次阅读都能有新的发现。

《高效程序员的45个习惯:敏捷开发修炼之道 (图灵程序设计丛书 11)》 苏帕拉马尼亚姆(Venkat Subramaniam) 亨特(Andy Hunt), 钱安川, 郑柯 书评 简介 电子书下载 Kindle电子书

《高效程序员的45个习惯》也应该接触,你应该知道敏捷开发究竟是怎样一回事儿。

《算法导论(原书第3版)》 Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest, Clifford Stein, 殷建平, 徐云, 王刚, 等【摘要 书评 试读】图书

就算法而言,我读过《算法导论》,这本书我读过两遍,用什么样的辞藻形容这本书的价值都不为过。


《编程之美:微软技术面试心得(两种封面 随机发货)》 《编程之美》小组【摘要 书评 试读】图书

《剑指Offer:名企面试官精讲典型编程题(纪念版)》 何海涛【摘要 书评 试读】图书

为了面试,我读过《编程之美》和《剑指offer》,这两本书里面的算法用来练习思维还是很有价值的,毕竟面试题都不会太难。

《鸟哥的Linux私房菜:基础学习篇(第3版)》 王世江, 鸟哥【摘要 书评 试读】图书

即使你最开始编程是在windows平台,但是你迟早接触Linux,《鸟叔的Linux私房菜》长盛不衰,愿你喜欢他的语言风格,不过操作系统这种东西,只要上手,学起来很快。


《图灵交互设计丛书:设计师要懂心理学(全彩印刷)》 魏因申克 (Susan Weinschenk), 徐佳, 马迪, 余盈亿【摘要 书评 试读】图书

即使你不是产品经理,也应该有一点点产品思维,基于此,我觉得你应该读一下《设计师要懂心理学》,交互设计,真的很重要。


《人月神话(40周年中文纪念版)》 小弗雷德里克·布鲁克斯 (Frederick P.Brooks), UML China翻译组, 汪颖【摘要 书评 试读】图书

至于《人月神话》,我感觉这本书可以大四重修完挂掉的学科后重新认真读一遍。


这篇关于程序员需要观看的书籍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082687

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

使用WebP解决网站加载速度问题,这些细节你需要了解

说到网页的图片格式,大家最常想到的可能是JPEG、PNG,毕竟这些老牌格式陪伴我们这么多年。然而,近几年,有一个格式悄悄崭露头角,那就是WebP。很多人可能听说过,但到底它好在哪?你的网站或者项目是不是也应该用WebP呢?别着急,今天咱们就来好好聊聊WebP这个图片格式的前世今生,以及它值不值得你花时间去用。 为什么会有WebP? 你有没有遇到过这样的情况?网页加载特别慢,尤其是那

LabVIEW程序员是怎样成长为大佬

成为一名LabVIEW编程领域的“大佬”需要时间、实践、学习和解决复杂问题的经验。尽管LabVIEW作为一种图形化编程语言在初期可能相对容易上手,但要真正成为精通者,需要在多个层面上深入理解。以下是LabVIEW程序员如何逐步成长为“大佬”的路径: 1. 打好基础 LabVIEW的大佬们通常在初期会打下非常坚实的基础,理解LabVIEW编程的核心概念,包括: 数据流编程模型:Lab

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>

js基础需要注意的点

1 js中单引号和双引号都能创建字符串,但是html的元素属性规定必须用双引号,所以js优先用单引号定义字符串。

JAVA进阶书籍

全力以赴001 博客园首页新闻新随笔联系管理订阅 随笔- 326  文章- 0  评论- 24  java进阶书籍推荐 第一部分: Java语言篇  1 《Java编程规范》    星级:    适合对象:初级,中级    介绍:作者James Gosling(Java之父),所以这本书我觉得你怎么也得读一下。对基础讲解的很不错。  2 《J

程序员必备心理学——心流

心理学之心流 前言一、“心流”是什么?二、心流的好处二、如何进入心流心流状态的四个阶段第一个阶段:挣扎第二个阶段:放松第三个阶段:心流第四个阶段:巩固 进入心流的技巧 总结题外话 前言 你是否常常感觉自己明明学习了一整天,但是就是感觉没有太多的收获。这个时候除了你的学习方向等问题之外,也可能是你的学习方法太低效了。作者本人就经常有这种情况,好在偶然间在b站刷到一个大佬的这个心

作为刚从事Java开发的小白,需要掌握哪些技能

作为一个刚踏入Java开发世界的小白,面对各种技术和工具,你可能会觉得有点不知所措。但是别担心,我会给你一个简单清晰的路线图,让你可以有条不紊地掌握基本技能,逐步成长为一名Java开发者。 1. 扎实的Java基础 Java的基础是你迈向高级开发的重要基石,建议从以下几个方面着手: 语法和基础概念:比如变量、条件语句、循环、方法、数组、面向对象编程(OOP)等等。这些基础如同建房子的地基,越