Feeds

Shall I compare thee (code) to a summer's day?

Beauty that's code deep

SANS - Survey on application security programs

Book review Beautiful code? Well, we've all seen plenty of ugly code in our time. If we're being honest, we'd probably even admit to have written some dog-ugly code at one time or other (no doubt with every intention to refactor it later so that it's a bit less brutally repulsive). But code that's beautiful? What does that even mean?

Code that's simple and easy to understand? Code that expresses an elegant and counter-intuitive algorithm? Code that's terse, powerful, and too clever for mere mortals to comprehend?

Of course, there's no one definition of beauty in any sphere of life, and software's no different in this respect. But while there's not a single definition of beauty that emerges from this collection of essays on "beautiful code", there are some common themes that do emerge repeatedly. But more of that later.

This is a fairly eclectic collection of writings about code, covering different types of software (from deep within the guts of operating system kernels, to fundamental sort algorithms, to processing gigabytes of data in bioinformatics), to different languages (from C to Java to Ruby to assembler), to different domains (from data mining to gene sorting to XML parsers).

While all the authors are noted experts or hackers, some are better known than others, and some write with greater skill than others. What all of the authors share is a notion that code itself can be interesting and beautiful – it isn't just the algorithm that's important, it's the code itself.

There are some stand-out pieces that deserve mention. Tim Brays piece on searching through log files using Ruby and Java does a great job of showing the strength of those languages; Brian Kerninghan discourses on regular expressions; Michael Feathers writes about the unusual API design of the Framework for Integrated Testing; and, writing unit testing code is considered beautiful by Alberto Savoia. There are plenty of other good articles, and while some of them really didn';t grab this reader, overall the 33 chapters present a high standard of writing, technical excellence, and interest.

While this isn't a book that covers the latest programming fad or the latest-and-greatest programming language, framework or methodology, it's certainly one that will appeal to those of us who are interested in coding.

And the idea of beautiful code is one that ultimately has a distinctly utilitarian value. Beautiful code is code that encapsulates an elegant algorithm, or that uses the natural features of a language well; it's code that isn't encumbered with special cases or clunky data structures. These ideas of elegance and simplicity emerge in many of the examples described by the different authors. Beautiful code is also code that is flexible, powerful, and efficient. And if we all wrote code that was beautiful, our software (and our users) would benefit from it directly.

And if all that doesn,t convince you that this is ideal holiday reading for developers, then it's worth pointing out that all the profits from this book are pledged to Amnesty International.

Beautiful Code

beautiful codeVerdict: Consistently interesting and highly readable.

Edited by Andy Oram and Greg Wilson

Publisher: O'Reilly

ISBN: 0596510047

Media: Book

List Price: £31.99

Current Reg price: £22.71 inc. VAT (discount 29%)

Buy this book at Register Books at Reg Developer's special discounted price (subject to change).

High performance access to file storage

More from The Register

next story
This time it's 'Personal': new Office 365 sub covers just two devices
Redmond also brings Office into Google's back yard
Oh no, Joe: WinPhone users already griping over 8.1 mega-update
Hang on. Which bit of Developer Preview don't you understand?
Microsoft lobs pre-release Windows Phone 8.1 at devs who dare
App makers can load it before anyone else, but if they do they're stuck with it
Half of Twitter's 'active users' are SILENT STALKERS
Nearly 50% have NEVER tweeted a word
Internet-of-stuff startup dumps NoSQL for ... SQL?
NoSQL taste great at first but lacks proper nutrients, says startup cloud whiz
IRS boss on XP migration: 'Classic fix the airplane while you're flying it attempt'
Plus: Condoleezza Rice at Dropbox 'maybe she can find ... weapons of mass destruction'
Ditch the sync, paddle in the Streem: Upstart offers syncless sharing
Upload, delete and carry on sharing afterwards?
New Facebook phone app allows you to stalk your mates
Nearby Friends feature goes live in a few weeks
Microsoft TIER SMEAR changes app prices whether devs ask or not
Some go up, some go down, Redmond goes silent
prev story

Whitepapers

Securing web applications made simple and scalable
In this whitepaper learn how automated security testing can provide a simple and scalable way to protect your web applications.
3 Big data security analytics techniques
Applying these Big Data security analytics techniques can help you make your business safer by detecting attacks early, before significant damage is done.
The benefits of software based PBX
Why you should break free from your proprietary PBX and how to leverage your existing server hardware.
Top three mobile application threats
Learn about three of the top mobile application security threats facing businesses today and recommendations on how to mitigate the risk.
Combat fraud and increase customer satisfaction
Based on their experience using HP ArcSight Enterprise Security Manager for IT security operations, Finansbank moved to HP ArcSight ESM for fraud management.