Synopses & Reviews
The development of programming languages has profoundly impacted our relationship with language, complexity and machines. By introducing the principles of programming languages, using the Java language as a support, Gilles Dowek provides the necessary fundamentals of this language as a first objective. It is important to realise that knowledge of a single programming language is not really enough. To be a good programmer, you should be familiar with several languages and be able to learn new ones. In order to do this, you'll need to understand universal concepts, such as functions or cells, which exist in one form or another in all programming languages. The most effective way to understand these universal concepts is to compare two or more languages. In this book, the author has chosen Caml and C. To understand the principles of programming languages, it is also important to learn how to precisely define the meaning of a program, and tools for doing so are discussed. Finally, there is coverage of basic algorithms for lists and trees. Intended for students with some small experience of computer programming, learned empirically in a single programming language other than Java, students in both computer science and engineering will find this book a very welcome introduction to the principles of programming languages. Written for students this book presents what all scientists and engineers should know about programming languages.
Review
From the reviews: "The primary programming language topics covered are basic imperative constructs, functions, semantics, recursion, data types, exceptions, and objects. It is clear and easy to read, with nice exercises ... . it is written at a good level for undergraduate students." (M. D. Derk, ACM Computing Reviews, June, 2009) "As stated in the title, this book focuses on the principles of programming languages. ... Numerous exercises are included, ranging from simplistic to relatively complex. ... This book would be of most help to those who already know exactly what they are looking for and would like to see an example of that construct. Summing Up: Recommended. Graduate students through professionals/practitioners." (M. B. DuBois, Choice, Vol. 47 (6), February, 2010)
Synopsis
The development of programming languages has radically modified our relation to language, complexity and machines. This book is an introduction to the principles around which these languages are organised - imperative constructions, functional constructions, reference, dynamic data types, objects and more. Using Java as a main language, but systematically comparing it to other languages it enables the reader to understand the unifying concepts that lie beneath each particular language and provides the tools that allow the students to adapt to new programming languages.
Synopsis
We ve known about algorithms for millennia, but we ve only been writing c- puter programs for a few decades. A big di?erence between the Euclidean or Eratosthenes age and ours is that since the middle of the twentieth century, we express the algorithms we conceive using formal languages: programming languages. Computer scientists are not the only ones who use formal languages. - tometrists, for example, prescribe eyeglasses using very technical expressions, ? ? such as OD: -1.25 (-0.50) 180 OS: -1.00 (-0.25) 180, in which the parent- ses are essential. Many such formal languages have been created throughout history: musical notation, algebraic notation, etc. In particular, such languages have long been used to control machines, such as looms and cathedral chimes. However, until the appearance of programming languages, those languages were only of limited importance: they were restricted to specialised ?elds with only a few specialists and written texts of those languages remained relatively scarce. This situation has changed with the appearance of programming l- guages, which have a wider range of applications than the prescription of e- glassesorthecontrolofaloom, areusedbylargecommunities, andhaveallowed the creation of programs of many hundreds of thousands of lines."
Synopsis
This introduction to the principles and concepts of programming language uses Java as a main language then systematically compares it to other languages, thereby providing the tools that allow students to adapt to new programming languages.
Table of Contents
Imperative Core.- Functions.- Recursion.- Records.- Dynamic Data Types.- Programming with Lists.- Exceptions.- Objects.- Programming with Trees.- Index.