Programming in Lua
by Roberto Ierusalimschy
Lua is becoming the language of choice for anyone who needs a scripting language that is simple, efficient, extensible, portable, and free. Currently, Lua is being used in areas ranging from embedded systems to Web development and is widely spread in the game industry, where knowledge of Lua is an indisputable asset.
Lua 5.1 Reference Manual
by Roberto Ierusalimschy, Luiz Henrique de Figueiredo and Waldemar Celes
This manual is the official definition of Lua 5.1. It covers Lua's syntax and semantics, the full API with C, and the standard libraries. Lua is an extension programming language designed to support general procedural programming with data description facilities. It also offers good support for object-oriented programming, functional programming, and data-driven programming. Lua is intended to be used as a powerful, light-weight scripting language for any program that needs one.
Real World Haskell
by Bryan O'Sullivan, Don Stewart, and John Goerzen
This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. Learn how to use Haskell in a variety of practical ways, whether it's for short, script-like programs or large and demanding applications. Written for experienced programmers, Real World Haskell takes you through the basics of functional programming at a brisk pace, and helps you increase your understanding of Haskell in real-world issues like I/O, performance, dealing with data, concurrency, and more as you move through each chapter.
Mr. Neighborly's Humble Little Ruby Book
by Jeremy McAnally
Ruby has taken the programming world by storm. With the slow decline of Java and the catalyst of Rails, it has risen to become one of the most popular programming languages, rising to #10 on the TIOBE index and winning their "Programming Language of the Year" award.
The architecture of concurrent programs
by Per Brinch Hansen
This book describes a method for writing concurrent computer programs of high quality. It is written for professional programmers and students who are faced with the complicated task of building reliable computer operating systems or real-time control programs.
The motivations for mastering concurrent programming are both economic and intellectual. Concurrent programming makes it possible to use a computer where many things need attention at the same time--be they people at terminals or temperatures in an industrial plant. It is without doubt the most difficult form of programming.
Operating system principles
by Per Brinch Hansen
This book tries to give students of computer science and professional programmers a general understanding of operating systems--the programs that enable people to share computers efficiently.
To make the sharing of a computer tolerable, an operating system must enforce certain rules of behavior on all its users. One would therefore expect the designers of operating systems to do their utmost to make them as simple, efficient, and reliable as possible.
The theory of parsing, translation, and compiling
by Alfred V. Aho and Jeffrey D. Ullman
From volume 1 Preface
This book is intended for a one or two semester course in compiling theory at the senior or graduate level. It is a theoretically oriented treatment of a practical subject. Our motivation for making it so is threefold.
Structured programming
by O. J. Dahl, E. W. Dijkstra and C. A. R. Hoare
In recent years there has been an increasing interest in the art of computer programming, the conceptual tools available for the design of programs, and the prevention of programming oversights and error. The initial outstanding contribution to our understanding of this subject was made by E. W. Dijkstra, whose Notes on Structured Programming form the first and major section of this book.
Formal languages and their relation to automata
by John E. Hopcroft and Jeffrey D. Ullman
This book presents the theory of formal languages as a coherent theory and makes explicit its relationship to automata. The book begins with an explanation of the notion of a finite description of a language. The fundamental descriptive device--the grammar--is explained, as well as its three major subclasses--regular, context-free, and context-sensitive grammars. The context-free grammars are treated in detail, and such topics as normal forms, derivation trees, and ambiguity are covered. Four types of automata equivalent to the four types of grammars are described.
The Wealth of Networks: How Social Production Transforms Markets and Freedom
by Yochai Benkler
In this thick academic book, Yale law professor Benkler offers a comprehensive catalog of flashpoints in the conflict between old and new information creators. In Benkler's view, the new "networked information economy" allows individuals and groups to be more productive than profit-seeking ventures.
