library reading

Programming Style: Writing and Computation

After yesterday’s (somewhat lame) post on Beautiful Code, I realized that there have been a number of books I’ve read, source code I’ve read, and projects I’ve participated on that have influenced my sense of software style and craft.

While most lists like this emphasize the computation books, I’ve noticed that there’s an implicit book missing from most of these lists, namely “The Elements of Style.”

Here’s my top set of core books on coding style that I really thing matter:

  • The Unix Programming Environment, by Kernighan and Pike,
  • The C Programming Language, by Kernighan and Ritchie,
  • the various ‘Lambda papers’ Guy Steele (Lambda, the ultimate imperative, etc.)
  • the Anatomy of Lisp by John Allen,
  • On Writing Well, by Zin
  • The Elements of Style by Strunk and White,

and, influenced by Strunk and White:

  • The Elements of Programming Style, by Kernighan and Plauger
  • The Elements of Java Style, by┬áVermeulen, Ambler, Bumgardner, Metz, Misfeldt, Shur, & Thompson

Interesting overlap with the list over at the Association for Computing Machinery (Classics).

What influenced you?


cheap cool tools extensibility library scanner

Application extensibility

Today I’m fiddling with the concept of application extensibility; going back to my roots, as it were

This application, “Delicious Library” is an *amazing* book scanner, that uses the built-in iSight camera in many Macs to scan bar codes, look it up in Amazon, and add it to a catalogue of your library.

The ergonomics are excellent. This is an excellent product.

It has one thing that I’d really love to see added to it: a way of programmatically sharing the bar-code scan data that it has found (or NOT found), so that other sources of codes could be checked…for example, the wine product list of the Liquor Control Board of Ontario.