We all love to practice when it comes to programming, but it is as important to learn the theory behind these programming languages if you are seeking a career with these. So for all the new and pro programmers out there, we bring a sorted collection of 31 ebooks on the theory of various programming languages. For anyone who has just entered the bubble of programming language or someone who is still trying to choose the language they want to peruse, these books are a must read. |

**
**

**
**

**
**

**by Robert Harper - Carnegie Mellon University , 2005**

**As the introduction of the book says, "What follows is a working draft of a planned book that seeks to strike a careful balance between developing the theoretical foundations of programming languages and explaining the pragmatic issues involved in their design and implementation."**

**by Andrew M. Pitts - University of Cambridge , 2002**

**As the introduction of the book says, "These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs."**

**by John R. Levine - Morgan Kaufmann , 1999**

**As the introduction of the book says, "The author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the performance-improving techniques supported by many modern linkers, etc."**

**by Jean Gallier, Andrew Hicks - University of Pennsylvania , 2006**

**As the introduction of the book says, "From the table of contents: Automata; Formal Languages (A Grammar for Parsing English, Context-Free Grammars, Derivations and Context-Free Languages, Normal Forms for Context-Free Grammars, Chomsky Normal Form, ...); Computability; Current Topics."**

**by Muhammad Tanvir Afzal (ed.) - InTech , 2012**

**As the introduction of the book says, "The book is a blend of a number of great ideas, theories, mathematical models, and practical systems in the domain of Semantics. Topics include: Background; Queries, Predicates, and Semantic Cache; Algorithms and Logic Programming; etc."**

**by Bill Hails , 2010**

**As the introduction of the book says, "This book presents an informal and friendly introduction to some of the core ideas in modern computer science, using the programming language Perl as its vehicle. The book takes the form of a series of working interpreters for the language PScheme."**

**by Keijo Ruohonen - Tampere University of Technology , 2009**

**As the introduction of the book says, "In these notes the classical Chomskian formal language theory is fairly fully dealt with, omitting however much of automata constructs and computability issues. Surveys of Lindenmayer system theory and the mathematical theory of codes are given."**

**by Shuly Wintner - ESSLLI , 2001**

**As the introduction of the book says, "This text is a mild introduction to Formal Language Theory for students with little or no background in formal systems. The motivation is Natural Language Processing, and the presentation is geared towards NLP applications, with extensive examples."**

**by J. M. Spivey - Prentice Hall , 1992**

**As the introduction of the book says, "The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind."**

**by Peter Selinger - Dalhousie University , 2007**

**As the introduction of the book says, "Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc."**

**by Gary Hardegree - UMass Amherst , 2009**

**As the introduction of the book says, "Contents: Basic Categorial Syntax; Shortcomings of Standard Categorial Syntax; Expanded Categorial Syntax; Examples of Expanded Categorial Syntax; Categorial Logic; Basic Categorial Semantics; Lambda-Abstraction; Expanded Categorial Semantics; etc."**

**by Joey Paquet, Serguei A. Mokhov - arXiv , 2010**

**As the introduction of the book says, "Lecture notes for the Comparative Studies of Programming Languages course. These notes include a compiled book of primarily related articles from the Wikipedia, as well as Comparative Programming Languages book and other resources."**

**by A. Filinski, R. Gluck, N. D. Jones - Datalogisk Institut , 2007**

**As the introduction of the book says, "This text concerns several dimensions of programming languages. We will emphasize precise definitions of the effects of various programming language features, the semantics and implementation of programming languages, and proofs concerning programs."**

**by Doug Hoyte - Lulu.com , 2008**

**As the introduction of the book says, "One of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. This book is about macros, that is programs that write programs."**

**by J. Girard, Y. Lafont, P. Taylor - Cambridge University Press , 1989**

**As the introduction of the book says, "This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed."**

**by Neal Ziring , 1998**

**As the introduction of the book says, "The Dictionary of Programming Languages is an online compendium of computer coding methods assembled to provide information and aid your appreciation for computer science history. The dictionary currently has over 120 entries."**

**by Simon Peyton Jones, David Lester - Prentice Hall , 1992**

**As the introduction of the book says, "This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. It is intended to be a source of practical material, to help make functional-language implementations come alive."**

**by Kenneth Slonneger, Barry L. Kurtz - Addison Wesley Longman , 1994**

**As the introduction of the book says, "The book presents the typically difficult subject of formal methods in an informal, easy-to-follow manner. Readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts."**

**by D.E. Rydeheard, R.M. Burstall , 2001**

**As the introduction of the book says, "The book is a bridge-building exercise between computer programming and category theory. Basic constructions of category theory are expressed as computer programs. It is a first attempt at connecting the abstract mathematics with concrete programs."**

**by Andrea Asperti, Giuseppe Longo - MIT Press , 1991**

**As the introduction of the book says, "Here is an introduction to category theory for the working computer scientist. It is a self-contained introduction to general category theory and the mathematical structures that constitute the theoretical background."**

**by Monti Ben-Ari - John Wiley & Sons , 1996**

**As the introduction of the book says, "The book explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions."**

**by Mike Grant, Zachary Palmer, Scott Smith , 2009**

**As the introduction of the book says, "An introduction to the study of programming languages for juniors, seniors, and graduate students. The book treats topics from a foundational perspective, it focuses on core concepts in language design, not directly on applied languages."**

**by Neil D. Jones, Carsten K. Gomard, Peter Sestoft - Prentice Hall , 1993**

**As the introduction of the book says, "The book about partial evaluation, a program optimization technique also known as program specialization. It presents principles for constructing partial evaluators for a variety of programming languages, and gives references to the literature."**

**by Robert Harper , 2000**

**As the introduction of the book says, "Provides an account of the role of type theory in programming language design and implementation. The stress is on the use of types as a tool for analyzing programming language features and studying their implementation."**

**by Robert Harper , 2008**

**As the introduction of the book says, "This is a book on the foundations of programming languages. The emphasis is on the concept of type, which organizes the computational universe in the same way that the concept of set may be seen as an organizing principle for mathematics."**

**by Hanne Riis Nielson, Flemming Nielson - John Wiley & Sons , 1992**

**As the introduction of the book says, "The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs."**

**by Krysia Broda et al - Prentice Hall Trade , 1994**

**As the introduction of the book says, "The text for advanced undergraduate/graduate students of computer science. It introduces functional, imperative and logic programming and explains how to do it correctly. Functional programming is presented as a programming language in its own right."**

**by David Schmidt - Kansas State University , 2009**

**As the introduction of the book says, "Denotational semantics is a methodology for giving mathematical meaning to programming languages and systems. This book was written to make denotational semantics accessible to a wider audience and to update existing texts in the area."**

**by Eric C.R. Hehner - Springer , 2006**

**As the introduction of the book says, "Understanding programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. It describes a simple and comprehensive theory."**

**by Shriram Krishnamurthi - Lulu.com , 2007**

**As the introduction of the book says, "The textbook for a programming languages course, taken primarily by advanced undergraduate and beginning graduate students. This book assumes that students have modest mathematical maturity, and are familiar with the existence of the Halting Problem."**

**by Harold Abelson, Gerald Jay Sussman, Julie Sussman - McGraw-Hill , 1996**

**As the introduction of the book says, "The book teaches how to program by employing the tools of abstraction and modularity. The central philosophy is that programming is the task of breaking large problems into small ones. You will learn how to program and how to think about programming."**