Amazon.com
Mr. Kapasi, the protagonist of Jhumpa Lahiri's title story, would certainly have his work cut out for him if he were forced to interpret the maladies of all the characters in this eloquent debut collection. Take, for example, Shoba and Shukumar, the young couple in "A Temporary Matter" whose marriage is crumbling in the wake of a stillborn child. Or Miranda in "Sexy," who is involved in a hopeless affair with a married man. But Mr. Kapasi has problems enough of his own; in addition to his regular job working as an interpreter for a doctor who does not speak his patients' language, he also drives tourists to local sites of interest. His fare on this particular day is Mr. and Mrs. Das--first-generation Americans of Indian descent--and their children. During the course of the afternoon, Mr. Kapasi becomes enamored of Mrs. Das and then becomes her unwilling confidant when she reads too much into his profession. "I told you because of your talents," she informs him after divulging a startling secret.
I'm tired of feeling so terrible all the time. Eight years, Mr. Kapasi, I've been in pain eight years. I was hoping you could help me feel better; say the right thing. Suggest some kind of remedy.
Of course, Mr. Kapasi has no cure for what ails Mrs. Das--or himself. Lahiri's subtle, bittersweet ending is characteristic of the collection as a whole. Some of these nine tales are set in India, others in the United States, and most concern characters of Indian heritage. Yet the situations Lahiri's people face, from unhappy marriages to civil war, transcend ethnicity. As the narrator of the last story, "The Third and Final Continent," comments: "There are times I am bewildered by each mile I have traveled, each meal I have eaten, each person I have known, each room in which I have slept." In that single line Jhumpa Lahiri sums up a universal experience, one that applies to all who have grown up, left home, fallen in or out of love, and, above all, experienced what it means to be a foreigner, even within one's own family. --Alix Wilber
Book Description
Navigating between the Indian traditions they've inherited and the baffling new world, the characters in Jhumpa Lahiri's elegant, touching stories seek love beyond the barriers of culture and generations. In "A Temporary Matter," published in The New Yorker, a young Indian-American couple faces the heartbreak of a stillborn birth while their Boston neighborhood copes with a nightly blackout. In the title story, an interpreter guides an American family through the India of their ancestors and hears an astonishing confession. Lahiri writes with deft cultural insight reminiscent of Anita Desai and a nuanced depth that recalls Mavis Gallant. She is an important and powerful new voice.
Customer Reviews:
UNUSUALLY BORING.......2007-09-20
I had heard so much about this writer and was anxious to read her work. I was highly disappointed when I did. The stories and characters are exceptionally bland and flat. The author has virtually nothing interesting to say about any subject. In fact, the stories come across as being naive--even affected. From what I have gathered about her bio, Ms. Lahiri has spent most of her life sequestered in academia. Perhaps this is a contributing factor for the inauthentic quality of her work. Her style of writing, however, (sentence structure for example) does have a nice quality to it. But style is only one part of the art of writing. In regards to all other aspects (story, characters, suspense, human interest) this collection fails utterly. An extremely disappointing read. I was taken nowhere. Hard to believe this book garnered so many awards.
The Interpreter of Maladies by Jhumpa Lahiri.......2007-09-19
This collection of nine short stories won the Pulitzer Prize for fiction in 1999. The author, Jhumpa Lahiri, is of Indian descent, born in London and currently lives in New York, so each story is a look into a different part of Indian culture or into Indian people and their way of life. The first three stories were great and the title story was my favorite. The man literally is an interpreter of maladies, who works at a hospital translating patients' symptoms to the doctor and in this it is revealed he has a lot of power and obligation in telling the doctor exactly what the patient is suffering from so the correct diagnosis can be given. After this story, I found the rest of book slow, kind of boring, and the stories just weren't as engaging.
What started to annoy me as a I progressed through the book was that here you had a no doubt rich and well treated Indian woman who went to very good schools, lived in a good home in England, went to a good writing school for her MFA - probably in New York - and proceeded to publish her work in prestigious magazines like the New Yorker, and yet she is writing about Indian life and how hard it is for most people, especially those not as well off, and it just really got to me that she had succeeded in this way writing about a way of life she'd never experienced.
Now, having finished the book, my thoughts towards Lahiri have changed a little. For with her upbringing she was never able to experience Indian culture as an Indian living in India. This was no doubt a big deal to her, and is to Indian culture. A friend at work, who is of Indian decent, but born here, told me the other day that Indians don't consider him Indian because he was born here. I realize now that this was probably the very thing that changed my mind about this book. It helped me realize that in writing these stories, Lahiri is living the lives of these people, getting the experiences, that she was never able to, and in doing so is helping to define her Indian heritage better.
The result is a collection of interesting and unique stories - perhaps not quite deserving of the Pulitzer -- about Indian people trying to live ordinary Indian lives.
For more book reviews, and other writings, go to www.alexctelander.com
Great stories.......2007-09-10
I liked every one of the stories in "Interpreter of Maladies". Well written.
It's rare to find a collection of short stories where all of the stories are good.
Worthy of a Pulitzer Prize.......2007-09-07
After seeing numerous praises of this book, I finally had to read it for myself. And I'm glad I did. Even though this book is a compilation of nine unrelated short stories with the only common theme being either India or Bangladesh, it leaves the reader with plenty to think about. Lahiri's writing is vivid and fresh. Her subjects and dialogue are realistic and touch upon the human experience. Of all the stories, I enjoyed "A Temporary Matter" the best, if only because it is the one story I related to best. But all are worth reading. The book overall is short, but the stories will linger with you for a long time.
Interpretation of well-built characters.......2007-08-07
I had to read this book for one of my college lit classes and I was surprised at how much I enjoyed it. Even though I've not been in the class for a long time, this book has stuck with me and I occasionally reread my favorite stories.
Interpreter of Maladaies is a collection of nine short stories generally about Pakistani/Indian and their family, relationships, tribulations and joys. For each of the stories being so short, I was surprised that the characters were as truly realized in their development as any character in a 250+ page book. Each story also had a lesson that the characters learned or something that they overcame and it was uplifting to me to read it.
Though I've not read anything else by Jhumpa Lahiri, I would highly recommend this collection of shorts because they're not as demanding to a reader in the sense that you can read one story in a few minutes rather than having to dedicate hours into one story in one book.
My favorites out of this book were Sexy, Interpreter of Maladies and The Third and Final Continent.
Average customer rating:
- All-in-one as a study guide
- Read Book - Passed September 1007 test - nuff said
- Great book!
- Great Study resource
- Excelente libro para el autoestudio
|
CISSP All-in-One Exam Guide
Shon Harris
Manufacturer: Osborne/McGraw-Hill
ProductGroup: Book
Binding: Hardcover
Osborne-McGraw-Hill
| Publisher
| Certification Central
| Computers & Internet
| Subjects
| Books
General
| Certification Central
| Computers & Internet
| Subjects
| Books
CISSP
| Exams
| Certification Central
| Computers & Internet
| Subjects
| Books
Network Security
| Networking
| Computers & Internet
| Subjects
| Books
Compilers
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Information Systems
| Software Engineering
| Computer Science
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| E-commerce
| Industries & Professions
| Business & Investing
| Subjects
| Books
jp-unknown1
| Specialty Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Business & Investing
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
Official (ISC)2 Guide to the CISSP Exam
-
Official (ISC)2 Guide to the CISSP CBK ((Isc)2 Press Series)
-
CISSP For Dummies (For Dummies (Computer/Tech))
-
Mike Meyers' CISSP(R) Certification Passport
-
The CISSP Prep Guide: Gold Edition
ASIN: 0072193530 |
Book Description
All-in-One is all you need! This authoritative reference offers complete coverage of all material on the Certified Information Systems Security Practitioner (CISSP) exam. You'll find exam objectives at the beginning of each chapter, helpful exam tips, end-of-chapter practice questions, and photographs and illustrations. The bonus CD-ROM contains practice tests and hundreds of questions. This comprehensive guide not only helps you pass this challenging certification exam, but will also serve as an invaluable on-the-job reference.
Customer Reviews:
All-in-one as a study guide.......2007-10-09
I just received an e-mail confirming I passed the test and I can say that this book is a really good overall reference. It has very good coverage of all the core domains that the CISSP exam covers and was practically my only study tool - definitely my only study book. I used the free exam questions at cccure.org (great reference) as well as some quick guides from that site (that are pretty much built off of the all-in-one and a couple of other books to provide quick reference).
I highly recommend this book (or the 4th edition which has just come out) to anyone considering taking the exam. While the exam is difficult, mastery of the subject matter is definitely possible with this guide and a bit of experience. The exam is very much concept-based, and by that I mean that you need to understand the concepts behind the core domains as oppsoed to just memorizing everything. Memorization is useful (and necessary) in a number of areas, but if you memorize without understanding the concepts there are plenty of questions that you can miss on the test. The exam really does a pretty good job of trying to draw on how well you understand the material. There are a number of people out there that state that the jokes or no good or there are gaps. First, it's not a comedy book. The style is meant to put the reader at ease so that the material can be more easily absorbed. Second, there are going to be gaps with any book because the exam is not written off of one. Plus, I tried reading the "official guide" a long time back. Dry, dry, dry, dry, dry. I couldn't force myself past 175 pages. And finally, there are a number of books that go into an absurd amount of detail. I think it's easy to get lost in that stuff. This one has good coverage without getting you lost in the weeds for an exam where that really isn't necessary. Overall I probably studied about 170 to 200 hours over a period of 3 to 4 months (but not every single day). Give yourself plenty of time to read and understand.
Also, the CD questions are a good way to test your comprehension. Use it. The end of the chapter questions are ok, but you should DEFINITELY use cccure.org to get a feel for how difficult questions will actually be and how they are worded on the test.
To anyone going for it I say good luck. It's not an easy test to take. As a frame of reference, I was able to complete it in about 4 hours - being really careful to read the questions well and also going back over the ones that I wasn't so sure about. It's grueling, but very doable.
Hope this helps.
Read Book - Passed September 1007 test - nuff said.......2007-10-08
I took the CISSP test in September 2007 and was shocked at how easy the exam was for me. I assume my preparation made it seem easy, so...
Prior to taking the test:
I bought the AIO (3rd ed.) and started reading it.
It was too long, so I bought the CompTIA Security+ book.
I read the CompTIA book and took the Security+ test (easy test as I expected)
I then started reading the AIO again at a 20page/hour pace while commuting to/from work.
I also got a copy of the Shon Harris DVDs and made them into MP3s and listened to it on my commute to/from the train station (They could have sold this as a book on tape for the AIO)
I highly recommend this book ...and her DVDs (converted to MP3s)
Great book!.......2007-10-04
This book was excellent in helping me study for the CISSP exam. Good luck.
Great Study resource.......2007-09-25
I just passed the test. I used the Passport, this book, and the Official Guide to the (ISC)2 CBK to study along with practice tests, etc. I thought this was the best study guide out of them. The CBK guide gives more information on the various topics but this gives you a lot of the information you need and I would highly recommend anyone taking the exam to read this book. The Passport was also useful as a brief study guide. It gives a good overview to read first and to read through again to refresh for the test. The practice questions on the CD were also very helpful in preparation. I have never been disappointed with any of the books in the All in One series that i have read.
Excelente libro para el autoestudio.......2007-09-11
Para preparar el examen CISSP es el mejor apoyo con el que puedes contar, este libro explica en un lenguaje simple y directo, a diferencia de otros libros del mercado.
Recomiendo leer este libro a todas las persona que quieren obtener la certificación.
Book Description
PowerShell replaces cobbled-together assemblies of third-party management tools with an elegant programming language and a powerful scripting shell for the Windows environment. In the tradition of Manning's ground breaking "In Action" series, this book comes from right from the source. Written by Bruce Payette, one of principal creators of PowerShell, Windows PowerShell in Action shows you how to build scripts and utilities to automate system tasks or create powerful system management tools to handle the day-to-day tasks that drive a Windows administrator's life. Because it's based on the .NET platform, PowerShell is also a powerful tool for developers and power users.
Windows PowerShell in Action was written by Bruce Payette, one of the founding members of the Windows PowerShell team, co-designer of the PowerShell language and the principal author of the PowerShell language implementation. The book enables you to get the most out of the PowerShell environment. Using many examples, both small and large, this book illustrates the features of the language and environment and shows how to compose those features into solutions, quickly and effectively.
This book is designed for anyone who wants to learn PowerShell and use it well. Rather than simply being a book of recipes to read and apply, this book gives you the deep knowledge about how PowerShell works and how to apply it.
Customer Reviews:
Geeked Out on Powershell.......2007-08-06
As a both a Windows and Linux system administrator, this book overall made me frustrated initially, as I really don't want to delve into the introspective nature of compiler design miracles, but rather have a practical book on applying PowerShell. Nevertheless, once I sat down and reviewed key chapters, I was able to learn how to better utilize Powershell and apply it to some chores relating to the nature of system administration.
One of the things I high agree with another reviewer is that the book does indeed delve too much into the "gears and cogs" of Powershell, and many times too much. Sometimes we delve into how behind the scenes, the language takes measures to behave like any other language or shell, and we're scratching our heads, why did I have to understand what I always knew to work and behave. Good example is page 62 on string expansion, where once something is assigned is doesn't changed when accessed. Like that's how everything is suppose to work. Though, then he mentions how to override the behavior, but never drops any code examples for that side note.
Though this book seems more oriented to software developers, rather than system administrators, I would still recommend this book, as you can become really well versed in the Powershell and understand its advantages as it relates to the .NET platform on the recent Windows OSes.
Clearly a Winner.......2007-08-06
Not only does this teach you powershell, it answers all kinds of questions about why Powershell is the way it is, and why certain decisions were made. Ever want to know why we use -eq instead of == ? The answer is in here. This books simply rocks. This book not only shows you how to use Powershell, it teaches you Powershell works, from the inside out. Completely worthwhile. I would highly suggest reading it multiple times, as you learn more and more each time through.
PAGE 205 ... PAGE 205.......2007-07-28
This book gives you the goods and helps you become very productive very fast. As a service ... I'm pointing out that PowerShell is installed in a somewhat crippled state which allows for interactive scripting only. You know, security, security, security.
Most of us, of course want to put the script into a file and execute it and this won't work until you set an 'execution policy'. This information can be found starting on page 205 and further directions on page 451.
Just thought you'd like to know.
Besides that a very good book that stands on it's own. If you've been around the programming track a couple of times you won't need the 'for the absolute beginner' book ... this one will do the trick!
I wish all technical books were written this well.
Don't Make This Your First Purchase.......2007-07-09
Consider this book the Definitive Reference for PowerShell. Written by one of the designers of the PowerShell environment, the author knows all the ins and outs, back-alleys, hidden rooms, and secret handshakes the language offers - and isn't afraid to grab you by the hand and drag you along (like it or not!) for the tour of your life.
Therein, however, is the reason I can't recommend this as your first PowerShell book. The book is very logically planned out, the information very well presented in relatively easy to understand language, there is an abundance of script snippets to demonstrate what is being talked about, and the writing style itself is entertaining to read. But the author knows too much on the subject, and like any proud parent, often "too much information" is given, delving too deep into the gears and cogs of PowerShell and the underlying .NET framework for the (often basic) building block component, which might overwhelm the new PowerShell user, especially if the user does not have programming, let alone scripting, experience.
So although I say don't make this your first purchase, make it your second - and probably your last. Start with an "Introduction" style book (like Microsoft Windows Powershell Programming for the Absolute Beginner) to get used to the complex environment (even if you've only had VBS/JS experience), get comfortable with the basics of the shell, then move up to this title. You'll soon find out that every aspect you thought you knew has much more to the story than you thought, and you'll walk away from this read able to do just about everything you want.
Everything you ever wanted to know about PowerShell.......2007-05-12
I don't ever remember reading a computer book from cover to cover, but I got hooked on this book and "can't put it down"... Plus, who ever thought that the history of a program could be as interesting as this one is. After all, the book begins by asking "why another shell language?" By the time you are into a few chapters you realize the question should have been "what took you so long?"
The book is peppered with valuable code examples that show off everything from the basics to the most advanced concepts, and the examples are built incrementally so you can see how and why every character in a command line works. Since PowerShell is object oriented, you easily learn why this is important, and how to extract the power of an OO shell.
I've already put PowerShell to work at the office using it for WMI, Active Directory, and file management tasks and have incorporated it into my AutoIT scripts as well. This book was a great help in getting me up to speed as fast as I have.
Average customer rating:
- Mind-changing
- from a student who use the book for a course
- A Computer Science grand tour
- Great Texbook
- This should be on your bookshelf
|
Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science)
Harold Abelson , and
Gerald Jay Sussman
Manufacturer: The MIT Press
ProductGroup: Book
Binding: Hardcover
Compilers
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Lisp
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
General
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Software Development
| Software Design, Testing & Engineering
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Databases
| Computers & Internet
| Subjects
| Books
Mathematics
| Professional Science
| Professional & Technical
| Subjects
| Books
| Applied
| Chaos & Systems
| Geometry & Topology
| Mathematical Analysis
| Mathematical Physics
| Number Systems
| Pure Mathematics
| Transformations
| Trigonometry
Programming Languages
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
Software
| Information Systems
| Computer Science & Information Systems
| New & Used Textbooks
| Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Professional
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
Instructor's Manual t/a Structure and Interpretation of Computer Programs - 2nd Edition
-
The Little Schemer - 4th Edition
-
Simply Scheme - 2nd Edition: Introducing Computer Science
-
Practical Common Lisp
-
ANSI Common LISP
ASIN: 0262011530 |
Amazon.com
Abelson and Sussman's classic Structure and Interpretation of Computer Programs teaches readers how to program by employing the tools of abstraction and modularity. The authors' central philosophy is that programming is the task of breaking large problems into small ones. The book spends a great deal of time considering both this decomposition and the process of knitting the smaller pieces back together.
The authors employ this philosophy in their writing technique. The text asks the broad question "What is programming?" Having come to the conclusion that programming consists of procedures and data, the authors set off to explore the related questions of "What is data?" and "What is a procedure?"
The authors build up the simple notion of a procedure to dizzying complexity. The discussion culminates in the description of the code behind the programming language Scheme. The authors finish with examples of how to implement some of the book's concepts on a register machine. Through this journey, the reader not only learns how to program, but also how to think about programming.
Book Description
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text.
There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published.
A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises.
In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.
Customer Reviews:
Mind-changing.......2007-07-16
This is the best book on programming I have ever met in my life and, most probably, will ever meet.
It not only surprised me and made me think "Oh my god, how come I didn't think this way/about these so incredibly important things before?" dozens of times in every single chapter during every of my 3(in a row) readings of it but it actually changed the way I think about programs and the way I write them.
The authors have a perfect sense of balance between complexity and importance: they never skip important things silently and they never dig too deep into dull subtleties, instead they point out the really meaningful points and either invent a solution before the reader's eyes or give clues that inspire the reader to work out the solution himself.
The book does not teach most of the basic algorithms and data structures, like quicksort of graph path finding (except for several examples that fit well for the purpose of a particular chapter), it is not a programming reference: it is a manual on methods of computation: exactly what the title says. So, in case you have a pragmatic problem you can't just take the book and find a solution: I guess this is the reason for low ratings. But if you read the book thoroughly, you will definitely become an order of magnitude better programmer and that is much more important than knowing concrete algorithms.
I also extremely highly recommend the same-named video course by the same authors at http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ : I first was intrigued and shocked with it and only afterwards saw and immediately bought the book. It is a pity I have not yet had time to watch all the lectures (I watched about a half).
from a student who use the book for a course .......2007-05-04
I'm an undergrad who is currently taking an introductory class in C.S using the book as the primary textbook (actually, the only textbook). Sadly, I'm taking it with another class in computer architecture with heavy emphasis on system programming (a la C, MIPS). Like one of the reviewers having pointed out, the excessive zeal of pedantic and theoretical C.S has left the students clueless about the connection between reality and fundamental ideas presented in the book. The authors enforces a grand vision of solving problems independent of programming language. Sadly, this is not the case in practice (I have been trying to port some algorithms in the book into C, oh boy, what a frustrating experience). This vision has left me a very bad impression on Scheme (a good-for-nothing language invented by geeks to impress other geeks).
Some people have said they liked the book. At the beginning of semester. I liked the book too, since programming in functional style is completely new to me (who major in C.S wouldn't delight at learning new thing). HOWEVER, the more I delved into the book while taking a computer architecture course at the same time (in which I have to design a complete 8-bit CPU from ground up, as well as doing a lot of low-level programming), the more I feel there are some fundamental issues with using Scheme (or any other functional languages for that matter) as a tool to interpret and design machines and programs. It just struck me as very odd to design a computer "recursively". How ironic that the book is called "STRUCTURE and INTERPRETATION of computer programs".
I agree with some reviewers in here who bashed C in favor of Scheme. C is not a very good language, but C deserves praises. There are reasons why it has been around forever (both in academic and in industry), and at this rate, I don't see how any functional languages would emerge out of academics as replacement for C. The authors in book braggs that only Fortran has been surviving longer than Scheme, but besides surviving in the this textbook (which has been pushed down my throat by my school), I haven't seen Scheme anywhere else.
This textbook reminds me of the Feynman series in Physics. A series which everyone talks about, but when it comes to reality, it's just best used as a supplementary to look up for reference and self-congratulate as being "smart" rather than the one used to teach and learn from.
A Computer Science grand tour.......2007-03-17
I discovered this text, I believe, while browsing The Aerospace Corp Library in '90. I was immediately taken with it, wishing my own undergraduate program in CS had incorporated its use. The first two chapters on procedural and data abstraction are much better CS preparation than learning Java or C++ or Ada or Pascal. Abstraction and specificiation in software development are absolutely necessary if software "art" is ever to become a "science."
I used this text last year to teach a one year introduction to computer science to some rather advanced homeschooled high school students. Scheme is a much better choice for a teaching language than C++ or Java. There is no need to deal with memory management issues as with C++ and the development model is simpler than with Java. And scheme makes many things easier to achieve than with other languages: higher-order procedures (chapter 1) and hierarchical data (chapter 2).
For my own enjoyment and personal enrichment I have used chapters 4 and 5 as a basis for my own explicit control evaluator for scheme in C++.
A classic. Every CS graduate should do remedial work now and read this text, if they have not done so already.
Great Texbook.......2007-03-15
I purchased this texbook for my first computer class since it was required. It's a great book, but I'm glad we did not cover it entirely. Too much material, and Scheme is not that popular of a language. Price was right though!
This should be on your bookshelf.......2007-03-02
This is a 'must have' book for anyone wishing to practice the craft of programming. It is enigmatic in that it requires little background in programming, but leads swiftly and easily into non-trivial concepts. Of course one must do the exercises, which are varied and practical, the most they ask of the reader is that they understand basic mathematics of Leibniz and Newton. This book will not teach you a collection of tricks, it will give you a way to think about programming. There are a set of lectures by Abelson and Sussman based on the book available at no cost on the Web. Even though they were produced over a decade ago they are well worth watching, and add an interesting flavour to the text. All the software you need to use this text is available for free for a number of platforms. If you are an experienced programmer this is a fun read, if your intention is to learn the art of computer programming, start with SICP, and add Knuth to your bookshelf for reference.
Book Description
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation.
Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published. The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development.
Computer scientists, developers, and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.
Customer Reviews:
The best for getting the theoretical foundation of compilers.......2007-06-13
This is the classical reference book for compiler design. This is not an easy text because of its heavy use of mathematical notation and the algorithms are presented only in pseudo code but you will not find a more complete collection of compiler related algorithms than in this book.
Warmed over ghost of past excellence.......2007-05-19
I spent some serious quality time with the first edition (the "red dragon book"), in three main episodes over the past dozen years: 1) undergraduate compilers class, 2) industry project, and 3) parser generator implementation. During all three episodes, I was disappointed in various ways, though there is no denying that the book contains a wealth of information. As an undergraduate, I found the book somewhat impenetrable. When in industry, I found the book too abstract. When implementing a parser generator, I discovered that the book excludes important research results with regard to LR parser generation. It is the last disappointment that I will focus on.
The book presents parser generation in layers of increasing complexity, from SLR to LR to LALR, where LALR is presented as the penultimate algorithm, though LALR parsers can only handle a subset of the grammars that LR can handle. The justification for this is that the original Knuth LR algorithm is intractable for large grammars. However, an efficient, fully correct, approach for LR parser generation was published in 1977, and on top of that it appears easier to implement than efficient LALR parser generation! The red dragon book's original authors simply cannot have been unaware of this research result, but I suspect that they elected to warm over the "green dragon book" (published in 1977) rather than incorporate the state of the art as of 1986 into the "red dragon book". Now here we are another 20 years later, and as near as I can tell from reading through available online information, the "purple dragon book" is perpetuating this omission. The result of the red dragon book is that we have an entire generation of computer scientists who have been mislead to think that LALR is somehow superior to LR, and the purple dragon book is setting things up for yet another generation to be mislead.
The new cover is awesome! Long live the Purple Dragon!.......2007-05-04
The CGI cover looks great! I only wish it stretched along the spine of the book like in the previous editions.
Useful book.......2007-02-20
I'm a computer engineering student and I purchased the book for my programming languages and compilers course. At present I still haven't completed the course, but I've already found this book pretty useful so far. The concepts are clearly and well explained, so that I could better understand some points that I found rather obscure during the lessons. It's being of great help, so I'm very satisfied of this purchase.
Great book but...........2007-02-15
This is the numero uno among compiler books. But whoever designed the new cover out to be have their sketch pens stuffed down their throat. Why change the cover! The previous book was called the dragon book and was a red dragon. No one ever changed Feynman's lecture books by painting the cover blue, did they? Addison Wesley should take their new edition cover design and stuff it.
Customer Reviews:
Best study bible I have ever read.......2007-07-31
This was recommended to me by my Methodist pastor. I prefer to read the bible cover-to-cover. I believe this is the fifth study bible I have read through. It is without a doubt one of the best study bibles I have read.... period!!!!!
A study bible for the rest of us.......2007-07-30
One of the reasons I dislike the mainstream media is that it grossly over-simplifies most issues it addresses. A case in point: what Christians believe about the Bible's inspiration and authority.
News stories tend to focus on the extreme ends of the spectrum. On one hand they profile the fundamentalists, who not only regard the Scriptures as inerrant, but also take every word of it as literally as they do the daily newspaper.
On the other are the likes of Bishop Spong and the members of the Jesus seminar, who either seek to turn the Bible into a collection of fairy tales, or, even more extreme, deride it as a racist, sexist collection of propaganda filled with violence and intolerance (case in point: Spong's volume "The Sins of Scripture").
In between these two camps are a host of believers that seek to uphold the Bible as sacred literature while at the same time understand it in the light of 21st century scholarship, science and social progress. For these Christians (myself included) this is a good, solid choice for a study Bible.
Notes are copious throughout the text, and they address issues like the historical settings of the authors, insights gained from the original languages, and the major schools of interpretive thought regarding problematic passages.
Other features are articles on topics such as the authority and inspiration of the Bible, summary introductions to each book, and several well-designed maps of the Holy Land and other features of the ancient Near East.
Unlike more conservative alternatives, this Bible doesn't gloss over problems in the text, such as John's placement of the temple cleansing at the beginning of Jesus' ministry, or the challenges of interpreting Genesis in light of modern scientific knowledge. You won't find easy answers to such perplexing questions here, but you will discover what modern scholars say about them.
This isn't a cold, technical exposition of the Scriptures, however. The authors of the notes and articles share a reverence for the Bible as divine, and this is reflected in their words. The result is a work that will be of help to the serious scholar as well as the average person in the pulpit, not to mention pastors of mainline and other progressive churches.
I dinged it one star for the sole reason that it does lean a tad too far into the politically correct spectrum. For example, in the notes on Genesis, it discusses how feminist theologians reinterpret the story of Adam and Eve to show that the woman was the nobler of the pair, and that the tale argues for gender equality.
There is no precedent in the long history of biblical interpretation for such a view. Similar attempts to read the text through the filter of modern sensibilities occur here and there throughout the notes.
I would have also liked the option of buying a copy without the Apocrypha, as well as a red letter edition.
I should mention that it is large and heavy as far as Bibles go; not a problem for a large man with big hands like myself, but it may be somewhat cumbersome for the more dainty folks out there to tote to services.
All in all, though, this is a fine resource for the serious student of the Bible, and it gets my hearty recommendation.
The Study Bible.......2007-06-16
The best single volume study Bible on the market.
The anchor of our Bible Study.......2007-05-27
Incredible study Bible!!! Along with the "usual" notations you'd expect in a study Bible there are a variety of really wonderful "pluses".... devotional notes, "excursuses" spinning off from topics/issues raised in a particular book, Dead Sea Scroll references, peripheral writings adjacent to Biblical texts, related literature, a history of Biblical canons, including Catholic, Protestant, Anglican, Orthodox, and Jewish; Biblical controversies... TONS of wonderful material. During our Bible Study sessions, once folks had finished reviewing all the differing translations they were using, sharing the differences and exploring varieties of meanings, they would then ask what this New Interpreters Study Bible had to say about the verses in question.... Like THIS BIble was the final word.... I love the readable print, the texture of the paper (important for me..), the huge volume of notes and devotional suggestions.... It's wonderful!! My only wish is that it were in flexible leather... Don't think that's possible, though, due to the sheer size of this work... Suberb!!! If you hunger for richness in your study, do consider this volume!!!
The footnote comentary.......2007-05-14
I rate the commentary at a high 5 stars. It clarifies and identifys other references to help you understand the word of God. It uses language that is not difficult to read. I am quite proud of this translation and bible helps.
Average customer rating:
- Depends on what you want
- If you are a beginner...Do not buy it
- A great starter guide to writing a compiler
- Terrible for Starters
- Super compiler text!
|
Engineering a Compiler
Keith Cooper , and
Linda Torczon
Manufacturer: Morgan Kaufmann
ProductGroup: Book
Binding: Hardcover
General
| Architecture
| Professional & Technical
| Subjects
| Books
Computer Design
| Microprocessors & System Design
| Hardware
| Computers & Internet
| Subjects
| Books
General
| Hardware
| Computers & Internet
| Subjects
| Books
Design & Architecture
| Hardware
| Computers & Internet
| Subjects
| Books
Compiler Design
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Compilers
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Systems Analysis & Design
| Computer Science
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General & Reference
| Technology
| Science
| Subjects
| Books
General
| Arts & Photography
| Subjects
| Books
All Amazon Upgrade
| Amazon Upgrade
| Stores
| Books
Arts & Photography
| Amazon Upgrade
| Stores
| Books
Computers & Internet
| Amazon Upgrade
| Stores
| Books
Professional & Technical
| Amazon Upgrade
| Stores
| Books
Science
| Amazon Upgrade
| Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Arts & Photography
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Professional
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Science
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
Programming Language Pragmatics, Second Edition
-
Compilers: Principles, Techniques, and Tools (2nd Edition)
-
Advanced Compiler Design and Implementation
-
lex & yacc
-
Optimizing Compilers for Modern Architectures: A Dependence-based Approach
ASIN: 155860698X |
Book Description
The proliferation of processors, environments, and constraints on systems has cast compiler technology into a wider variety of settings, changing the compiler and compiler writer's role. No longer is execution speed the sole criterion for judging compiled code. Today, code might be judged on how small it is, how much power it consumes, how well it compresses, or how many page faults it generates. In this evolving environment, the task of building a successful compiler relies upon the compiler writer's ability to balance and blend algorithms, engineering insights, and careful planning. Today's compiler writer must choose a path through a design space that is filled with diverse alternatives, each with distinct costs, advantages, and complexities.
Engineering a Compiler explores this design space by presenting some of the ways these problems have been solved, and the constraints that made each of those solutions attractive. By understanding the parameters of the problem and their impact on compiler design, the authors hope to convey both the depth of the problems and the breadth of possible solutions. Their goal is to cover a broad enough selection of material to show readers that real tradeoffs exist, and that the impact of those choices can be both subtle and far-reaching.
Authors Keith Cooper and Linda Torczon convey both the art and the science of compiler construction and show best practice algorithms for the major passes of a compiler. Their text re-balances the curriculum for an introductory course in compiler construction to reflect the issues that arise in current practice.
·Focuses on the back end of the compilerreflecting the focus of research and development over the last decade.
·Uses the well-developed theory from scanning and parsing to introduce concepts that play a critical role in optimization and code generation.
·Introduces the student to optimization through data-flow analysis, SSA form, and a selection of scalar optimizations.
·Builds on this background to teach modern methods in code generation: instruction selection, instruction scheduling, and register allocation.
·Presents examples in several different programming languages in order to best illustrate the concept.
·Provides end-of-chapter exercises, with on-line solutions available to instructors.
Customer Reviews:
Depends on what you want.......2007-06-12
What it is: A great introduction to basic concepts in contemporary compilers.
What it's not: A handbook for someone thrown in at the deep end of commercial compiler development.
I can imagine a very good one-term course in compiler construction built around this text. After a brief introduction, it gets immediately into the classic topics of lexical scanning, parsing, and syntax analysis. These three chapters help any beginner understand the multiple levels of processing, from the character level, up through reorganizing grammars for practical parsing and table-driven techniques, to the lower levels of sematic analysis. This includes a very brief discussion of type systems and type inference - less than 20 pages, on a topic that whole books devote themselves to. These 200 pages typify what you'll see in the rest of the book: a lot of attention paid to lexical analysis, a problem largely eliminated by automated tools (lex and yacc being the best known), and thin mention of the harder problems that differ significantly across languages and applications of languages.
Chapter 5 addresses the critical issue of intermediate representation, the data structures that represent the program during analysis, optimization, and code generation. Chapter 6 is titled "The Procedure Abstraction." It deals with much more than its name suggests, including procedure activation records (generalizations of stack frames), parameter passing, stack management, symbol visibility and scoping, and scraps of symbol table organization - important stuff, but hard to understand as "procedure abstaction." The next chapter deals with "Code Shape," a grab-bag including value representations, arrays and strings, control constructs, and procedures (again). It also presents a very few pages, at the end, on object oriented language - hardly enough to scratch the surface, let alone build competence. And, for lack of a better place to stick them, I would have expected support for parallelism and exceptions to appear here, but this book seems to omit the topics altogether.
Code analysis and optimization appear in chapters 8-10. That includes a competent introduction to static single assignment notation, a staple of current compiler technology mentioned earlier, in the section on intermediate representation. This covers a range of basics, but omits all significant mention of arrays, the workhorses of performance computing. Chapters 11-13 introduce the basics of instruction selection, scheduling, and register allocation. Although it mentions some hardware effects, like out-of-order execution in superscalar architecture, discussion stays close the instruction sets of popular processors. As a result, it omits mention of SIMD, VLIW, DSP, and more exotic architectures, the ones most in need of good code generation. Compiler-specific support libraries, e.g. the kind that make up for lack of hardware divide instructions, should have appeared somewhere around here, but are oddly absent.
The authors present an adequate introduction for the beginner, someone who's still not sure what a hash table is (see appendix B). It introduces many basic topics, but doesn't go into a lot of depth in any of them. The student who finishes this book will understand most major issues of classical compiler construction. I just can't see a serious, working competence coming out of this text, though. I give it four stars as an academic introduction, but a lot less for anyone with immediate problems to solve.
-- wiredweird
If you are a beginner...Do not buy it .......2007-01-01
I read this book and really did not like it. It is a nightmare for any one new to compilers. It is difficult to read with more emphesis on the backend of the compiler.
The following texts are much better for a beginner:
1. Louden's Compiler construction --> the best text for a beginner.
2. the Dragon book
A great starter guide to writing a compiler.......2005-06-10
I recently used this book to supplement the Dragon book in a Compilers course. I found this book so much easier to read and understand. They do a great job of laying out the basics and introducing you to compiler design.
I also liked how they seemed to keep an open mind about which intermediate representation is best to use. They discuss the pros and cons of graphical IRs vs Linear IRs, and let you decide which best fits your needs.
Their open mindedness ended when it came to optimization though. I got the impression that the authors consider SSA (static single assignment) form to be the silver bullet of optimization. Almost all of the optimizations they discuss in this book rely on your IR being in SSA form! I agree that SSA form does indeed make many optimizations much easier, but there is a very high initial cost involved in converting to and from SSA form. In there defense they spend almost an entire chapter on how to do these conversions.
So to sum up, this book does a great job of introducing you to compiler design. It is well written and very easy to understand. It also does a good job of discussing different compiler design choices and their pros and cons. The only short coming of this book is that the entire optimization discussion is revolves around SSA form.
Terrible for Starters.......2005-03-22
This book was the textbook for an undergraduate course on compilers. Let me make it short: I never read it after reading the first chapter. The authors may be top experts on compilers but they shouldn't be writing books. Another book written in 1982 (compilers, principles, techniques and tools) saved my life for this class. If you are a beginner "do not buy this book".
Super compiler text!.......2005-02-22
This is really a super compiler text. It is also one of the most recent compiler books you can buy.
First of all this is a theoretical book. If you read the title 'Engineering a compiler' as 'Coding/Building a compiler' you would be disappointed! So, if you're looking for a learing-by-coding book, this is not for you (but I have some recommendations at the end of this review in the latest paragraph). The difference with most of the other theoretical books is that this book is not a dry text. It has also a nice layout. It gives plenty of examples, and all topics are well connected to each other. It's a pleasure to read for not native English people, so native English people can read it pretty fast.
This book read like a novel.. It does contain enough diagrams, tables, etc. but not too much (crowded), and everything is well explained.
You can read this book as a compiler introduction book. But I can only recommend this to B.Sc/M.Sc Computer Science students (like me). You don't need to have a M.Sc in Mathematics to understand this text, (all the math, eg. liveness graphs are well explained), but you will understand everything better if you have some background in algorithms (design), pseudocode, etc. like you gained during your B.Sc program. People without formal computer science education I would recommend to read a practical book first (see at the end of this review), because you may find else this text too theoretical.
This book focus on code optimizations. According to the authors (and me) compiler front ends (scanning/parsing/etc) are commodities today, and the backend (codegeneration) is where the difference is made nowadays. So if you're looking for a introduction text into compiler optimization this book is for you!
If you're looking for a more practical book I advice you to read 'Programming Language Processors in Java' from Watt & Brown. In that book you learn to build a nice stack virtual machine in Java with 'advanced features' like records (structs), procedures/functions, arrays and so on. That book is a good companion for 'Engineering a Compiler' to give you some practical insight. If you're looking for a Language Design book I advice you to look at 'Programming Language Pragmatics'. Both books are worth the money...
Customer Reviews:
New Interpreters Bible 12 Volume Commentaries.......2007-05-15
Excellent product
Excellent service
Arrived in Australia very quickly, in great condition, and at an extraordinary low postage rate.
Thank you
excellent authoritative reference.......2007-04-11
I first used this set at Duke U. in 1961. Over the years since then, the results of new research and new thought have been added. It remains one of the better Biblical study tools. And it is quite readable.
The price I paid was substantially below the publisher's price.
Expensive but invaluable Bible commentary.......2007-02-28
The NIB commentary (in twelve volumes or CD-ROM) is basically an extremely comprehensive historical-critical commentary on the entire Bible, including all the books of the OT including the apocryphal books, and also the entire New Testament. The commentary brings together dozens of biblical scholars from different Christian confessions, ranging from Evangelical and Pentecostal Christians to Anglican, Catholic and Orthodox scholars. The series also includes a number of essays on various academic and technical points, ranging from hermenutical theories of Biblical interpretation to feminist questions about biblical interpretation and so on.
While at times the overly-liberal agenda of some of the commentators can get a bit tiresome, overall the quality of the commentary is outstanding from both a theological and scholarly perspective, and incorporates the most up to date knowledge of the historical and cultural context of the scripture as well as useful reflections on how it can be applied to modern-day life.
The main drawback of this series is its heavy expense, which would put it out of reach of many individual buyers, though in my experience this set is quite easily found in most good university theology libraries, catechist resource centres, and in many parish libraries. Along with the Jerome Bible commentary and a good study Bible, this set in my view is essential reading for any priest, seminarian, theologian or theology student, and also any lay Christian interested in deeping their own faith or in a role where scriptural study or interpretation is required, including Ministry leaders, Bible Study Group leaders, RCIA team leaders and members, or catechists in any Christian denomination. If you have a difficult or obscure point in scripture and are uncertain, these volumes certainly help to get the context and message right, along with useful hints and reflections which would be useful in making a homily or sermon.
Could have better layout.......2006-11-10
The amount and quality of information is incredible. But it's pretty hard to read any significant amount of the actual biblical text because they break it up every few verses for commentary and reflection.
Excellent, But Expensive, Resource...........2005-12-22
.... and it takes up a whole shelf in my library....
I would like to give this 4 1/2 stars, but five is too many.
This is the best Bible commentary I have used. It is not constrained by length as so many are. The dual NIV/NRSV is plus, and of course I read my NJB along with it.
I absolutely love the depth of analysis, particularly of the OT Hebrew (I have yet to use this much in the NT, having just started with the set a few months ago). Allowing the author a "personal reflections" section is a nice plus. Even when I don't agree with the reflection, it stirs good internal debate, and is a source of discussion questions for adult Sunday School.
The inclusion of the Dueterocanonicals is also welcome as these are unfortunately missing from most Protestant commentaries.
The one negative is that some of the commentary is a little liberal (in some cases, even feminist - e.g., Phyllis Trible) for me, but it does nicely balance out the more conservative International Bible Encyclopedia and the International Bible Commentary. Overall though, as the next reviewer points out, the scholars involved in NIB are from a range of theological camps.
This work is also available on CD for a little less, but in the end I decided I like hard copy better.
This was a LOT of work and all those involved in producing it are to be praised for their efforts!
Average customer rating:
- Bible of compiler data-flow analysis
- Great starting point for compiler development
- Confusing at best
- Good for seasoned compiler writers, bad for CS students
- Excellent
|
Advanced Compiler Design and Implementation
Steven Muchnick
Manufacturer: Morgan Kaufmann
ProductGroup: Book
Binding: Hardcover
Compiler Design
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Compilers
| Languages & Tools
| Programming
| Computers & Internet
| Subjects
| Books
Software Development
| Software Design, Testing & Engineering
| Programming
| Computers & Internet
| Subjects
| Books
General
| Programming
| Computers & Internet
| Subjects
| Books
General
| Computers & Internet
| Subjects
| Books
General
| Operating Systems
| Computers & Internet
| Subjects
| Books
Design & Architecture
| Hardware
| Computers & Internet
| Subjects
| Books
Mathematics
| Professional Science
| Professional & Technical
| Subjects
| Books
| Applied
| Chaos & Systems
| Geometry & Topology
| Mathematical Analysis
| Mathematical Physics
| Number Systems
| Pure Mathematics
| Transformations
| Trigonometry
All Amazon Upgrade
| Amazon Upgrade
| Stores
| Books
Computers & Internet
| Amazon Upgrade
| Stores
| Books
Professional & Technical
| Amazon Upgrade
| Stores
| Books
All Titles
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Computers & Internet
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Professional
| Qualifying Textbooks - Fall 2007
| Stores
| Books
Similar Items:
-
Optimizing Compilers for Modern Architectures: A Dependence-based Approach
-
Compilers: Principles, Techniques, and Tools (2nd Edition)
-
Engineering a Compiler
-
Programming Language Pragmatics, Second Edition
-
Garbage Collection: Algorithms for Automatic Dynamic Memory Management
ASIN: 1558603204 |
Amazon.com
Optimizing compilers, which turn human-readable programming languages into the smallest, most efficient machine code possible, are among the most complex pieces of software ever written. Building a compiler is both science and black art and demands an intimate knowledge of data structures, algorithms, high-level programming languages, and processor architectures and their instruction sets. Advanced Compiler Design and Implementation presents a comprehensive and technically up-to-date look at design of real-world compilers for CISC- and RISC-based uni-processor architectures. The author led the advanced compiler design and implementation teams for both Hewlett-Packard's PA-RISC and Sun Microsystems's SPARC processors.
Book Description
From the Foreword by Susan L. Graham:
This book takes on the challenges of contemporary languages and
architectures, and prepares the reader for the new compiling problems that
will inevitably arise in the future.
The definitive book on advanced compiler design
This comprehensive, up-to-date work examines advanced issues in the design
and implementation of compilers for modern processors. Written for
professionals and graduate students, the book guides readers in designing
and implementing efficient structures for highly optimizing compilers for
real-world languages. Covering advanced issues in fundamental areas of
compiler design, this book discusses a wide array of possible code
optimizations, determining the relative importance of optimizations, and
selecting the most effective methods of implementation.
* Lays the foundation for understanding the major issues of advanced
compiler design
* Treats optimization in-depth
* Uses four case studies of commercial compiling suites to illustrate
different approaches to compiler structure, intermediate-code design, and
optimizationthese include Sun Microsystems's compiler for SPARC, IBM's for
POWER and PowerPC, DEC's for Alpha, and Intel's for Pentium an related
processors
* Presents numerous clearly defined algorithms based on actual cases
* Introduces Informal Compiler Algorithm Notation (ICAN), a language devised
by the author to communicate algorithms effectively to people
Customer Reviews:
Bible of compiler data-flow analysis.......2007-09-12
It's the bible of compiler data-flow analysis. The author had the experience of building an industrial strength compiler. One tip: skip books authored by those who haven't implemented an industrial strength compiler by themself.
Great starting point for compiler development.......2007-03-04
Compiler development is more of a craft than a science, although there's plenty of science involved. It involves huge numbers of tradeoffs in features, optimizations, and use of the underlying processor. But, as long as people keep coming up with new computing platforms (and not just instruction set processors), new languages, and new performance demands there will always be need for new compiler developers. If you can't apprentice yourself to masters of the craft, or even if you can, this book is a great introduction 2000-era compiler development.
Muchnik does a clear, thorough job of laying out the basics, starting with the intermediate representation used. (If you get that wrong, nothing else is going to work.) He then moves on to the basics of symbol table structure - an issue that can get immensely complicated in systems like Microsoft's CLR. He also discusses run time support briefly. Although that discussion is good as far as it goes, it skips past a lot of the complexities of dynamic loading, debug symbol tables, simulation support, and related issues. They aren't strictly part of the compiled, executable code, but responsibilities of the compiler developer nonetheless. Next comes a brief description of code generation, crucial in normal environments but tangential to my own needs.
That's just the first quarter of the book, though. The rest is the real meat of the topic: code analysis and optimization techniques, over 600 pages of discussion. It's way too much to summarize here, but even that just an introduction to a huge technology. Still, you have to start somewhere.
By this point, you may be asking "But what about tokens, lexemes, and grammars? Isn't that what compilers do?" Well, yes, but it's done. Tool developers have made lexical analysis a commodity. The easily automated tasks are not where modern compiler distinguishes itself. This book addresses the semantic levels, getting the reader into the shallow end of the industry's huge pool of specialized compilation knowledge.
If you have to self-teach compiler development - good luck. Start here, though, and luck will have a lot less to do with the outcome.
//wiredweird
Confusing at best.......2006-08-17
I've seen chapter 14 of this book referenced (by a university professor giving suggestion to his students, not by a random guy) as:
"Another conventional approach to strength reduction. 35 pages of the same kind of confusing crap we've all come to expect from this book."
This could not sum it up better. A confusing book at best, presenting basic material so as to make it look "advanced", and without any covering of even relatively new techniques. A good source of references to papers that you should read, but not at all a valid reference on its own.
Good for seasoned compiler writers, bad for CS students.......2004-12-14
Ok, let's be fair. This book provides a broad coverage of useful optimizations and it will be useful in case you work writing compilers AND have some experience.
However, for learning the concepts, it is a very bad material. At the end you end up confused under a pile of thousands of lines of pseudocode in a weird notation (invented by the author) called "I CAN" (yes you can write a very bad book Mr. Muchnick) instead of reading useful explanations of the topics. The author also assumes that you already know some concepts and that's why he does not explain them as he should. If you want to really understand this book, first review Chapter 10 of the Dragon Book. I thought that the Dragon book was not so good because you have to re read some things in order to fully understand, but with Muchnick's book that is not always possible.
You can also take a look at Morgan's book (unfortunately, out of print) or just read the papers (as the first reviewer suggested). This book is not enough, and sadly, a lot of "teachers" think of it as a kind of "bible" and as a very bad excuse to teach very poorly. Some of them even don't master all the concepts presented there and have to use other books (their "dirty little secret") but they don't tell you which ones and continue praising this bad piece of work. If you are a CS student who really wants to learn, be warned that this book is not for you (it has at least three erratas and still has errors!)
Excellent.......2003-10-14
Advances in compiler design do not get much press these days. The reasons for this are unclear, but no doubt the perception that compilers need no further improvement has something to do with this. This book, written by one of the leading experts on compilers, certainly dispels this belief. Once readers get used to the idiosyncratic ICAN (Informal Compiler Algorithm Notation) invented by the author and used throughout the book, they get a comprehensive overview of compilers, especially that of optimization. Compilers for the SPARC, PowerPC, DEC, and Pentium architectures are treated in the book. The predominant emphasis of the book is in optimization, and so a few more recent and important topics in compiler construction, such as partial evaluation, are not discussed. Readers are expected to have a prior background in elementary compiler theory. My primary interest in reading the book was to gain insight into the compilation issues that arise in symbolic programming languages such as LISP and Prolog.
A detailed review of this book cannot be done for lack of space, but some of the helpful aspects and interesting discussions in the book include: 1. The "wrap-up" section at the end of each chapter, giving a compact summary of what was done in the chapter. 2. Generating loads and stores: The author shows how to move values to and from registers using routines more sophisticated than simply loading values into registers before using them or storing values as soon as they have been computed. 3. The main issues in the use of registers, such as variable allocation, efficiency of procedural calls, and scoping. The author lists the different categories that will result in contention for registers, such as stack, frame, and global offset table pointers and dynamic and static links. 4. The local stack frame and its uses, such as holding indexed variables (arrays, etc.) and debugging. 5. The five different parameter-passing mechanisms: call by value, call by result, call by value-result, call by reference, and call by name. A thorough discussion is given of their properties and what languages make use of them. In particular, the author notes that in the languages C and C++, call by value is the only parameter-passing mechanism, but that the address of an object may be passed, thus emulating essentially call by reference. This can be a source of confusion to those who program in C and C++. The most exotic of these mechanisms is call by name, which is a form of "lazy evaluation" in functional programming languages. The author gives a code example of the call by name parameter passing in ALGOL 60. I don't know of any modern practical programming languages that make use of call by name. 6. Shared libraries and the role of semantic linking and position independent code. 7. The compilation issues that arise in symbolic languages, such as LISP and Prolog. These languages typically have run-time type checking and function polymorphism, which gives them their power and ease of use. The author discusses how to produce efficient code for these languages. Since heap storage is utilized heavily by these languages, the allocation and recovering of it is very important. "Generation scavenging" is mentioned as the most efficient method for doing garbage collection in these languages. This method has been advertised in the literature as one that minimizes the time needed for storage reclamation in comparison with other approaches. In addition, the use of "on-the-fly" recompilation for polymorphic-language implementations is discussed. 8. Dynamic programming and its role in automatic production of code generators, as contrasted with the "greedy approach". The author explains the need for "uniform register machines" in the dynamic programming algorithm. 9. Interval analysis and its use in the analysis of control flow. This technique has been used in the field called "abstract interpretation" in recent years, the aim of which is too automatically and intelligently test program code. 10. Dependencies between dynamically allocated objects, such as links between graph structures in LISP and Prolog. The author describes the Hummel-Hendren-Nicolau technique for doing this, which involves naming schemes for locations in heap memory, a collection of axioms for characterizing aliasing locations among locations, and lastly, and most interestingly, utilizes a theorem prover to establish the properties of the data structures. The author emphasizes though that this technique, and others developed for doing dependence analysis of dynamically allocated objects, are very computationally intensive. 11. Individual optimizations, which the author divides into four groups in order of importance. 12. Induction-variable optimizations and their role in loop optimizations. The author shows how to identify induction variables, and how to transform them using various techniques, going by the name strength reduction, induction-variable removal, and linear-function test replacement. 13. Procedure integration and its role in "inlining" procedures in languages such as C++. The author emphasizes the drawbacks in using inlining, such as its impact on cache misses. 14. The trade-off between object abstraction and optimization, which occurs in object-oriented languages such as C++. The author discusses in detail the role of interprodecural optimizations in dealing with abstraction in the object-oriented modular approach to programming, particularly the identification of "side effects" in making procedure calls. 15. Code optimization that takes advantage of the memory hierarchy, such as data and instruction caches, and how to improve register allocation for arrays. The author gives a detailed and highly interesting discussion of scalar replacement for array elements. 16. Future trends and research in compiler design. The author mentions a few which he believes will dominate in the upcoming decade, such as scalar-oriented and data-cache optimizations. Scalar compilation will be he most active research area in his opinion. At the present time, there has been discussion of "intelligent compilers" that will interact with the user to develop optimal code, or even produce correct programs. These compilers will understand the intentions of the program and warn the user if these are violated, as well as reduce the time and cost needed for testing programs.
Customer Reviews:
Great Bible Study Aid, but use other sources too!.......2007-01-13
`The New Interpreter's Bible' is a 10-volume commentary on the Christian Bible, including the books of the Apocrypha. This review concentrates on Volume X, particularly on the commentary on Paul's letter to the Romans, easily one of most important books of the New Testament. The 375-page commentary on Romans in this volume is longer than many standalone `Romans' commentaries.
I am especially happy that it is possible to buy individual volumes from this set, as I suspect there are many potential readers who may be interested only in the Old Testament or only in the Gospels or, like me at the moment, only in the commentary on Romans.
While the set is edited and published by Methodist organizations, I am certain that the work as a whole is not colored by those things which distinguish Methodist theology from, for example, Lutheran, Baptist or Episcopal thought. I do, however, sense a stronger influence of Protestant over Catholic points of view. The `Romans' commentary is written by N. T. Wright, who wears the hats for both preacher and theologian for Westminster Abby, the ultimate center of The Church of England and, by extension, the godfather center for the Episcopal Church in America.
My understanding of this work as a whole is that professional Biblical scholars for a professional, but not scholarly audience who wishes to interpret the Bible for others write it. Thus, the audience is primarily pastors, Sunday school class teachers, and Bible Study group participants. This last may be something of a stretch, as my experience with many Bible Study participants is that they are quite happy to stay with an unassisted reading of the scriptures. And, as I have spend the last several months exploring some of the more arcane corners of Pauline scholarship, I confess this is quite a good choice for many readers. The problem is that Paul's letters are DIFFICULT reading, at least as difficult as, for example, Plato's `Republic', and may be even more difficult than the more obscure `Timaeus'. This is due to the fact that while Paul's thinking is deep, his rhetorical skills may be a bit unpolished. I have read that his texts show far less erudition in technique than his Alexandrine Jewish contemporary, Philo, in spite of the fact that both write in the same Hellenistic Greek.
Wright, just like many other recent popular writers on Paul, stress that it is important to understand Paul's overall argument before trying to pry lessons for life out of the kind of sound bite we get from the readings during our Sunday morning service. The organization of the `Interpreter's Bible' is eminently suited for those who want to see the forest and not just the trees. Each Book has a longish general introduction, followed by a Bibliography of major works on the subject. Reading the Bibliography on `Romans' is revealing in that it is limited to works that have been published in the last quarter of the 20th century. From that period, I believe Wright has pointed us to the cream of the crop, especially with his references to books by C. E. B. Cranfield, James Dunn, Ernst Kasemann, E. P. Sanders, and Wright himself. One small problem with this is that it leaves out almost 1600 years of commentary from everyone between St. Augustine to John Barth and Albert Schweitzer, most especially glossing over Martin Luther and John Calvin. But Luther's point of view is eminently represented by the `Commentary on Romans' from Ernst Kasemann.
The next item is a very detailed outline of the subjects and the argument(s) in the letter. It is important that Wright's outline is not universally accepted. Kasemann has a different outline that several other writers, including F. F. Bruce in his exegesis on Paul's Epistle to the Romans have adapted. Fortunately, there are not huge differences between the two, so I feel comfortable following Wright's outline. And, in the course of my guiding the study of `Romans' for a Bible study class, I have found the outline illuminating.
The main body of the commentary uses this outline to break up the discussion into four great sections (I through IV), with each major section being broken up into three (3) to eleven (11) sub-sections (A through K), which may or may not be broken into further subdivisions. Each major section begins with its own overview and ends with `Reflections' which are personal observations on the relevance of the section to Christian belief. All general sections are far more useful for the illumination of faith than for the comparative study of theologies.
Between these two bookends is the text of the scripture from both the NIV and theNRSV translations, followed by a verse by verse commentary on both the translation(s) and Paul's meaning within the context of his arguments. The commentary is liberally laced with references to both Old Testament texts explicitly and implicitly cited by Paul and New Testament texts from both Paul's other letters and the Gospels.
It is with the scriptural references where I start to find some problems. First, misprints or author errors I believe, corrupt a small number of the references. Fortunately, there are very few of these, and they are not too important. Other problems are with relevance. I am hard pressed to see the relevance of a minority of the citations. This brings us to my biggest problem with Wright's commentary, where he frames the new covenant, living in the body of Christ who dies in the law and rises to replace the law as a reference to a `new Exodus'. Not only do I not see allusions to this in `Romans', but I see a distinctly different Paul where Christians move from a slavery to the flesh to a slavery to the Spirit of Christ. This is part of Luther's using Paul as the foundation for his predestination theology.
Paul may not have been a `Lutheran', but he does offer more support to Luther's important arguments than the Wright lets on.
Smooth Exegesis.......2005-09-29
As NT Wright says on page 497, "When exegesis comes out smoothly it shows that we are approaching the text from the right angle; when it comes out awkwardly, with phrases and sentences that do not fit, we should take it as a sign that the chapter is being forced in the wrong direction." For so long, exegetes have assumed Paul to be rather simple-minded, providing an argument then backing that up with some scripture. They have contorted verses, such as 3:23, into a proof-text to "prove that we're all sinners." As true as that may be, 3:23 is one of the most beautiful verses in all of scripture, giving everyone hope, for everyone sinned. Wright does an excellent job of show-casing Paul's incredible mind, showing at each step how the argument is wonderfully woven with both what has gone before and what is coming in mind. To get a handle on Wright's theology, this is a wonderful place to start, if one can shell out the $50. There's a reason there's not too many cheap used ones; those who've purchased them are not going to