
Publisher: Addison-Wesley
Author: Diomidis Spinellis
ISBN: 0201799405
Release Date: 27 May 2003
eBook Description
What do we ever get nowadays from reading to equal the excitement and the revelation in those first fourteen years? -- Graham Greene The reading of code is likely to be one the most common activities of a computing professional, yet it is seldom taught as a subject, or formally used as a method for learning how to design and program. One reason for this sad situation may have been the lack of high-quality code to read. Companies often protect source code as a trade secret and rarely allow others to read, comment, experiment, and learn from it. In the few cases where important proprietary code was allowed out of a company's closet, it has spurred enormous interest and creative advancements. As an example, a generation of programmers benefited from John Lions' Commentary on the UNIX Operating System that listed and annotated the complete source code of the sixth edition UNIX kernel. Although Lions' book was originally written under a grant from AT as the NetBSD code continuously evolves, presenting examples from a more recent version would mean risking that those realistic gems would have been corrected. I chose the rest of the systems I used in the book's examples for similar reasons: code quality, structure, design, utility, popularity, and a license that would not make my publisher nervous. I strived to balance the selection of languages, actively looking for suitable Java and C code. However, where similar concepts could be demonstrated using different languages I chose to use C as the least common denominator. I sometimes used real code examples to illustrate unsafe, non-portable, unreadable, or otherwise condemnable coding practices. I appreciate that I can be accused of disparaging code that was contributed by its authors in good faith to further the open-source movement and to be improved upon rather than be merely criticized. I sincerely apologize in advance if my comments cause any offence to a source code author. In defense I argue that in most cases the comments do not target the particular code excerpt, but rather use it to illustrate a practice that should be avoided. Often the code I am using as a counter example is a lame duck, as it was written at a time where technological and other restrictions justified the particular coding practice, or the particular practice is criticized out of the context. In any case, I hope that the comments will be received good-humouredly, and openly admit that my own code contains similar, and probably worse, misdeeds.
Code Reading: The Open Source Perspective
Related posts:
- Nessus, Snort, & Ethereal Power Tools : Customizing Open Source Security Applications (Jay Beale’s Open Source Security) Publisher: SyngressAuthor: Noam RathausISBN: 1597490202Release Date: 19 September 2005 eBook...
- Wicked Cool Java : Code Bits, Open-Source Libraries, and Project Ideas Publisher: No Starch PressAuthor: Brian EubanksISBN: 1593270615Release Date: 15 November...
- Beginning MapServer: Open Source GIS Development (Expert’s Voice in Open Source) Publisher: ApressAuthor: Bill KroplaISBN: 1590594908Release Date: 22 August 2005 eBook...
- Rapid GUI Programming with Python and Qt (Prentice Hall Open Source Software Development) Publisher: Prentice HallAuthor: Mark SummerfieldISBN: 0132354187Release Date: 28 October 2007...
- Multitool Linux: Practical Uses for Open Source Software Publisher: PearsonAuthor: Steven MurphyISBN: 0201734206Release Date: 30 November 1999 eBook...
- Open Source Development with LAMP Publisher: Addison-WesleyAuthor: James Lee, Brent WareISBN: 020177061XRelease Date: 17 December...
- An Introduction to Design Patterns in C++ with Qt 4 (Bruce Perens Open Source) Publisher: Prentice HallAuthor: Paul EzustISBN: 0131879057Release Date: 31 December 1969...
- Pro MySQL (Expert’s Voice in Open Source) Publisher: ApressAuthor: Jay PipesISBN: 159059505XRelease Date: 25 July 2005 eBook...
- OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management Publisher: Packt PublishingAuthor: Diego, Adrian Naya LazoISBN: 1847191525Release Date: 31...
- The Apache Modules Book: Application Development with Apache (Prentice Hall Open Source Software Development Series) Publisher: Prentice HallAuthor: Nick KewISBN: 0132409674Release Date: 26 January 2007...
Home > About This Post
This entry was posted by Administrator on Thursday, February 2nd, 2006, at 8:50 am, and was filed in Books.
Subscribe to the
RSS 2.0 feed for all comments to this post.
Post a Comment
You must be logged in to post a comment.