编程随想书单-IT

桦

@crazzzy

142 本书  

来源 https://github.com/programthink/books

这个系列书籍很多,总体通用性较强的书靠前排,专业性较强的书靠后排。

缺失书籍:深入 Python3、深入 Python、Lisp 之根源、Lisp 的演化、Ruby 程序设计、Rust 程序设计语言、Programming in Prolog、Logic Programming with Prolog、An Introduction to Logic Programming through Prolog、设计模式——可复用面向对象软件的基础、如何编写动态库、Twisted 网络编程精髓、Django 基础教程、每个程序员都应该了解的内存知识、各大操作系统安全手册(官网可找)、Shellcoder 手册——发现和利用安全漏洞、C 语言安全编程规范、C++ 语言安全编程规范、高级 Bash 脚本编程指南、设计分布式系统、Distributed Systems for Fun and Profit、分布式计算的八大误区、CAP 定理、CAP 理论十二年回顾、面对软件错误,如何构建可靠的分布式系统、拜占庭将军问题、Chord——用于互联网应用的可扩展 P2P 查询服务、Kademlia——基于异或运算的 P2P 信息系统、DHT 安全技术纵览、比特币——一种点对点式的电子现金系统、Google 文件系统、IPFS——内容寻址的版本化点对点文件系统

JavaScript语言精粹 [图书] 豆瓣
JavaScript:The Good Parts
9.2 (17 个评分) 作者: Douglas Crockford 译者: 赵泽欣 / 鄢学鹍 电子工业出版社 2009 - 4
本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。
雅虎资深JavaScript架构师Douglas Crockford倾力之作。
向读者介绍如何运用JavaScript创建真正可扩展的和高效的代码。
计算机程序的构造和解释(原书第2版) [图书] 豆瓣 Goodreads
Structure and Interpretation of Computer Programs
9.7 (22 个评分) 作者: [美] Harold Abelson / [美] Gerald Jay Sussman 译者: 裘宗燕 机械工业出版社 2004 - 2
《计算机程序的构造和解释》成型于美国麻省理工学院(MIT)多年使用的一本教材,1984年出版,1996年修订为第二版。在过去的二十多年里,该书对于计算机科学的教育计划产生了深刻的影响。
在第二版中,大部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教学实践,还对其他许多细节做了相应的修改。
程序设计方法(中文版) [图书] 豆瓣
How to Design Programs
作者: Matthias Fellisen 译者: 黄林鹏 / 朱崇恺 人民邮电出版社 2003
《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法》的最后两部分说明了设计程序的意义,阐述了如何应用前6个部分所描述的程序设计诀窍,以及使用赋值语句必须特别小心的一些问题。
《程序设计方法》可作为高等院校计算机科学与技术专业“程序设计导论”和“计算导论”的教材和教学参考书,也可作为函数式语言和Scheme语言的入门教材。
ANSI Common Lisp [图书] 豆瓣 Goodreads
作者: Paul Graham Prentice Hall 1995 - 11
For use as a core text supplement in any course covering common LISP such as Artificial Intelligence or Concepts of Programming Languages. Teaching students new and more powerful ways of thinking about programs, this text contains a tutorial-full of examples-that explains all the essential concepts of Lisp programming, plus an up- to-date summary of ANSI Common Lisp, listing every operator in the language. Informative and fun, it gives students everything they need to start writing programs in Lisp both efficiently and effectively, and highlights such innovative Lisp features as automatic memory management, manifest typing, closures, and more.
实用Common Lisp编程 [图书] 豆瓣
Practical Common Lisp
作者: [美] Peter Seibel 译者: 田春 人民邮电出版社 2011 - 10
由塞贝尔编著的《实用Common Lisp编程》是一本不同寻常的Common Lisp入门书。《实用Common Lisp编程》首先从作者的学习经过及语言历史出发,随后用21个章节讲述了各种基础知识,主要包括:REPL及Common Lisp的各种实现、S-表达式、函数与变量、标准宏与自定义宏、数字与字符以及字符串、集合与向量、列表处理、文件与文件I/O处理、类、FORMAT格式、符号与包,等等。而接下来的9个章节则翔实地介绍了几个有代表性的实例,其中包含如何构建垃圾过滤器、解析二进制文件、构建ID3解析器,以及如何编写一个完整的MP3 Web应用程序等内容。最后还对一些未介绍内容加以延伸。
《实用Common Lisp编程》内容适合Common Lisp初学者及对之感兴趣的相关人士。
Common LISP. Second Edition [图书] 豆瓣
作者: Guy Steele Digital Press 1990 - 6
The defacto standard - a must-have for all LISP programmers.
In this greatly expanded edition of the defacto standard, you'll learn about the nearly 200 changes already made since original publication - and find out about gray areas likely to be revised later. Written by the Vice- Chairman of X3J13 (the ANSI committee responsible for the standardization of Common Lisp) and co-developer of the language itself, the new edition contains the entire text of the first edition plus six completely new chapters. They cover: - CLOS, the Common Lisp Object System, with new features to support function overloading and object-oriented programming, plus complete technical specifications * Loops, a powerful control structure for multiple variables * Conditions, a generalization of the error signaling mechanism * Series and generators * Plus other subjects not part of the ANSI standards but of interest to professional programmers. Throughout, you'll find fresh examples, additional clarifications, warnings, and tips - all presented with the author's customary vigor and wit.
On LISP [图书] 豆瓣 Goodreads
作者: Paul Graham Prentice Hall 1993 - 9 其它标题: On Lisp: Advanced Techniques for Common Lisp
On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look at object-oriented programming than previous Lisp books, showing the step-by-step construction of a working model of the Common Lisp Object System (CLOS).
As well as an indispensable reference, On Lisp is a source of software. Its examples form a library of functions and macros that readers will be able to use in their own Lisp programs.
Go程序设计语言 [图书] 豆瓣
The Go Programming Language
8.7 (12 个评分) 作者: 艾伦 A. A. 多诺万 译者: 李道兵 / 高博 机械工业出版社 2017 - 5
本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。
本书适合作为计算机相关专业的教材,也可供Go语言爱好者阅读。
Go 语言程序设计 [图书] 豆瓣
Programming in Go
作者: Mark Summerfield 译者: 许式伟 / 吕桂华 人民邮电出版社 2013 - 8
国外最经典的Go语言著作,Go语言编程的先驱者Mark Summerfield的实践经验总结。
这是一本Go语言实战指南,帮你了解Go语言,按Go语言的方式思考,以及使用Go语言来编写高性能软件。
作者展示了如何编写充分利用Go语言突破性的特性和惯用法的代码,以及Go语言在其他语言之上所做的改进,并着重强调了Go语言的关键创新。
注重实践教学,每章都提供了多个经过精心设计的代码示例。
由国内第一个核心服务完全采用Go语言实现的团队——七牛团队核心成员翻译。
Rust程序设计(第2版) [图书] 豆瓣
作者: [美]吉姆·布兰迪(Jim Blandy) / [美]贾森 • 奥伦多夫(Jason Orendorff) 译者: 汪志成(@雪狼) 人民邮电出版社 2023 - 9
本书是Rust领域经典参考书,由业内资深系统程序员编写,广受读者好评。
书中全面介绍了Rust这种新型系统编程语言——具有无与伦比的安全性,兼具C和C++的高性能,并大大简化了并发程序的编写。第2版对上一版内容进行了重组和完善,新增了对“异步编程”的介绍。借助书中的大量案例,你也能用Rust编写出兼顾安全性与高性能的程序。本书内容包括基本数据类型、所有权、引用、表达式、错误处理、crate与模块、结构、枚举与模式等基础知识,以及特型与泛型、闭包、迭代器、集合、字符串与文本、输入与输出、并发、异步编程、宏等进阶知识。
编辑推荐
1.【内容全面】Rust一本就通,涉及Rust所有关键特性
2.【代码开源】基于Rust 2021大版本,开源示例代码
3.【实战性强】讲解深入浅出,含大量案例,实践性强
4.【作译者资深】Mozilla创始团员编写,雪狼翻译
5.【专家推荐】陈天、唐刚、王旭、张汉东、张炎泼
6.【超强品控】30位一线Rust开发者与爱好者精心审读
编程之魂 [图书] 豆瓣
Masterminds of Programming
作者: Federico Biancuzzi / Shane Warden 译者: 闫怀志 电子工业出版社 2010 - 4
本书是27位杰出的设计师与你分享他们的智慧和经验。书中以问答方式告诉为什么要创建某种编程语言、它在技术上如何开发、如何教授和学习,以及它如何顺应时代发展等。你会发现构建成功编程语言所需的思想和步骤,它广受欢迎的原因,以及如何处理程序员常见的问题。因此,如果你想深入学习设计成功编程语言的思想,本书会对你大有帮助。
七周七语言 [图书] 豆瓣
Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages
8.8 (19 个评分) 作者: [美] Bruce A. Tate 译者: 巨成 / 戴玮 人民邮电出版社 2012 - 5
从计算机发展史早期的Cobol、Fortran到后来的C、Java,编程语言的家族不断壮大。除了这些广为人知的语言外,还涌现了Erlang、Ruby等后起之秀,它们虽被喻为小众语言,但因其独特性也吸引了为数不少的追随者。
Bruce A. Tate是软件行业的一名老兵,他有一个宏伟目标:用一本书的篇幅切中要害地探索七种不同的语言。本书就是他的成果。书中介绍了Ruby、Io、Prolog、Scala、Erlang、Clojure和Haskell这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。
在这个飞速发展的信息时代,程序员仅仅掌握甚至精通一门语言是远远不够的。了解多门语言蕴涵的思维方式,在编码中互相借鉴,再挑出一两门对自己口味的语言深入学习,这些已经成为在软件行业中安身立命之本。从这个意义上说,每个程序员都应该看看这本书。
Head First 设计模式(中文版) [图书] 豆瓣
9.4 (24 个评分) 作者: Elisabeth Freeman / / Eric Freeman 译者: O'Reilly Taiwan公司 中国电力出版社 2007 - 9
《Head First设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。最后三章比较特别。第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章介绍如何进一步学习设计模式,如何发觉新的设计模式等主题,至于第14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到○○原则,以方便判断取舍。可以这么说:○○原则是我们的目标,而设计模式是我们的做法。
七周七并发模型 [图书] 豆瓣 Goodreads
Seven Concurrency Models in Seven Weeks: When Threads Unravel
7.1 (7 个评分) 作者: Paul Butcher 译者: 黄炎 人民邮电出版社 2015 - 3
借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型
基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。
——方腾飞,并发编程网站长
当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP模型)。而在品读之后,我更是有一些激动。其中的大部分章节都深入浅出地描述了某一个并发编程模型的概念、特点、机理以及适用领域。加之有大量相应实现语言的示例呈现,更是让这些模型活灵活现、极易理解。另外,各章之间的衔接会使你更容易把这些知识融会贯通。总之,并发编程乃现代编程技能的必备,而这本书则为并发编程的首选佳作。
——郝林(@特价萝卜),《Go并发编程实战》作者
几十年来,专业的程序员一直在用线程与锁模型来进行并行和并发,但这仅仅是《七周七并发模型》介绍的众多模型之一。当今主流语言都竞相支持不同的并发模型,例如CSP模型、数据并行、函数式编程和Clojure的unified succession model。如果你想紧跟时代,我推荐阅读本书。
——Stuart Halloway,Cognitect联合创始人
并发编程近年逐渐热起来,Go等并发语言也对并发编程提供了良好的支持,使得并发这个话题受到越来越多人的关注。本书延续了《七周七语言》的写作风格,通过以下七个精选的模型帮助读者了解并发领域的轮廓:线程与锁,函数式编程,Clojure,actor,通信顺序进程,数据级并行,Lambda架构。书中每一章都设计成三天的阅读量。每天阅读结束都会有相关练习,巩固并扩展当天的知识。每一章均有复习,用于概括本章模型的优点和缺陷。
本书适合所有想了解并发的程序员。
计算机程序设计艺术(第1卷) [图书] 豆瓣
作者: [美国] Donald Knuth 清华大学出版社 2002 - 9
第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。
算法导论 [图书] 豆瓣
作者: [美] Thomas H. Cormen / Charles E. Leiserson 高等教育出版社 2002 - 5
《算法导论》自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。
这本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分析与随机算法、线性编程等,几乎对第一版的各个部分都作了大量修订。
算法概论 [图书] 豆瓣 Goodreads
Algorithms
作者: Sanjoy Dasgupta / Christos Papadimitriou 译者: 王沛 / 唐扬斌 清华大学出版社 2008 - 7
《国外经典教材·算法概论》涵盖了绝大多数算法设计中的常用技术。在表达每一种技术时,阐述它的应用背景,强调每个算法运转背后的简洁数学思想,注意运用与其他技术类比的方法来说明它的特征,并提供了大量相应实际问题的例子。《国外经典教材·算法概论》同时也注重了对每一种算法的复杂性分析。全书共10章,从基本的数字算法人手,先后介绍了分治、图的遍历、贪心算法、动态规划、线性规划等技术,对NP完全问题进行厂基本而清晰的阐述,对随机算法、近似算法和量子算法这些近年来发展迅猛的领域也花费了一定的笔墨。书中每章后面都附有大量的习题,有利于读者对书中内容的理解和应用。
算法设计手册 [图书] 豆瓣
The Algorithm Design Manual (2nd Ed.)
作者: 斯基恩纳 清华大学出版社 2009 - 9
《算法设计手册(第2版)》是算法设计畅销书的最新版本,是设计实用且高效算法的最全面指导书。《算法设计手册(第2版)》揭密了算法的设计与分析,以简单易懂的写作风格,介绍了各种算法技术,着重强调了算法分析,全书包括两大部分,“技术”部分介绍了设计和分析计算机算法的各种方法,“资源”部分给出了大量的参考资源,以及算法实现的各种资源,此外,在作者的个人网址http://www.CS.sunysb.edu/~algorith/I-还提供了各种教学资源和参考材料,这些资源对读者很有参考价值。
《算法设计手册(第2版)》可以作为算法设计课程的主教材,也是程序人员、研究人员和学生的常备参考书。
编程珠玑 [图书] 豆瓣
Programming Pearls
9.3 (21 个评分) 作者: [美] Jon Bentley 译者: 黄倩 / 钱丽艳 人民邮电出版社 2008 - 10
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...
算法心得:高效算法的奥秘(原书第2版) [图书] 豆瓣
Hacker's Delight (2/e)
作者: [美] Henry S. Warren, Jr. 译者: 爱飞翔 机械工业出版社 2014 - 3
在本书中,作者给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门。学习了这些技术,程序员就可写出优雅高效的软件,同时还能洞悉其中原理。这些技术极为实用,而且其问题本身又非常有趣,有时甚至像猜谜解谜一般,需要奇思妙想才行。简而言之,软件开发者看到这些改进程序效率的妙计之后,定然大喜。
创建日期: 2026年1月24日