Shortcut Tutorials

Probably the first real coder I met was at school.

He was just some kid in an older class who knew how to code the BBC micros that littered the computer room with the heavy metal door. This guy was a genius. Except he wasn’t really. He just learned a lot of stuff from old type-ins in BBC micro magazines. You’d describe him as the guy with glasses, but he didn’t wear glasses. You get the picture.

One of the most astonishing things I saw was that he abbreviated every single command he typed in, which was allowed, using a dot. Instead of typing “BASIC”, you could type “BA.”. My favourite was that he typed “RU.” instead of “RUN”. Eh? You haven’t even saved yourself a keystroke there. What was the point?

The point was showing off that he knew the shortcuts, and was therefore cleverer than us.
Trouble is, we couldn’t learn what was going on. What did RU. mean to us? Russia?

I was reminded of this ancient experience from a recent Django tutorial or two.

When you’re learning Django, there seem to be two common experiences. One is the “you should read the python and django manuals, become an expert in the field, then come back and ask again” response. The guys seem to be doing a lot to make the project more open, and I’m seeing fewer of these which is good. To me, Django is a window into the world of Python. It’s the shiney box that has brought me into Python coding, and even to owning and working on a Mac.

The second common learning experience is the tutorial. Trouble is, I think a lot of the tutorials have been written by the same shortcut guy I met at school. It’s great to see that there’s a generic rendering view for objects, but really, when I’m starting out, I want to do things the lengthy way. I want repetitive views coming out of my ears until I’m familiar enough with the concept to move on to generic reusable code.

I have a successful Django project under my belt. It’s live, I’m happy and I can say it doesn’t use any clever shortcut generic shennanigans. Maybe one day, I’ll get a high-enough view to be able to do that, but actually I’m not sure I need to. Every time I generify, I lose future flexibity, and a hell of a lot of readability.

My colleague here always bleats about the Hello World programs of today. He describes them as “look! there’s a pony!”.
Let’s get back to really basic tutorials.

NB. The RTFM folks will be telling me to contribute to the tutorials. They probably have a point.