编程
计算机网络(第4版)
Computer Networking: A Top-Down Approach Douban
★ 9.0 6 ratings
[美] James F. Kurose / [美] Keith W. Ross translator: 陈鸣 publishing house: 机械工业出版社 2009 - 11
本书采用了独创的自顶向下方法,即从应用层开始沿协议栈向下讲解计算机网络的基本原理,强调应用层范例和应用编程接口,内容深入浅出,注重教学方法,理论与实践相结合。第3版的内容相应更新并反映了网络领域的最新进展,如增加了无线和移动网络一章,扩充了对等网络、BGP、MPLS、网络安全、广播选路和因特网编址及转发方面的材料;还增加了一套实用的实验,并修订了习题。本书适合作为计算机、电子、通信工程相关专业的本科生和研究生的计算机网络课程教科书,对于网络业界甚至网络科研人员,本书也是一本不可多得的参考书。
计算机网络
Douban
★ 8.0 7 ratings
[美国] Andrew S·Tanenbaum translator: 潘爱民 publishing house: 清华大学出版社 2004 - 8
《计算机网络(第4版)》全书按照网络协议模型(物理层、数据链路层、介质访问控制子层、网络层、传输层和应用层),自下而上系统地介绍了计算机网络的基本原理,并给出了大量实例。在讲述各网络层的同时,还融合进了近年来迅速发展起来的各种网络技术,如Internet、SONET、A DSL、CDMA、WLAN和蓝牙等。另外,针对当前计算机网络的发展现状以及计算机安全的重要性,本书用了一整章的篇幅对计算机安全进行了深入讨论。
程序设计语言
Programming Language Pragmatics Douban Goodreads
[美] Michael L. Scott translator: 裘宗燕 publishing house: 电子工业出版社 2007 - 6
这是一本很有特色的教材,其核心是讨论程序设计语言的工作原理和技术。本书融合了传统的程序设计语言教科书和编译教科书的有关知识,并增加了一些有关汇编层体系结构的材料,以满足没学过计算机组织的学生们的需要。书中通过各种语言的例子,阐释了程序设计语言的重要基础概念,讨论了各种概念之间的关系,解释了语言中许多结构的形成和发展过程,以及它们演化为今天这种形式的根源。书中还详细讨论了编译器的工作方式和工作过程,说明它们对源程序做了什么,以及为什么要那样做。书的每章最后附有复习题和一些更具挑战性的练习。这些练习的特别价值在于引导学生进一步深入理解各种语言和技术。本书第2版新增了脚本语言问题的讨论,涵盖Perl、Python、Ruby、Tcl、PHP、JavaScript、XSLT等和其他语言。 本书在美国大学已使用了十余年,目前被欧美许多重要大学用于“程序设计语言”或者“软件系统”课程。本书适合高年级本科生或者一年级研究生使用,许多内容对专业程序员也很有价值。
Concepts, Techniques, and Models of Computer Programming
Concepts, Techniques, and Models of Computer Programming Douban Goodreads
Peter Van Roy / Seif Haridi publishing house: The MIT Press 2004 - 2
This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language--a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.
程序员修炼之道
The Pragmatic Programmer Douban
★ 7.5 11 ratings
Andrew Hunt / David Thomas translator: 马维达 publishing house: 电子工业出版社 2005 - 1
《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
操作系统
Operating Systems: Internals and Design Principles, Sixth Edition Douban
William Stallings translator: 陈向群 / 陈渝 publishing house: 机械工业出版社 2010 - 9
本书不仅全面地讲述了操作系统的基本概念、原理和方法,还清楚地展现了当代操作系统的本质和特点。作者针对近几年操作系统领域的最新变化,对操作系统的设计原理进行深入的阐述,同时将其对操作系统整个领域全面而深入的理解呈现给读者。 本书特色 ·选择Windows Vista、UNIX和Linux三个操作系统作为示例,以帮助读者熟悉当代操作系统的设计原理和实现问题。 ·新增嵌入式操作系统一章,讨论了嵌入式操作系统的基本特点,并给出了两个实例系统:TinyOS和eCos。 ·在第5版的基础上扩展了计算机安全的相关内容,包括计算机安全威胁和计算机安全技术。 ·扩展和更新了并发的相关内容,并增加了有关游戏软件中多处理器调度设计问题的实例。 ·补充动画演示、模拟项目和编程项目,便于培养学生的动手实践能力。 ·改进了插图,增加新的大量 “现场测试”(field-tested)型家庭作业。 ·调整和扩充了章末的练习题,有助于读者深入理解操作系统的精髓。
Python自然语言处理
Douban
(英)伯德 / (英)克莱因 … publishing house: 东南大学出版社 2010 - 6
《Python自然语言处理(影印版)》提供了非常易学的自然语言处理入门介绍,该领域涵盖从文本和电子邮件预测过滤,到自动总结和翻译等多种语言处理技术。在《Python自然语言处理(影印版)》中,你将学会编写Python程序处理大量非结构化文本。你还将通过使用综合语言数据结构访问含有丰富注释的数据集,理解用于分析书面通信内容和结构的主要算法。 《Python自然语言处理》准备了充足的示例和练习,可以帮助你: 从非结构化文本中抽取信息,甚至猜测主题或识别“命名实体”; 分析文本语言结构,包括解析和语义分析; 访问流行的语言学数据库,包括WordNet和树库(treebank); 从多种语言学和人工智能领域中提取的整合技巧。 《Python自然语言处理(影印版)》将帮助你学习运用Python编程语言和自然语言工具包(NLTK)获得实用的自然语言处理技能。如果对于开发Web应用、分析多语言新闻源或记录濒危语言感兴趣——即便只是想从程序员视角观察人类语言如何运作,你将发现《Python自然语言处理》是一本令人着迷且极为有用的好书。
计算理论导引
Introduction to the Theory of Computation Douban
[美]Michael Sipser translator: 唐常杰 / 陈鹏 … publishing house: 机械工业出版社 2006 - 7
本书是计算理论领域的经典著作,被国外多所大学选用为教材。本书以注重思路、深入引导为特色,系统地介绍计算理论的三大主要内容:自动机与语言、可计算性理论和计算复杂性理论。同时,对可计算性和计算复杂性理论中的某些高级内容作了重点讲解。全书通过启发性的问题、精彩的结果和待解决问题来引导读者挑战此领域中的高层次问题。新版的一大亮点是增加了更多习题、教辅资料和部分习题解答,更加有利于教学。 全书叙述由浅入深、详略得当,重点突出,不拘泥于技术细节。可作为计算机专业高年级本科生和研究生的教材,也可作为相关专业教师和研究人员的参考书。
C语言的科学和艺术
Douban
[美国] 罗伯茨 translator: 翁惠玉 publishing house: 机械工业出版社 2005 - 3
《C语言的科学和艺术》是计算机科学的经典教材,介绍了计算机科学的基础知识和程序设计的专门知识。《C语言的科学和艺术》以介绍ANSI C为主线,不仅涵盖C语言的基本知识,而且介绍了软件工程技术以及如何应用良好的程序设计风格进行开发等内容。《C语言的科学和艺术》采用了库函数的方法,强调抽象的原则,详细阐述了库和模块化开发。此外,《C语言的科学和艺术》还利用大量实例讲述解决问题的全过程,对开发过程中常见的错误也给出了解决和避免的方法。 《C语言的科学和艺术》集中讨论库和抽象的用法,这是当代程序设计技术中最基本的知识。作者使用库来隐藏C语言的复杂性,更加突出主题,使学生可以较好地掌握每一个主题的精髓。然后,进一步给出每个库的底层实现,较好地展示了自身的抽象威力。
程序设计实践
The Practice of Programming Douban
★ 9.7 6 ratings
[美] Brian W. Kernighan / Rob Pike translator: 裘宗燕 publishing house: 机械工业出版社 2000 - 8
这本书从排错、测试、性能、可移植性、设计、界面、风格和记法等方面,讨论了程序设计中实际的、又是非常深刻和具有广泛意义的思想、技术和方法。
深入理解计算机系统
Computer Systems: A Programmer's Perspective Douban Goodreads
Randal E.Bryant / David O'Hallaron translator: 龚奕利 / 雷迎春 publishing house: 中国电力出版社 2004 - 5
从程序员的视角,看计算机系统! 本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。 本书的主要论题包括:数据表示、C程序的机器级表示、处理器结构,程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程。书中所覆盖的内容主要是这些方面是如何影响应用和系统程序员的。例如,在讲述数据表示时,本书说明了用来表示数字的表示方法是有限的,它能够近似地表示整数和实数,但是这种表示方法是有限制的,程序员必须了解。在讲述高速缓存时,本书讨论了矩阵代码中的循环变量的顺序是如何影响程序的性能的。在讨论网络互连时,本书描述了并发服务器如何能有效地处理来自多个客户端的请求。 本书基于Intel兼容(IA32)机器,在Unix或者相关的操作系统(例如,Linux)上执行C程序。虽然书中包括了一些帮助读者将Java转化成C的提示,但是还是要求读者对C或者C++有一定的了解。 您可以通过本书的Web网站www.csapp.cs.cmu.edu获得完整的资料,包括实验和作业,授课笔记和代码示例。 本书英文版久负盛名,被众多专业人士称为“最伟大的计算机教材”之一,著名的美国卡内基梅隆大学计算机科学系一直将本书作为教材使用,程序员眼中的透彻讲述计算机系统的扛鼎之作。作者Randal E. Bryant是卡耐基梅隆大学的计算机科学系主任,ACM和IEEE双院士(Fellow),其研究成果多次获得ACM和IEEE颁发的大奖。 本书共分十三章,分别介绍了信息的表示和处理、程序的机器级表示、处理器体系结构、存储器层次结构、静态和动态链接、虚拟存储器、系统级I/O、网络编程和并发编程等精彩内容。其目的是解释计算机系统的所有本质概念,并向读者展示这些概念是如何实际地影响应用程序的正确性、性能和实用性。与其他主要针对系统构造人员的系统类书籍不同,这本书是写给程序员的,是从程序员的角度来描述的。本书为软件和硬件之间搭起了一个桥梁,它给出了一种帮助读者分别从硬件和软件的角度去理解一个程序及其行为的途径,这也填补了国内计算机系统教学中的一个空白。本书的最大优点是帮助读者理解概念,让读者很清楚地在脑海中构造一个层次型的计算机系统,从最低层数据在内存中的表示(如我们一直陌生的浮点数表示),到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户应用。 本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。
编码
Code: The Hidden Language of Computer Hardware and Software Douban Goodreads
★ 9.1 49 ratings
[美] Charles Petzold translator: 左飞 / 薛佟佟 publishing house: 电子工业出版社 2010
本书讲述的是计算机工作原理。作者用丰富的想象和清晰的笔墨将看似繁杂的理论阐述得通俗易懂,你丝毫不会感到枯燥和生硬。更重要的是,你会因此而获得对计算机工作原理较深刻的理解。这种理解不是抽象层面上的,而是具有一定深度的。
HTTP权威指南
HTTP: The Definitive Guide Douban
★ 8.7 20 ratings
David Gourley / Brian Totty translator: 陈涓 / 赵振平 publishing house: 人民邮电出版社 2012 - 9
超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重 的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。 本书中,我们尝试着将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对HTTP各方面的特性进行了介绍。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还对很多HTTP应用程序正常工作所必须的、重要的非HTTP技术进行了介绍。在组织得便于使用的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者对HTTP的使用。 本书是为所有希望理解HTTP以及Web底层结构的人编写的。软硬件工程师也可以将本书作为HTTP及相关web技术的条理清楚的参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从高速缓存和性能优化的相关章节中获益。市场营销和咨询专家可以通过概念的介绍更好地理解web技术的前景。 本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。 本书是很多对因特网技术充满热情的人经过大量工作写成的。希望对你有所帮助。
Greasemonkey Hacks
Douban
Mark Pilgrim publishing house: O'Reilly Media 2005 - 11
"Greasemonkey Hacks" is an invaluable compendium - 100 ingenious hacks for power users who want to master Greasemonkey, the hot new Firefox extension that allows you to write scripts that alter the web pages you visit. With "Greasemonkey", you can create scripts that make a web site more usable, fix rendering bugs that site owners can't be bothered to fix themselves, or add items to a web site's menu bar. You can alter pages so they work better with technologies that speak a web page out loud or convert it to Braille. Greasemonkey gurus can even import, combine, and alter data from different web sites to meet their own specific needs. Greasemonkey has achieved a cult-like following in its short lifespan, but its uses are just beginning to be explored. Let's say you're shopping on an e-commerce site. You can create a script that will automatically display competitive prices for that particular product from other web sites. The possibilities are limited only by your imagination and your Greasemonkey expertise. "Greasemonkey Hacks" can't help you with the imagination part, but it can provide the expert hacks - complete with the sample code - you need to turn your brainstorms into reality. More than just an essential collection of made-to-order Greasemonkey solutions, "Greasemonkey Hacks" is crammed with sample code, a Greasemonkey API reference, and a comprehensive list of resources, to ensure that every resource you need is available between its covers. Some people are content to receive information from websites passively; some people want to control it. If you are one of the latter, "Greasemonkey Hacks" provides all the clever customizations and cutting-edge tips and tools you need to take command of any web page you view.
人件
Peopleware Douban
★ 7.2 8 ratings
Tom DeMarco / Timothy Lister translator: UML China publishing house: 清华大学出版社 2003 - 6
《人件(第2版)》专门讨论了软件开发和维护的团队管理问题,并向人们的传统认识提出了挑战。作者汤姆·迪马可,蒂姆·李斯特在书中推崇人本管理思想,指出知识型企业的核心是人,而不是技术。《人件(第2版)》于1987年首次出版后,曾在西方引起了轰动,被誉为“对美国软件业影响最大的一本书”。《人件(第2版)》还对大中型组织中的软件开发团队如何运作进行了深入探讨。《人件》已成为软件图书中的经典之作。它和《人月神话》共同被誉为软件图书中“两朵最鲜艳的奇葩”。人们认为,《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”。因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。《人件(第2版)》读者包括软件开发组织中的所有人员。管理者和被管理者都将从书中得到有益的启示。
敏捷软件开发
Agile Software Development: Principles, Patterns, and Practices Douban
★ 9.7 7 ratings
[美国] Robert C·Martin translator: 邓辉 publishing house: 清华大学出版社 2003 - 9
在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
JavaScript DOM编程艺术 (第2版)
DOM Scripting: Web Design with JavaScript and the Document Object Model Douban Goodreads
★ 9.0 26 ratings
[英] Jeremy Keith / [加] Jeffrey Sambells translator: 杨涛 / 王建桥 … publishing house: 人民邮电出版社 2011 - 4
JavaScript是Web开发中最重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。 本书是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。 本 书在简洁明快地讲述JavaScript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的 JavaScript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等JavaScript库。读者将看到JavaScript、 HTML5和CSS如何协作来创建易用的、与标准兼容的Web设计,掌握使用JavaScript和DOM通过客户端动态效果和用户控制的动画来加强 Web页面的必备技术;同时,还将对如何利用库提高开发效率有全面深入的理解。
JavaScript编程精解
Eloquent JavaScript: A Modern Introduction to Programming Douban
Marijn Haverbeke translator: 徐涛 publishing house: 机械工业出版社华章公司 2012 - 10
如果你只想阅读一本关于JavaScript的图书,那么本书应该是你的首选。本书由世界级JavaScript程序员撰写,JavaScript之父和多位JavaScript专家鼎力推荐。本书适合作为系统学习JavaScript的参考书,它在写作思路上几乎与现有的所有同类书都不同,打破常规,将编程原理与运用规则完美地结合在一起,而且将所有知识点与一个又一个经典的编程故事融合在一起,读者可以在轻松的游戏式开发中学会JavaScript程序设计,趣味性十足,可操作性极强。 全书一共12章:第1~3章介绍了JavaScript的基本语法,旨在帮助读者编写出正确的JavaScript程序,包含数字、算术、字符串、变量、程序结构、控制流程、类型、函数、对象和数组等最基础和最核心的内容;第4~7章讲解了JavaScript编程中的高级技术,目的是帮助读者编写更复杂的JavaScript程序,主要涉及错误处理、函数式编程、面向对象编程、模块化等重要内容;第8~12章则将重心转移到JavaScript环境中可用的工具上,分别详细讲解了正则表达式、与Web编程相关的知识、文档对象模型、浏览器事件和HTTP请求等。
数据结构与算法分析
Data Structures and Algorithm Analysis in C:Second Edition Douban
★ 8.5 15 ratings
Mark Allen Weiss (维斯) translator: 冯舜玺 publishing house: 机械工业出版社 2004 - 1
本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。 在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。 全书特点如下: ●专用一章来讨论算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法 ●介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和伸展树 ●安排一章专门讨论摊还分析,考查书中介绍的一些高级数据结构 ●新开辟一章讨论高级数据结构以及它们的实现,其中包括红黑树、自顶向下伸展树。treap树、k-d树、配对堆以及其他相关内容 ●合并了堆排序平均情况分析的一些新结果 本书是国外数据结构与算法分析方面的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时讲授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。 本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
编程珠玑
Programming Pearls Douban
★ 9.3 21 ratings
[美] Jon Bentley translator: 黄倩 / 钱丽艳 … publishing house: 人民邮电出版社 2008 - 10
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。. 多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。.. 在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...