An Experiential Introduction to Principles of Programming Languages

An Experiential Introduction to Principles of Programming Languages
ISBN-10
0262362430
ISBN-13
9780262362436
Category
Computers
Pages
304
Language
English
Published
2022-05-03
Publisher
MIT Press
Author
Hridesh Rajan

Description

A textbook that uses a hands-on approach to teach principles of programming languages, with Java as the implementation language. This introductory textbook uses a hands-on approach to teach the principles of programming languages. Using Java as the implementation language, Rajan covers a range of emerging topics, including concurrency, Big Data, and event-driven programming. Students will learn to design, implement, analyze, and understand both domain-specific and general-purpose programming languages. • Develops basic concepts in languages, including means of computation, means of combination, and means of abstraction. • Examines imperative features such as references, concurrency features such as fork, and reactive features such as event handling. • Covers language features that express differing perspectives of thinking about computation, including those of logic programming and flow-based programming. • Presumes Java programming experience and understanding of object-oriented classes, inheritance, polymorphism, and static classes. • Each chapter corresponds with a working implementation of a small programming language allowing students to follow along.

Other editions

Similar books

  • An Experiential Introduction to Principles of Programming Languages
    By Hridesh Rajan

    The book also discusses a range of emerging topics in programming languages missing from existing textbooks, including concurrency, Big Data, and event-driven programming.

  • Proof, Language, and Interaction: Essays in Honour of Robin Milner
    By Robin Milner

    This collection of essays reflects the breadth of research in computer science. Following a biography of Robin Milner it contains sections on semantic foundations; programming logic; programming languages; concurrency; and mobility.

  • Computer Programming with COMIT II
    By Victor H. Yngve

    COMIT is a symbol-manipulating (or string-processing) language designed to handle texts, words, characters, logical expressions, descriptors, attributes, tags, and the like, and to manipulate them in the computer in ways...

  • The Definition of Standard ML: Revised
    By Robin Milner, Mads Tofte, Robert Harper

    Software -- Programming Languages.

  • The Scheme Programming Language: ANSI Scheme
    By R. Kent Dybvig

    Scheme is a general purpose programming language descended from Algol and Lisp. Because it is conceptually clean and simple, it is an easy language to learn. At the same time,...

  • Foundations of Disjunctive Logic Programming
    By Jack Minker, Arcot Rajasekar, Jorge Lobo

    For example , consider a large company with several branches . Each branch manages its own database ... Consider first a simpler problem of combining several deductive databases without constraints . That is , the new combined deductive ...

  • Abstraction Mechanisms and Language Design
    By Paul N. Hilfinger

    The research reported in this book advances the art of designing programming languages. It sets forth some design principles for abstraction mechanisms and demonstrates their power by showing how they...

  • Design Concepts in Programming Languages
    By Franklyn Turbak, David Gifford

    Robert Harper and Mark Lillibridge. A type-theoretic approach to higherorder modules with sharing. In POPL '94: Proceedings of the 21st ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 123–137.

  • Foundations for Programming Languages
    By John C. Mitchell

    Anyone who wants to know how, for example, object-oriented programming rests upon a firm foundation in logic should read this book.

  • Programming Linguistics
    By David Hillel Gelernter, Suresh Jagannathan

    Programming Linguistics examines a wide range of programming language designs, from Fortran to the newest research languages, to discover their common patterns, relationships, and antecedents. In studying the evolution of...