Archive for the ‘technology’ Category

Explaining Things to Computer Scientists

Tuesday, January 20th, 2009

I love this introduction to git: Git for Computer Scientists.

The reason I like it is evident right in the abstract:

Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph.

Computer Science has such a rich vocabulary for describing data structures and their transformations, yet every other introduction to git I’ve seen uses mostly command line examples and hides technical details behind analogies.

The examples and analogies are helpful, but a little precise discussion of the way a system is put together can be even more helpful. It seems to me that most programmer targeted software introductions and tutorials tend to shy away from directly invoking basic computer science concepts.

It’s a shame, because you can communicate a lot of information in a short amount of time if you use the right vocabulary.

If you’re a programmer writing a document for other programmers, why not leverage this kind of common knowledge to communicate efficiently?