计算机科学
Code 豆瓣 Goodreads
Code: The Hidden Language of Computer Hardware and Software
9.2 (8 个评分) 作者: Charles Petzold Microsoft Press 2000 - 10
Paperback Edition What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who s ever wondered about the secret inner life of computers and other smart machines. It s a cleverly illustrated and eminently comprehensible story and along the way, you ll discover you ve gained a real context for understanding today s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you and perhaps even awaken the technophile within.
The Annotated Turing 豆瓣 Goodreads
作者: [美] Charles Petzold Wiley 2008 - 6
(excerpts from my proposal for the book)
Anyone who has explored the history, technology, or theory of computers has likely encountered the concept of the Turing Machine. The Turing Machine is an imaginary — not even quite hypothetical — computer invented in 1936 by English mathematician Alan Turing (1912–1954) to help solve a question in mathematical logic. As a byproduct, Turing also founded the field of computability theory — the study of the abilities and limitations of digital computers.
Although the concept of the Turing Machine is well known, Turing’s original 1936 paper is only rarely read. This neglect may have something to do with the paper’s title — “On Computable Numbers, with an Application to the Entscheidungsproblem” — and perhaps the paper’s extensive use of a scary German gothic font. That’s too bad, because the paper is not only a fascinating read but a milestone in the history of computing and 20th century intellectual thought in general.
This book presents Turing’s original 36-page paper (and a follow-up 3-page correction) with background chapters and extensive annotations. Mathematical papers like Turing’s are often terse and cryptic. I have elaborated on many of Turing’s statements, clarified his discussions, and provided numerous examples.
Interwoven into the narrative are the highlights of Turing’s own life: his years at Cambridge and Princeton, his secret work in cryptanalysis during World War II, his involvement in seminal computer projects, his speculations about artificial intelligence, his arrest and prosecution for the crime of “gross indecency,” and his early death by apparent suicide at the age of 41.
The book is divided into four parts: Parts I and II together are about 200 pages in length and cover the first 60% of Turing’s paper, encompassing the Turing Machine and computability topics. This part of the book is entirely self-contained and will be of primary interest to most readers.
Part III is a faster paced look at the remainder of Turing’s paper, which involves the implications for mathematical logic. Some readers might want to skip these chapters.
Part IV resumes the more "popular" presentation showing how the Turing Machine has become a vital tool in understanding the workings of human consciousness and the mechanisms of the universe.
Although I expect the primary readers of the book to be programmers, computer science majors, and other “techies,” I have tried my best to make the book accessible to the general reader. There is unavoidably much mathematics in the book, but I have tried to assume that the reader only has knowledge of high-school mathematics, and probably a foggy one at that.
2021年7月11日 在读
As a by-product, Tunng founded a new field of research known as computation theory or computability, which is the study of the abilities and limitations of digital computers.
传记 计算机科学
计算进化史 豆瓣
Les métamorphoses du calcul
7.7 (7 个评分) 作者: [法] 吉尔·多维克 译者: 劳佳 人民邮电出版社 2017 - 2
本书从计算的变迁这一独特视角回顾了数学、逻辑学和哲学的历史沿革,展现了计算为数学研究发展带来的全新前景,展望了这场数学革命在自然科学、信息科学与哲学领域引发的重大变革。
The Golden Ticket 豆瓣
作者: Lance Fortnow Princeton University Press 2013 - 3
The P-NP problem is the most important open problem in computer science, if not all of mathematics. The Golden Ticket provides a nontechnical introduction to P-NP, its rich history, and its algorithmic implications for everything we do with computers and beyond. In this informative and entertaining book, Lance Fortnow traces how the problem arose during the Cold War on both sides of the Iron Curtain, and gives examples of the problem from a variety of disciplines, including economics, physics, and biology. He explores problems that capture the full difficulty of the P-NP dilemma, from discovering the shortest route through all the rides at Disney World to finding large groups of friends on Facebook. But difficulty also has its advantages. Hard problems allow us to safely conduct electronic commerce and maintain privacy in our online lives. The Golden Ticket explores what we truly can and cannot achieve computationally, describing the benefits and unexpected challenges of the P-NP problem.
迷茫的旅行商 豆瓣
In pursuit of the traveling salesman:Mathematics at the limits of computation
7.3 (6 个评分) 作者: [美] William J. Cook 译者: 隋春宁 人民邮电出版社 2013 - 10
假设一名旅行商打算拜访一张城市列表中的所有城市,每座城市只去一次,最后回到出发地。要怎么走才能让路线最短呢?这就是旅行商问题,乍一听很简单,在应用数学界却是一道研究极其热烈的难题,时至今日仍无人能解。本书中,William J. Cook将带领读者踏上一场数学之旅,跟随旅行商的脚步,从19世纪初爱尔兰数学家W. R. Hamilton最初定义该问题开始,一路奔向当今最前沿、最顶尖的解题尝试。
作者追根溯源,回顾了旅行商问题的历史,探索了它的种种重要应用,比如基因组测序、设计计算机处理器、整理音乐乃至搜寻行星等。他分析了计算机如何抗衡规模宏大的旅行商问题,探讨了人类如何在不借助计算机的情况下独立破解难题。他一路穿越神经科学、心理学与艺术的王国,向读者下了战书:试试解决这道难题吧!旅行商问题价值百万美元——这是克雷数学研究所的悬赏金额,只要解出该题或证明该题不可解,就能得到这笔奖金。
《迷茫的旅行商》介绍了人类对于复杂性本质的理解与局限,将激励读者从此踏上求解这道迷人难题的漫漫征程。
丹尼尔·希利斯讲计算机 豆瓣
The Pattern on the Stone: The Simple Ideas That Make Computers Work
作者: [英] 丹尼尔·希利斯 译者: 周波 / 张蔷蔷 2021 - 1
虽然计算机技术及应用以及编程技术都取得了巨大进步,对社会产生的影响也远远超出了预言家的预期,但计算机背后的工作原理,即本书所阐述的关于计算机的概念,仍没有改变。本书聚焦计算机背后不曾改变的基本原理,是每一个想要了解计算机,或从事与计算机相关工作的读者都不能错过的一本经典之作。
本书深入浅出地阐述了计算机科学中许多基本而重要的概念,包括布尔逻辑、有限自动机、编程语言、图灵机的普遍性、信息论、算法、并行计算、量子计算、神经网络、机器学习乃至自组织系统。全书既不失深度,又妙趣横生,帮你了解计算机运行背后的奥秘。
改变未来的九大算法 豆瓣
作者: 【美】约翰·麦考密克(John MacCormick) 译者: 管策 中信出版社 2019 - 2
计算机如何精确地传输海量数据,识别语音和笔迹;智能手机、平板电脑如何在几分之一秒内搜索整个页面;身处大数据时代的我们,究竟该如何应对变化莫测的世界。
计算机算法的底层建设为经济和产业发展提供了原始动力。在科技互联网时代,使用计算机和科技设备都不可避免地要依赖计算机科学的基础思想,而这些思想都诞生于20世纪。
《改变未来的九大算法》是一本科普读物,作者致力于将计算机科学的复杂思想为大众做深入浅出的解读。此书通过简明的语言和生动的例证,阐述了计算机王国的核心算法:搜索引擎、PageRank、公钥加密、纠错码、图形识别、数据压缩、数据库、数字签名等。在解释这些算法的同时,作者也向我们展示了充满科学原创精神的计算机世界:每一种算法的提出不但拓展了虚拟世界的领域,它同时也是人类智慧的彰显,可以被广泛运用于众多领域,以推动商业和社会文明的发展。
智慧的疆界 豆瓣 谷歌图书
8.9 (9 个评分) 作者: 周志明 机械工业出版社 2018 - 1
这是一部对人工智能充满敬畏之心的匠心之作,由《深入理解Java虚拟机》作者耗时一年完成,它将带你从奠基人物、历史事件、学术理论、研究成果、技术应用等5个维度全面读懂人工智能。
本书以时间为主线,用专业的知识、通俗的语言、巧妙的内容组织方式,详细讲解了人工智能这个学科的全貌、能解决什么问题、面临怎样的困难、尝试过哪些努力、取得过多少成绩、未来将向何方发展,尽可能消除人工智能的神秘感,把阳春白雪的人工智能从科学的殿堂推向公众面前。
2021年7月3日 在读
深入理解JVM的作者写的科普书,搜lambda calculus找到的。 lambda演算可比拟是最根本的编程语言,它包括了一条变换规则(变数替换)和一条将函式抽象化定义的方式。因此普遍公认是一种更接近软体而非硬体的方式。对函数式编程语言造成很大影响,比如Lisp、ML语言和Haskell语言。
计算机科学 技术史
Practical Foundations for Programming Languages 豆瓣
作者: Robert Harper Cambridge University Press 2016 - 4
This text develops a comprehensive theory of programming languages based on type systems and structural operational semantics. Language concepts are precisely defined by their static and dynamic semantics, presenting the essential tools both intuitively and rigorously while relying on only elementary mathematics. These tools are used to analyze and prove properties of languages and provide the framework for combining and comparing language features. The broad range of concepts includes fundamental data types such as sums and products, polymorphic and abstract types, dynamic typing, dynamic dispatch, subtyping and refinement types, symbols and dynamic classification, parallelism and cost semantics, and concurrency and distribution. The methods are directly applicable to language implementation, to the development of logics for reasoning about programs, and to the formal verification language properties such as type safety. This thoroughly revised second edition includes exercises at the end of nearly every chapter and a new chapter on type refinements.
Deep Learning for Coders with fastai and PyTorch Goodreads 豆瓣
作者: Sylvain Gugger / Jeremy Howard O'Reilly Media 2020 - 2
Deep learning has the reputation as an exclusive domain for math PhDs. Not so. With this book, programmers comfortable with Python will learn how to get started with deep learning right away.
Using PyTorch and the fastai deep learning library, you’ll learn how to train a model to accomplish a wide range of tasks—including computer vision, natural language processing, tabular data, and generative networks. At the same time, you’ll dig progressively into deep learning theory so that by the end of the book you’ll have a complete understanding of the math behind the library’s functions.
2021年6月1日 在读
Jeremy的学习思路很赞,类似Bidirectional BFS。先学一点model from scratch (simple 3-layer NN) & fastai lib (transfer ResNet34), 然后bottom-up & top-down,同时深入学习,当交汇的时候就说明完整掌握了。
全书就是 Jupyter Notebook: github.com/fastai/fastbook/clean/. 直接在 Colab打开 (runtime改为GPU即可, 利用transfer learning, 所以免费instance即可)
课程见https://course.fast.ai/ 有2020版part 1
AI学术界很多Jargon,写成code就通俗易懂了。
AI 计算机科学 软件工程
动手学深度学习 豆瓣
Dive into deep learning
9.0 (11 个评分) 作者: 阿斯顿·张(Aston Zhang) / 李沐(Mu Li) 人民邮电出版社 2019 - 6
本书旨在向读者交付有关深度学习的交互式学习体验。书中不仅阐述深度学习的算法原理,还演示它们的实现和运行。与传统图书不同,本书的每一节都是一个可以下载并运行的 Jupyter记事本,它将文字、公式、图像、代码和运行结果结合在了一起。此外,读者还可以访问并参与书中内容的讨论。
全书的内容分为3个部分:第一部分介绍深度学习的背景,提供预备知识,并包括深度学习最基础的概念和技术;第二部分描述深度学习计算的重要组成部分,还解释近年来令深度学习在多个领域大获成功的卷积神经网络和循环神经网络;第三部分评价优化算法,检验影响深度学习计算性能的重要因素,并分别列举深度学习在计算机视觉和自然语言处理中的重要应用。
本书同时覆盖深度学习的方法和实践,主要面向在校大学生、技术人员和研究人员。阅读本书需要读者了解基本的Python编程或附录中描述的线性代数、微分和概率基础。
2021年6月1日 在读
动手学深度学习-v2 在线课程 courses.d2l.ai/zh-v2/ 李沐手把手PyTorch教学 (3/20开课, 目前讲到 ResNet). 效率上课 > 看书。
AI 计算机科学
图解HTTP 豆瓣 Goodreads
HTTPの教科書
8.0 (49 个评分) 作者: [日] 上野宣 译者: 于均良 人民邮电出版社 2014 - 4
图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,**后延伸到Web安全、**新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。
《图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。
Learning Go 豆瓣
作者: Jon Bodner O'Reilly Media, Inc. 2021 - 5
Go is rapidly becoming the preferred language for building web services. There are plenty of tutorials available that teach Go’s syntax to developers with experience in other programming languages. But tutorials aren’t enough. They don’t teach Go’s idioms, so developers end up recreating patterns that don’t make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.
No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner explains the rationale behind the Go team’s design decisions and reveals design patterns that experienced Go developers have adopted. You’ll learn how to structure your project and choose the proper tools and libraries to create successful software.
Learn how to write idiomatic code in Go and design a Go project
Understand the reasons for the design decisions in Go
Set up a Go development environment for a solo developer or team
Explore which libraries to select when solving problems
Learn how Go’s features allow the language to run efficiently
Know which Go features you should use sparingly, or not at all
Algorithms 豆瓣 Goodreads
Algorithms
作者: Sanjoy Dasgupta / Christos H. Papadimitriou McGraw-Hill Education 2006 - 10
This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasis is placed on understanding the crisp mathematical idea behind each algorithm, in a manner that is intuitive and rigorous without being unduly formal.
Algorithms 豆瓣
作者: Jeff Erickson Independently published 2019 - 6
Algorithms are the lifeblood of computer science. They are the machines that proofs build and the music that programs play. Their history is as old as mathematics itself. This textbook is a wide-ranging, idiosyncratic treatise on the design and analysis of algorithms, covering several fundamental techniques, with an emphasis on intuition and the problem-solving process. The book includes important classical examples, hundreds of battle-tested exercises, far too many historical digressions, and exaclty four typos. Jeff Erickson is a computer science professor at the University of Illinois, Urbana-Champaign; this book is based on algorithms classes he has taught there since 1998.
PostgreSQL指南:内幕探索 豆瓣
作者: 【日】铃木启修 译者: 张文升 冯若航 刘阳明 2019 - 6
《PostgreSQL指南:内幕探索》介绍了PostgreSQL 内部的工作原理,包括数据库对象的逻辑组织与物理实现,进程与内存的架构。并依次剖析了几个重要的子系统:查询处理、外部数据包装器、并发控制、清理过程、缓冲区管理、WAL、备份及流复制。本书为DBA 与系统开发者提供了一幅全景概念地图,有助于读者形成对数据库实现的整体认识,亦可作为深入学习PostgreSQL 源代码的导读手册,对于理解数据库原理与PostgreSQL 内部实现大有裨益。
《PostgreSQL指南:内幕探索》适合数据库开发人员及相关领域的研究人员、数据库DBA 及高等院校相关专业的学生阅读。
思考的乐趣 豆瓣 Goodreads
8.5 (28 个评分) 作者: 顾森 人民邮电出版社 2012 - 6
本书是一个疯狂数学爱好者的数学笔记,面向所有喜爱数学的读者。从2005年7月开始,作者已经写了连续六年的博客,积累下来了大量的数学文章。 部分文章内容被广泛关注,在网络上大量分享转载。
这本书有意挑选了初等的话题,让大大小小的读者都能没有障碍地阅读。文章内容新,让有数学背景的人也会发现很多自己没见过的初等问题。 文章是独立的。一篇文章一个话题,文章与文章之间基本不会做参考,读者可以随意跳着看。
文章内容注重思想性,基本上是原创,没有什么版权争议。
总之,这是一本标新立异的趣味数学书。每一个读过的人都会被深深吸引。这是一个热爱思考的年轻人积攒的让人一读就欲罢不能的趣味书。
本书包括5部分内容,即生活中的数学、数学之美、几何的大厦、精妙的证明、思维的尺度,涉及48篇精彩的文章。即使你不喜欢数学,也会为本书的精彩所倾倒。
大教堂与集市 豆瓣
The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary
8.5 (28 个评分) 作者: [美国] Eric S·Raymond 译者: 卫剑钒 机械工业出版社 2014 - 5
当代软件技术领域最重要的著作,中文版首次出版!
《大教堂与集市》是开源运动的《圣经》,颠覆了传统的软件开发思路,影响了整个软件开发领域。作者Eric S. Raymond是开源运动的旗手、黑客文化第一理论家,他讲述了开源运动中惊心动魄的故事,提出了大量充满智慧的观念和经过检验的知识,给所有软件开发人员带来启迪。本书囊括了作者最著名的“五部曲”,并经过作者的全面更新,增加了大量注释,提高了可读性,是经典收藏。
开源运动对软件业和互联网带来了巨大影响,本书作为开源运动的独立宣言,其影响力远远超出编程领域,如果想在互联网时代做生意,这本书是必读经典。
详细内容:
本书是开源运动的独立宣言,它清晰、透彻和准确地描述了开源运动的理论与实际应用,对开源软件运动的成功和Linux操作系统的广泛采用,都起到了至关重要的作用。
作者Eric S. Raymond是开源运动和黑客文化的元老级人物,他是INTERCAL编程语言的主要创作者之一,是Fetchmail程序的作者,并为EMACS编辑器作出过贡献。1997年以后,他成为开放源代码运动的主要理论家,以及开放源代码促进会的主要创办人之一。
作者观察到,在互联网世界里,有一种与传统软件开发模式(大教堂模式)截然不同的全新的模式:集市模式。大教堂模式是封闭的、垂直的、集中式的开发模式,反映一种由权利关系所预先控制的层级制度;而集市模式则是并行的、点对点的、动态的多人协同开发模式,开发者之间通常仅仅靠互联网联系,在这种貌似混乱而无序的开发环境中,居然产生了质量极高和极具效率与生命力的软件,产生了诸如Linux这种世界级的操作系统,这是怎么做到的呢?
作者通过亲自实践,研究了这种模式的成功原因和主要特点,给出了19条软件开发的真知灼见,解释了黑客愿意无偿贡献自己代码的动机,研究了开源软件的经济动力和盈利机制,并预测了软件业将必然面临的根本性变革。
作者在书中对“黑客”(hacker)这一通常被误用的称呼做了正名,指出黑客并不是计算机犯罪分子,而是醉心于软件和网络的编程高手,是乐于分享和喜欢突破极限的问题解决专家、天才发明家和艺术家。对于想要成为一名黑客的读者,作者指出了黑客应具备的基本态度、黑客和骇客的本质区别、黑客应有的格调和如何掌握黑客的基本技能,作者指出:黑客文化靠声誉运转,只有当其他黑客一致称你为黑客时,你才是黑客。
本书囊括了作者被业界称为“五部曲”的核心著作:“黑客圈简史”(A Brief History of Hackerdom)、“大教堂和大集市”(The Cathedral and the Bazaar)、“如何成为一名黑客”(How To Become A Hacker)、“开拓心智层”(Homesteading the Noosphere)和“魔法锅”(The Magic Cauldron)。其中最著名的当属“大教堂和大集市”。本书在开源运动中的地位相当于基督教的《圣经》,用黑客们的话说,这是“黑客藏经阁”的第一收藏。
本书并不只是在讲开源和黑客,所有关心软件开发和IT发展的人,都应该花些时间通读全书,书中给出了大量充满智慧的观念和有趣的知识,如命令体系、礼物文化、以少成多、内部市场、竞次、反公地模型、委员会设计、同侪声誉、模因工程、SNAFU现象、进化不利条件、软件业是服务行业、组织结构决定产品结构、准入门槛越低稳定性越高、程序员是资产而非成本等,这些内容一定会给你带来新的启示和思考。
新一代垃圾回收器ZGC设计与实现 豆瓣
2019 - 8
Java 11版本包含一个全新的垃圾收集器ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间。ZGC是2017年Oracle公司贡献给OpenJDK社区的,正式成为OpenJDK的开源项目。ZGC 所针对的是这些在未来普遍存在的大容量内存:TB 级别的堆容量,具有很低的停顿时间(小于 10 毫秒),对整体应用性能的影响也很小(对吞吐量的影响低于 15%)。ZGC 所采用的机制也可以在未来进行扩展,以支持一些令人兴奋的特性,如多层堆(用于热对象的 DRAM 和用于低频访问对象的 NVMe 闪存)
或压缩堆。
本书详细介绍ZGC涉及的基本概念和运行原理,以及调优方法。主要内容共9章,主要
内容有:垃圾回收器概述、ZGC内存管理、ZGC线程、ZGC垃圾回收算法的设计、ZGC日
志解读、ZGC参数和基准测试、ZGC的编译调试、ZGC特性总结和展望、ZGC的编译调试、Shenandoah简介等。