Home | Amazing | Today | Tags | Publishers | Years | Account | Search 
The Architecture Of Open Source Applications

Buy
Carpentry is an exacting craft, and people can spend their entire lives learning how to do it well. But carpentry is not architecture: if we step back from pitch boards and miter joints, buildings as a whole must be designed, and doing that is as much an art as it is a craft or science.

Programming is also an exacting craft, and people can spend their entire lives learning how to do it well. But programming is not software architecture. Many programmers spend years thinking about (or wrestling with) larger design issues: Should this application be extensible? If so, should that be done by providing a scripting interface, through some sort of plugin mechanism, or in some other way entirely? What should be done by the client, what should be left to the server, and is "client-server" even a useful way to think about this application? These are not programming questions, any more than where to put the stairs is a question of carpentry.

Building architecture and software architecture have a lot in common, but there is one crucial difference. While architects study thousands of buildings in their training and during their careers, most software developers only ever get to know a handful of large programs well. And more often than not, those are programs they wrote themselves. They never get to see the great programs of history, or read critiques of those programs' design written by experienced practitioners. As a result, they repeat one another's mistakes rather than building on one another's successes.

This book is our attempt to change that. Each chapter describes the architecture of an open source application: how it is structured, how its parts interact, why it's built that way, and what lessons have been learned that can be applied to other big design problems. The descriptions are written by the people who know the software best, people with years or decades of experience designing and re-designing complex applications. The applications themselves range in scale from simple drawing programs and web-based spreadsheets to compiler toolkits and multi-million line visualization packages. Some are only a few years old, while others are approaching their thirtieth anniversary. What they have in common is that their creators have thought long and hard about their design, and are willing to share those thoughts with you. We hope you enjoy what they have written.
(HTML tags aren't allowed.)

Managing Psychological Factors in Information Systems Work: An Orientation to Emotional Intelligence
Managing Psychological Factors in Information Systems Work: An Orientation to Emotional Intelligence
With the expansion of the Internet and the resulting globalization of business activity, the scope of the influence of information technology (IT) has increased significantly. Many innovative business practices are being enabled by IT. The capacity for integration of information in numeric, text, voice, and video form will give...
Learning SQL
Learning SQL
Updated for the latest database management systems -- including MySQL 6.0, Oracle 11g, and Microsoft's SQL Server 2008 -- this introductory guide will get you up and running with SQL quickly. Whether you need to write database applications, perform administrative tasks, or generate reports, Learning SQL, Second...
Microsoft Visual Basic 2008 Step by Step
Microsoft Visual Basic 2008 Step by Step
Teach yourself the fundamentals of working with Visual Basic 2008 one step at a time. With STEP BY STEP, you work at your own pace through hands-on, learn-by-doing exercises. Whether you re a beginning programmer or new to this specific language, you ll understand the core capabilities and fundamental techniques for Visual Basic 2008 and rapidly...

Experimenting with Raspberry Pi
Experimenting with Raspberry Pi

Need some inspiration for your Raspberry Pi projects? Wondering how to work with Wii nunchucks, stepper motors, how to create a remote control panel? If you need guidance, Experimenting with Raspberry Pi is your own personal idea generator. Experimenting with Raspberry Pi covers how to work with various components and...

Word Sense Disambiguation: Algorithms and Applications (Text, Speech and Language Technology)
Word Sense Disambiguation: Algorithms and Applications (Text, Speech and Language Technology)

Word sense disambiguation is a core research problem in computational linguistics, which was recognized at the beginning of the scientific interest in machine translation and artificial intelligence. And yet no book has been fully devoted to review the wide variety of approaches to solving the problem. The time is right for such a...

Early Days of X-ray Crystallography (International Union of Crystallography)
Early Days of X-ray Crystallography (International Union of Crystallography)

The year 2012 marked the centenary of one of the most significant discoveries of the early twentieth century, the discovery of X-ray diffraction (March 1912, by Laue, Friedrich and Knipping) and of Bragg's law (November 1912). The discovery of X-ray diffraction confirmed the wave nature of X-rays and the space-lattice hypothesis. It had...

©2019 LearnIT (support@pdfchm.net) - Privacy Policy