Beautiful Code [0]
by Andy Oram, Greg Wilson
Publisher: O'Reilly
Pub Date: June 15, 2007
Print ISBN-10: 0-596-51004-7
Print ISBN-13: 978-0-59-651004-6
Pages: 618
* * *
Beautiful Code
Dedication
Foreword
Preface
Chapter 1. A Regular Expression Matcher
Section 1.1. The Practice of Programming
Section 1.2. Implementation
Section 1.3. Discussion
Section 1.4. Alternatives
Section 1.5. Building on It
Section 1.6. Conclusion
Chapter 2. Subversion's Delta Editor: Interface As Ontology
Section 2.1. Version Control and Tree Transformation
Section 2.2. Expressing Tree Differences
Section 2.3. The Delta Editor Interface
Section 2.4. But Is It Art?
Section 2.5. Abstraction As a Spectator Sport
Section 2.6. Conclusions
Chapter 3. The Most Beautiful Code I Never Wrote
Section 3.1. The Most Beautiful Code I Ever Wrote
Section 3.2. More and More with Less and Less
Section 3.3. Perspective
Section 3.4. What Is Writing?
Section 3.5. Conclusion
Section 3.6. Acknowledgments
Chapter 4. Finding Things
Section 4.1. On Time
Section 4.2. Problem: Weblog Data
Section 4.3. Problem: Who Fetched What, When?
Section 4.4. Search in the Large
Section 4.5. Conclusion
Chapter 5. Correct, Beautiful, Fast (in That Order): Lessons from Designing XML Verifiers
Section 5.1. The Role of XML Validation
Section 5.2. The Problem
Section 5.3. Version 1: The Naïve Implementation
Section 5.4. Version 2: Imitating the BNF Grammar O(N)
Section 5.5. Version 3: First Optimization O(log N)
Section 5.6. Version 4: Second Optimization: Don't Check Twice
Section 5.7. Version 5: Third Optimization O(1)
Section 5.8. Version 6: Fourth Optimization: Caching
Section 5.9. The Moral of the Story
Chapter 6. Framework for Integrated Test: Beauty Through Fragility
Section 6.1. An Acceptance Testing Framework in Three Classes
Section 6.2. The Challenge of Framework Design
Section 6.3. An Open Framework
Section 6.4. How Simple Can an HTML Parser Be?
Section 6.5. Conclusion
Chapter 7. Beautiful Tests
Section 7.1. That Pesky Binary Search
Section 7.2. Introducing JUnit
Section 7.3. Nailing Binary Search
Section 7.4. Conclusion
Chapter 8. On-the-Fly Code Generation for Image Processing
Chapter 9. Top Down Operator Precedence
Section 9.1. JavaScript
Section 9.2. Symbol Table
Section 9.3. Tokens
Section 9.4. Precedence
Section 9.5. Expressions
Section 9.6. Infix Operators
Section 9.7. Prefix Operators
Section 9.8. Assignment Operators
Section 9.9. Constants
Section 9.10. Scope
Section 9.11. Statements
Section 9.12. Functions
Section 9.13. Array and Object Literals
Section 9.14. Things to Do and Think About
Chapter 10. The Quest for an Accelerated Population Count
Section 10.1. Basic Methods
Section 10.2. Divide and Conquer
Section 10.3. Other Methods
Section 10.4. Sum and Difference of Population Counts of Two Words
Section 10.5. Comparing the Population Counts of Two Words
Section 10.6. Counting the 1-Bits in an Array
Section 10.7. Applications
Chapter 11. Secure Communication: The Technology Of Freedom
Section 11.1. The Heart of the Start
Section 11.2. Untangling the Complexity of Secure Messaging
Section 11.3. Usability Is the Key
Section 11.4. The Foundation
Section 11.5. The Test Suite
Section 11.6. The Functioning Prototype
Section 11.7. Clean Up, Plug In, Rock On…
Section 11.8. Hacking in the Himalayas
Section 11.9. The Invisible Hand Moves
Section 11.10. Speed Does Matter
Section 11.11. Communications Privacy for Individual Rights
Section 11.12. Hacking the Civilization
Chapter 12. Growing Beautiful Code in BioPerl
Section 12.1. BioPerl and the Bio::Graphics Module
Section 12.2. The Bio::Graphics Design Process
Section 12.3. Extending Bio::Graphics
Section 12.4. Conclusions and Lessons Learned
Chapter 13. The Design of the Gene Sorte
Section 13.1. The User Interface of the Gene Sorter