Programming Languages, a Grand Tour


Book Description

Software -- Programming Languages.




Fundamentals of Programming Languages


Book Description

" .. .1 always worked with programming languages because it seemed to me that until you could understand those, you really couldn't understand computers. Understanding them doesn't really mean only being able to use them. A lot of people can use them without understanding them." Christopher Strachey The development of programming languages is one of the finest intellectual achievements of the new discipline called Computer Science. And yet, there is no other subject that I know of, that has such emotionalism and mystique associated with it. Thus my attempt to write about this highly charged subject is taken with a good deal of caution. Nevertheless, in my role as Professor I have felt the need for a modern treatment of this subject. Traditional books on programming languages are like abbreviated language manuals, but this book takes a fundamentally different point of view. I believe that the best possible way to study and understand today's programming languages is by focusing on a few essential concepts. These concepts form the outline for this book and include such topics as variables, expressions, statements, typing, scope, procedures, data types, exception handling and concurrency. By understanding what these concepts are and how they are realized in different programming languages, one arrives at a level of comprehension far greater than one gets by writing some programs in a vi vB Preface few languages. Moreover, knowledge of these concepts provides a framework for understanding future language designs.




Programming Language Pragmatics


Book Description

Accompanying CD-ROM contains ... "advanced/optional content, hundreds of working examples, an active search facility, and live links to manuals, tutorials, compilers, and interpreters on the World Wide Web."--Page 4 of cover.




Programming Languages: Principles and Paradigms


Book Description

This textbook is a thorough, up-to-date introduction to the principles and techniques that guide the design and implementation of modern programming languages. The goal of the book is to provide the basis for a critical understanding of most modern programming languages. Thus, rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. The notion of ‘abstract machine’ is a unifying concept that helps to maintain an accurate and elementary treatment. The book introduces, analyses in depth, and compares the imperative, object-oriented, functional, logic, concurrent, constraint-based, and service-oriented programming paradigms. All material coming from the first English edition has been updated and extended, clarifying some tricky points, and discussing newer programming languages. This second edition contains new chapters dedicated to constraint, concurrent, and service-oriented programming. Topics and features: Requires familiarity with one programming language is a prerequisite Provides a chapter on history offering context for most of the constructs in use today Presents an elementary account of semantical approaches and of computability Introduces new examples in modern programming languages like Python or Scala Offers a chapter that opens a perspective on applications in artificial intelligence Conceived as a university textbook, this unique volume will also be suitable for IT specialists who want to deepen their knowledge of the mechanisms behind the languages they use. The choice of themes and the presentation style are largely influenced by the experience of teaching the content as part of a bachelor's degree in computer science.




The Structure of Typed Programming Languages


Book Description

The text is unique in its tutorial presentation of higher-order lambda calculus and intuitionistic type theory.




Introduction to Programming Languages


Book Description

In programming courses, using the different syntax of multiple languages, such as C++, Java, PHP, and Python, for the same abstraction often confuses students new to computer science. Introduction to Programming Languages separates programming language concepts from the restraints of multiple language syntax by discussing the concepts at an abstract level. Designed for a one-semester undergraduate course, this classroom-tested book teaches the principles of programming language design and implementation. It presents: Common features of programming languages at an abstract level rather than a comparative level The implementation model and behavior of programming paradigms at abstract levels so that students understand the power and limitations of programming paradigms Language constructs at a paradigm level A holistic view of programming language design and behavior To make the book self-contained, the author introduces the necessary concepts of data structures and discrete structures from the perspective of programming language theory. The text covers classical topics, such as syntax and semantics, imperative programming, program structures, information exchange between subprograms, object-oriented programming, logic programming, and functional programming. It also explores newer topics, including dependency analysis, communicating sequential processes, concurrent programming constructs, web and multimedia programming, event-based programming, agent-based programming, synchronous languages, high-productivity programming on massive parallel computers, models for mobile computing, and much more. Along with problems and further reading in each chapter, the book includes in-depth examples and case studies using various languages that help students understand syntax in practical contexts.




Programming Language Pragmatics


Book Description

Programming Language Pragmatics, Fourth Edition, is the most comprehensive programming language textbook available today. It is distinguished and acclaimed for its integrated treatment of language design and implementation, with an emphasis on the fundamental tradeoffs that continue to drive software development.The book provides readers with a solid foundation in the syntax, semantics, and pragmatics of the full range of programming languages, from traditional languages like C to the latest in functional, scripting, and object-oriented programming. This fourth edition has been heavily revised throughout, with expanded coverage of type systems and functional programming, a unified treatment of polymorphism, highlights of the newest language standards, and examples featuring the ARM and x86 64-bit architectures. - Updated coverage of the latest developments in programming language design, including C & C++11, Java 8, C# 5, Scala, Go, Swift, Python 3, and HTML 5 - Updated treatment of functional programming, with extensive coverage of OCaml - New chapters devoted to type systems and composite types - Unified and updated treatment of polymorphism in all its forms - New examples featuring the ARM and x86 64-bit architectures




Essentials of Programming Languages


Book Description

This textbook offers an understanding of the essential concepts of programming languages. The text uses interpreters, written in Scheme, to express the semantics of many essential language elements in a way that is both clear and directly executable.




The Philosophical Programmer


Book Description

In one of the most unorthodox yet necessary programming books ever to appear, Daniel Kohanski, a seasoned programmer and systems consultant, delves into the foundational concepts and basic mechanics of computers and computer programming. Rather than writing yet another book that teaches readers how to write code, Kohanski penetrates more deeply into the nature of programming istelf. By exploring what programming is all about, The Philosophical Programmer: Reflections on the Moth in the Machine offers an introduction for the computer neophyte as well as an opportunity for experienced programmers to understand better the fundamental nature of their craft.




Programming Languages


Book Description

Programming Languages: Paradigm and Practice, second edition, offers an up-to-date presentation of the concepts, theories, and histories of the numerous high-level programming languages. The book gives equal weight to both imperative (Pascal, C, C++, Ada, etc.) and declarative paradigms (Prolog, LISP, SQL, SETL, etc.) while emphasizing theoretical foundations for different language types.