程序理论
Basic Category Theory for Computer Scientists
Douban
Benjamin C. Pierce publishing house: The MIT Press 1991 - 8
Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts. Benjamin C. Pierce received his doctoral degree from Carnegie Mellon University.Contents : Tutorial. Applications. Further Reading.
Understanding Petri Nets
Douban
Reisig, Wolfgang 2013 - 7
With their intuitive graphical approach and expressive analysis techniques, Petri nets are suitable for a wide range of applications and teaching scenarios, and they have gained wide acceptance as a modeling technique for computer science-based systems. This book is a clear, thorough introduction to Petri nets. The explanations are supported throughout with fully integrated graphical illustrations, with only the analysis and verification presented in a formal manner. The author clearly explains the core of each related topic, leaving the reader to explore other sources for further details. The book will be suitable for students of computer science and related subjects. The book includes exercises and the solutions are available online.
类型和程序设计语言
Types and Programming Languages Douban
皮尔斯 publishing house: 电子工业出版社 2005 - 5
类型理论在程序设计语言的发展中起着举足轻重的作用,成熟的类型系统可以帮助完善程序设计本身,帮助运行系统检查程序中的语义错误。 要理解类型系统在程序设计语言中发挥的作用,本书将是首选读物。本书内容覆盖基本操作语义及其相关证明技巧、无类型lambda演算、简单类型系统、全称多态和存在多态、类型重构、子类型化、囿界量词、递归类型、类型算子等内容。本书既注重内容的广度,也注重内容的深度,实用性强。在引入语言的语法对象时先举例,然后给出形式定义及基本证明,在对理论的进一步研究后给出了类型检查算法,并对每种算法都给出了OCaml程序的具体实现。本书对类型理论中的概念都有详细的阐述,为读者提供了一个进一步理论学习的基础。本书内容广泛,读者可以根据自己的需要有选择地深入阅读。 本书适合从事程序设计的研究人员和开发人员,以及程序设计语言和类型理论的研究人员阅读。可作为计算机专业高年级学生、研究生的学习教材。
垃圾回收算法手册:自动内存管理的艺术
The Garbage Collection Handbook: the Art of Automatic Memory Management Douban
Richard Jones / Eliot Moss … translator: 王雅光 / 薛迪 publishing house: 机械工业出版社 2016 - 3
在自动内存管理领域,Richard Jones于1996年出版的《Garbage Collection:Algorithms for Automatic Dynamic Memory Management》可谓是一部里程碑式的作品。接近20年过去了,垃圾回收技术得到了非常大的发展,因此有必要将该领域当前最先进的技术呈现给读者。本书汇集了自动内存管理研究者和开发者们在过去50年间的丰富经验,在本书中,作者在一个统一的易于接受的框架内比较了当下最重要的回收策略以及最先进的回收技术。 本书从近年来硬件与软件的发展给垃圾回收所带来的新挑战出发,探讨了这些挑战给高性能垃圾回收器的设计者与实现者所带来的影响。在简单的传统回收算法之外,本书还涵盖了并行垃圾回收、增量式垃圾回收、并发垃圾回收以及实时垃圾回收。书中配备了丰富的伪代码与插图,以描述各种算法与概念。 本书特色 为1996年《Garbage Collection:Algorithms for Automatic Dynamic Memory Management》一书提供了完整的、最新的、权威的续作。 全面讲解并行垃圾回收算法、并发垃圾回收算法以及实时垃圾回收算法。 深入剖析某些垃圾回收领域的棘手问题,包括与运行时系统的接口。 提供在线数据库支持,包含超过2500条垃圾回收相关文献。
程序设计语言原理
Concepts of Programming Languages Douban
(美)賽巴斯塔(Sebesta,R.W.) translator: 张勤,王方矩 publishing house: 机械工业出版社 2008 - 6
本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。最后两章介绍了函数式程序设计语言和逻辑程序设计语言。 本书内容丰富,剖析透彻,被美国和加拿大多所高等院校采用作为教材。本书既可用做高等院校计算机及相关专业本科生程序设计语言课程的教材和参考书,也可供程序设计人员参考。
Programming Languages
Douban
Terrence W. Pratt / Marvin V. Zelkowitz publishing house: Prentice Hall 2000 - 9
For sophomore/junior-level courses in Programming Languages, Comparative Programming Languages, Language Design, and Organization of Programming Languages, in departments of Computer Science and Computer Engineering. Comprehensive in approach, this text explores the major issues in both design and implementation of modern programming languages and provides a basic introduction to the underlying theoretical models on which these languages are based. It focuses on the underlying software and hardware architecture that guides language design, helping students understand why certain decisions are more rational than others in building a program. The emphasis throughout is on fundamental concepts-students learn important ideas, not minor language differences-but several languages are highlighted in sufficient detail to enable students to write programs that demonstrate the relationship between a source program and its execution behavior, without having to purchase separate language reference manuals.