-
Literate Programming (Center for the Study of Language and Information - Lecture Notes)
Literate programming is a programming methodology that combines a programming language with a documentation language, making programs more robust, more portable, and more easily maintained than programs written only in a high-level language. Computer programmers already know both kinds of languages; they need only learn a few conventions about alternating between languages to create programs that are works of literature. A literate programmer is an essayist who writes programs for humans to understand, instead of primarily writing instructions for machines to follow. When programs are written in the recommended style they can be transformed into documents by a document compiler and into efficient code by an algebraic compiler. This anthology of essays from the inventor of literate programming includes Knuth's early papers on related topics such as structured programming, as well as the Computer Journal article that launched literate programming itself. -
C++ Templates
- -
Writing GNU Emacs Extensions
-
UNIX程序设计艺术
编写更好的软件:30年UNIX开发经验的结晶! 本书是作者封笔30年后历时5年创作而成,是一部难得的软件工程方面的佳作。作者首次将哲学、设计模式、工具、文化和传统结合在一起,使得UNIX成为世界上最好且最创新意义的软件,并展示了如何将其拓展到Linux和当今的开源(open-source)运动中。通过取自最主要的开源项目中的示例,作者向UNIX和Linux编程人员展示了如何更巧妙地创建软件,使其更雅致、更灵巧、更具可重用性且具有更长的生命期。 Raymond借鉴了以下13位UNIX先锋人物的观点: Ken Thompson,UNIX的发明者 Ken Arnold,4BSD UNIX的创建者之一,也是《The Java Programming Language》的作者之一。 Steven M.Bellovin,Usenet的创始人之一,也是《Firewalls and Internel Security》的作者之一。 Stuart Feldman,贝尔实验室UNIX开发组成员,也是《make》和《f77》的作者。 Jim gettys和Keith Packard,X视窗系统的主创人员。 Steve Johnson,《yacc》和《Portable C Compiler》两书的作者。 Brian Kernighan《The C Programming Language》、《The UNIX Programming Environment》及《The Practice of Programming》等几本书的作者之一,也是awk编程语言的作者之一。 David Korn,korn shell的创始人,也是《The New Korn Shell Command and Programming Language》的作者。 Mike Lesk,贝尔实验室开发组成员,ms宏包、tbl和refer工具以及lex与UUCP的作者 Doug Mcllroy,贝尔实验室研究组主任,UNIX即诞生于此;同时他还是UNIX管道的发明者。 Marshall Kirk McKusick,4.2BSD快速文件系统的开发者,4.3BSD和4.4BSD开发组的领导。 Henry Spencer,早期UNIX开发者中的佼佼者,他创建了getopt、第一个开源字符串库以及用于4.4BSD的正则表达式引擎。 “Reading this book has filled a gap in my education. I feel a sense of completion, understand that UNIX is really a style of community. Now I get it, at least I get it one level deeper than I ever did before. This book came at a perfect moment for me, a moment when I shifted from visualizing programs as things to programs as the shadows cast by communities. From this perspective, Eric makes UNIX make perfect sense。” 作者简介: Eric S.Raymond多年前即从事NUIX开发。他以开源社区巡回大使的身份而著称。他在著名的《The Cathedral and the Bazaar》、《大教堂和市集》中发表了开源运动的宣言,并且还编著了《The New Hacker's Dictionary》一书。 -
C Primer Plus
The new classic! C Primer Plus, now in its 5th edition, has been revised to include over 20 new programming exercises, newly improved examples and the new ANSI/ISO standard, C99. Task-oriented examples will teach you the fundamentals of C programming. From extended integer types and compound literals to Boolean support and variable-length arrays, you will learn to create practical and real-world applications with C programming. Review questions and programming exercises at the end of each chapter will reinforce what you have learned. This friendly and easy-to-use self-study guide will help you understand the fundamentals of this core programming language. -
C Primer Plus
The new classic! C Primer Plus, now in its 5th edition, has been revised to include over 20 new programming exercises, newly improved examples and the new ANSI/ISO standard, C99. Task-oriented examples will teach you the fundamentals of C programming. From extended integer types and compound literals to Boolean support and variable-length arrays, you will learn to create practical and real-world applications with C programming. Review questions and programming exercises at the end of each chapter will reinforce what you have learned. This friendly and easy-to-use self-study guide will help you understand the fundamentals of this core programming language.