I want you all to know that programming for all to see like this is kinda like wandering through a crowded farmers market in your pajamas. Everyone can see how many mistakes you make, and that you’ve got a robe that’s just a bit too small, and you still like fuzzy slippers with funny little monsters on them.
My point is, don’t make fun of my first Greenfoot world. I’m proud of it, even if it doesn’t have wombats in it.
I called it LumpWorld.
To start, I fired up my freshly downloaded copy of Greenfoot. You may need to get Java 5 before you can get started; it’s a big download, so you’ll want to start downloading it slightly before you started reading this post.
First things first; I opened up Greenfoot, and I created a New project (File -> New). I called it “LumpWorld”, because… well, I figured my first world really wouldn’t do anything. So, everything in it would kinda be like a lump.

Now remember Matt’s Mantra: documentation is for C programmers. I figure that I’ve hung around the BlueJ guys enough that I can just figure out how to use Greenfoot. So, I right-clicked on Actor, and chose New subclass. When given the opportunity, I called it “Lump”.

(Question to self: If you’ve never programmed before, does New subclass mean anything whatsoever? Perhaps this should be New Protoge, or New understudy?)
What I was surprised by was the next dialog: I get to choose a picture for my Greenfoot Actor! Sweet. Now, I could go digging around my hard drive for something really lumpish, but for now, I’ll use a mushroom. They’re kinda lumpy.

My Lump now has a picture, but it isn’t ready to go on-stage. To do that, I need to hit the Compile All button. This checks my code, and then gets my Lump ready to run around in the Greenfoot World.

I have to admit, I was getting excited at this point. I right-clicked on Lump, and said New Lump(). I thought “Sweet. Mushrooms everywhere!” Turns out, though, I was wrong.

I can’t put my mushroom down! You see, I’ve just created a new Lump, but not a new world. This may not be obvious, but I apparently need to have both a World and an Actor to play in it. And here I thought “… all the world’s a stage,” or something like that…

If I right-click on World, I can select New Subclass again. Here, I’ve called my new World “LumpWorld”. To use it, I have to Compile All again.
Now, things change a bit! This was nice: I now have an empty world in which to place my lumpy mushrooms. Pretty cool.

I know it seems silly, but this struck me as a really nice behavior. So far, I’ve written absolutely no code, but the environment is doing reasonable things for me… like giving me a titled, blank canvas to work on. Oh, the universes I will conjure!
(*cough* OK. It’s getting late. I get a bit loopy when I’m tired.)
At this point, I can right-click on Lump, and place one or more mushrooms in the world. Keep in mind, they’re not really mushrooms—they’re Lumps, but they happen to have an icon that looks like a mushroom. (In the future, I’ll try and use icons that look like the thing I’m creating. At least for a little while.)

Bling! A world full of mushrooms! If you’re keen, you can run your world now:

And nothing happens! Why? Because we haven’t made the Lump actor do anything. But making our Lump objects do nifty and exciting things is going to have to be for another time… because right now, I need to catch a bus to Chicago.