|
Showing 1 - 4 of
4 matches in All Departments
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.
|
Computer Science Logic - 6th Workshop, CSL'92, San Miniato, Italy, September 28 - October 2, 1992. Selected Papers (Paperback, 1993 ed.)
Egon Boerger, Gerhard Jager, Hans Kleine Buning, Simone Martini, Michael M. Richter
|
R1,760
Discovery Miles 17 600
|
Ships in 10 - 15 working days
|
This volume presents the proceedings of the Computer Science Logic
Workshop CSL '92, held in Pisa, Italy, in September/October 1992.
CSL '92 was the sixth of the series and the first one held as
Annual Conference of the European Association for Computer Science
Logic (EACSL). Full versions of the workshop contributions were
collected after their presentation and reviewed. On the basis of 58
reviews, 26 papers were selected for publication, and appear here
in revised final form. Topics covered in the volume include: Turing
machines, linear logic, logic of proofs, optimization problems,
lambda calculus, fixpoint logic, NP-completeness, resolution,
transition system semantics, higher order partial functions,
evolving algebras, functional logic programming, inductive
definability, semantics of C, classes for a functional language,
NP-optimization problems, theory of types and names, sconing and
relators, 3-satisfiability, Kleene's slash, negation-complete logic
programs, polynomial-time oracle machines, and monadic second-order
properties.
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.
|
|