Tuesday 16 December 2008

Getting There

Almost a month has passed since my last blog entry, and I feel an update is in order. Although I have been doing some background research, jotting notes, etc I don’t have yet anything polished enough to publish; I am planning to give it some structure over Xmas / New Year. It is also going to serve as a good excuse to escape from shopping and mad crowds so characteristic of the season. Bear with me, and hopefully there should be some real work posted in the next few weeks, the quality of which I suspect will depend, among other things, on how much beer will be flowing around. And last, but not least, my very best wishes to all of you fellow mass-writers for your endeavours in the New Year.

Tuesday 18 November 2008

Lucky Trip to the Local Book Store

As I got back from a business travel, I found my voucher in the mail box between utility bills and loads of junk. The following day I went to my local Waterstone’s to order the book, not without first heading to the computing section just to check the latest titles. To my amazement, there it was, on the shelf, a single copy of Greenberg’s Processing, waiting to be taken home! At the till, when the shop assistant politely asked “Would there be anything else?” I jokingly replied “Do you sell lottery tickets, by any chance?”

Friday 7 November 2008

Chunk #2 Specification

Following is the spec for chunk #2 copied from the book fragments blog (except the additions enclosed in parenthesis).

Title: Introduction to Java.

Description: Introduce Java concentrating on its history. Do not show any programs (maybe just a little one?). Best to describe a very simple program that draws a couple of lines. Remember the reader will not be a programmer (not yet anyway).

Outcomes:

* Understand how Java emerged from the programming language jungle (and a jungle it is!!).

* Describe the main features e.g. portability, of the language.

Reference: Use the Web.

Hint: Do not clutter the description with code, remember this is an introduction. No more than half a dozen lines.

Program: No program needed for this chunk.


Given the above spec, I have been pondering over the last few days how to structure this chunk. In the course of my thinking sessions the same tantalizing question kept cropping up over and over again: how do you introduce a programming language to a non-programmer? The best answer I could come up with so far is: you don’t. Well, at least not as a starting point anyway, not in the first 500 words.

I think a good way to introduce the subject is to provide the reader with an answer to the fundamental question: why do we need programming languages? Probably the fact that microprocessors only “understand” binary numbers has something to do with it. Clarifying these concepts in everyday language will make it much easier to explain things like platform-neutrality and garbage collection later on. I am tempted to use lots of metaphors here. This is going to be fun!

Once readers understand the fundamentals of programming in general, and have been convinced that the Java programming language is A Good Thing, then it will be a good time to show it in action by illustrating a simple program, just to get their feet wet, and get them prepared to the next chunk: an introduction to algorithms.

In one of the next postings I will try to come up with a more formal structure description for this chunk, and hopefully have some new ideas cropping up in the meantime.

Friday 31 October 2008

Prelude to Chunk #2

It is official. I am now responsible for writing chunk #2, Introduction to Java, having received the OK from Darrel.

You might think it is a pretty selfish choice: no dependencies on other authors, little or no code to write, no need to agonize waiting for Greenberg’s book to arrive to get started. But please wait; I can assure you my choice was inspired by more noble reasons.

My involvement with Java technology at a professional level goes back to the first release of the JDK. It was a pretty innovative proposition back then, and I immediately embraced it with enthusiasm. However, to be an early adopter of new technology always carries a degree of risk, and you have to weight its merits and drawbacks against competing and more mature alternatives available to justify your choice. This exercise gave me a pretty good historic perspective of Java, experienced firsthand.

On top of that, there is the wonderful challenge of introducing a pretty techie subject to a non-technical audience. Almost as challenging as when my granny a few years back asked me to explain to her how the Internet works. Now, how is that for motivation?

Wednesday 29 October 2008

Mass What? Some Initial Thoughts

"Mass Writing Project". I had never heard the term before, until that brief article on Sesame caught my eye. I tried to search “Mass Writing” on Wikipedia without any joy; a cold “No matching entries found” was all I got. Even a Google search for “Mass Writing Project” did not help too much. But eventually it all became clear upon receipt of the joining instructions from Darrel. “How cool is that?” I thought. So, here I am. I still don’t have the Processing book, not to mention the voucher, and no chunk assigned yet. I guess the only thing I can do right now is to download and start playing with the IDE. And maybe posting some stuff about myself as well in the meantime.

Welcome

This blog is part of a collaborative writing project for the Open University. For more information please visit the main project blog.