Watching – Programming with Hand Tools

Tim Ewald – Clojure: Programming with Hand Tools

A very nice keynote about using simple hand tools for productive work. It starts with the examples of “wood work” (like furnitures) for describing the importance of understanding materials and tools well.

  • Material
    • The material in the programming world is data structure. Persistent data with solid structure is required.
  • Tools
    • Functions and semantics are the gateway to operate on the materials.

Automation with heavy-weight tools can be good for productivity, but it also requires certain costs. It changes the way to look at the problem, and we could lose some insights behind the scene.

Functional programming languages like closure has nicely organized immutable/concurrent data structures with simple interfaces, compared with relatively complex set of classes and objects. Simple data structures provides great flexibility.

The automation part reminds me of Chef, which I was trying on Chef recently. It’s a good automation tool with a concept of simple idempotency policy, but it involves much complexity behind the scene. Maybe blindly using them might be dangerous without understanding the underlying architecture. Or, applying more simpler type of approach like Sunzi would be another option.

We may have to carefully select the tools and materials, before going deeper into the problem.

Advertisements

Posted on February 8, 2014, in Conference, Web. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: