Principles of Programming Languages - Paperback
by Gilles Dowek (Author)
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.
Back Jacket
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.