Author(s): Maurizio Gabbrielli (Author), Simone Martini (Author)
Publisher: Springer
Publication Date: 15 April 2010
Edition: 1st
Language: English
Print length: 460 pages
ISBN-10: 9781848829138
ISBN-13: 9781848829138
Book Description
With great pleasure, I accepted the invitation extended to me to write these few lines of Foreword. I accepted for at least two reasons. The ?rst is that the request came to me from two colleagues for whom I have always had the greatest regard, starting from the time when I ?rst knew and appreciated them as students and as young researchers. The second reason is that the text by Gabbrielli and Martini is very near to the book that I would have liked to have written but, for various reasons, never have. In particular,theapproachadoptedinthisbookistheonewhichImyselfhavefollowed when organising the various courses on programming languages I have taught for almost thirty years at different levels under various titles. The approach, summarised in 2 words, is that of introducing the general concepts (either using linguistic mechanisms or the implementation structures corresponding to them) in a manner that is independent of any speci?c language; once this is done, “real languages” are introduced. This is the only approach that allows one to – veal similarities between apparently quite different languages (and also between paradigms). At the same time, it makes the task of learning different languages e- ier. In my experience as a lecturer, ex-students recall the principles learned in the course even after many years; they still appreciate the approach which allowed them to adapt to technological developments without too much dif?culty.
Editorial Reviews
Review
Select Guide Rating
From the Back Cover
This excellent addition to the UTiCS series of undergraduate textbooks provides a detailed and up to date description of the main principles behind the design and implementation of modern programming languages.
Rather than focusing on a specific language, the book identifies the most important principles shared by large classes of languages. To complete this general approach, detailed descriptions of the main programming paradigms, namely imperative, object-oriented, functional and logic are given, analysed in depth and compared. This provides the basis for a critical understanding of most of the programming languages.
An historical viewpoint is also included, discussing the evolution of programming languages, and to provide a context for most of the constructs in use today. The book concludes with two chapters which introduce basic notions of syntax, semantics and computability, to provide a completely rounded picture of what constitutes a programminglanguage.