tailieunhanh - Programming Languages - Application and Interpretation

The book is the textbook for the programming languages course at Brown University, which is taken primarily by third and fourth year undergraduates and beginning graduate (both MS and PhD) students. It seems very accessible to smart second year students too, and indeed those are some of my most successful students. The book has been used at over a dozen other universities as a primary or secondary text. The book’s material is worth one undergraduate course worth of credit. | Programming Languages Application and Interpretation Shriram Krishnamurthi Brown University Copyright 2003 Shriram Krishnamurthi This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike United States License. If you create a derivative work please include the version information below in your attribution. This book is available free-of-cost from the author s Web site. This version was generated on 2007-04-26. ii Preface The book is the textbook for the programming languages course at Brown University which is taken primarily by third and fourth year undergraduates and beginning graduate both MS and PhD students. It seems very accessible to smart second year students too and indeed those are some of my most successful students. The book has been used at over a dozen other universities as a primary or secondary text. The book s material is worth one undergraduate course worth of credit. This book is the fruit of a vision for teaching programming languages by integrating the two cultures that have evolved in its pedagogy. One culture is based on interpreters while the other emphasizes a survey of languages. Each approach has significant advantages but also huge drawbacks. The interpreter method writes programs to learn concepts and has its heart the fundamental belief that by teaching the computer to execute a concept we more thoroughly learn it ourselves. While this reasoning is internally consistent it fails to recognize that understanding definitions does not imply we understand consequences of those definitions. For instance the difference between strict and lazy evaluation or between static and dynamic scope is only a few lines of interpreter code but the consequences of these choices is enormous. The survey of languages school is better suited to understand these consequences. The text therefore melds these two approaches. Concretely students program with a new set of features first then try to distill those principles into an .

TỪ KHÓA LIÊN QUAN