The Code is your Tutor, RTFSC

In a perfect world every apprentice would have a perfect tutor.  All the time. An apprentice would always be able to learn from great masters and journeymen under favorable conditions, they would have time and communicate well and learn from one another. The apprentice would offer enthusiasm and freshness, and the teachers would bring perspective and knowledge and best practices and even wisdom.

In the real world it’s much more chaotic. Our paths sometimes cross, sometimes they don’t, sometimes we have time, sometimes just issues and deadlines, but we always have the code.

We always have the code, and the code will guide us.

The code has always taught me something. Bad code lets me learn from its errors, good code from its elegance and efficiency. I travel through its lines, explore its streets, squares, cities, towns. It sometimes feels like living inside the code, I can really see it all around me. When I started programming, I thought that reading other people’s source code would be the hard part, but it wasn’t. When it comes to full immersion, you just do it, and don’t look back. You just learn. You just swim. Not always perfectly, mistakes are inevitable, but you do.

And I have only just started to explore. I have many more open source projects to take part in, functions and methods to invoke, classes to create and subclass. I wish I had used Google Code Search more before they closed it (anyone know of anything similar?).

No matter what the future brings, one thing is certain : I will keep learning. And knowledge is something no one can take away from you.

Does this mean it is OK to treat people with a “Read The F* Source Code” and “It’s all in the code, don’t ask questions” attitude? No it’s not OK. Reading the code is no substitute for communication, commenting or documentation.

But at least I know I will always have a great teacher, with an infinity of things to teach me, and that is the source code of all the free and open software out there. Thank you all for sharing.

Advertisements

About apprenticecoder

My blog is about me learning to program, and trying to narrate it in interesting ways. I love to learn and to learn through creativity. For example I like computers, but even more I like to see what computers can do for people. That's why I find web programming and scripting especially exciting. I was born in Split, Croatia, went to college in Bologna, Italy and now live in Milan. I like reading, especially non-fiction (lately). I'd like to read more poetry. I find architecture inspiring. Museums as well. Some more then others. Interfaces. Lifestyle magazines with interesting points of view. Semantic web. Strolls in nature. The sea.
This entry was posted in learn-to-learn, musings, Uncategorized. Bookmark the permalink.

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