In Defense of Java

Java sucks
Recently, I wrote a blog post titled “Can Java be saved from death by feature bloat?“, that commented on some of the feature proposals for Java 7 (and some existing ones).

This post generated many comments. Some of them are so stupid, that I feel compelled to respond.

What I really want to get across with this is: I really like Java. It’s a great language, and most of the language zealots haven’t got a clue what they’re talking about.

Continue reading

Can Java be saved from death by feature bloat?

We all agree that Java needs simplicity – we just don’t agree what that means.

Several things came together recently that made me think about simplicity in the Java language again, and what that might mean. And one thing is clear: simplicity is not simple!

Events that prompt me to write about this again were feedback I recently received about another blog entry (where I discussed simplicity in more general terms), a discussion by the Java Posse guys about new language features, and my own teaching. (First term is about to draw to a close in our parts of the world, so I’ve just been through 12 weeks of teaching another cohort of freshmen programming in Java again.)

The executive summary is: I think many of the recent discussions for changes to Java are in danger of pulling the language downhill fast, and the term “Simplicity” has different meaning to different people that cause directly contradictory results for language design.

Continue reading

Back to basics – new Greenfoot video

Recently, I have announced the first Greenfoot tutorial video. Not an overwhelming success as yet (no nominations for Academy Awards or Emmys, no calls from Warner Bros. or the BBC). As far as I know, maybe not even a viewer yet… Alas, I shall not be discouraged. If nothing else, it gives me somthing to look back on in a few years and laugh at how funny my voice sounded…

The idea with these videos is to provide random tips and techniques of doing various things in Greenfoot. However, equally random as the choice of subject for these videos is my order of producing them: I started with “Making explosions” – a rather advanced tip for blowing things up. Not really the first thing you need to know when getting started with Greenfoot.

The idea is, over time, to build up a collection of short tutorials that cover a broad range, from basic tips to more sophisticated techniques. The order in which they will appear will, however, remain somewhat random. I record them according to whatever I happen to have on my mind at the time.

I realise, though, that the basics — getting started — is really what most people need to know right now. So I have recorded a first general introduction. Not really a programming tip, but a very quick overview of what Greenfoot is and what it can do for you. So if you are one of the great majority out there who haven’t got a clue what Greenfoot is, here’s a thing for you to look at and find out.

More to come in the near future.

Making explosions – a Greenfoot video demonstration

Explosion

Many of you probably know that I am working on the Greenfoot project. The software itself is in public release and is very usable. What is lacking at the moment is documentation – good instruction that tells people how to do things.
Creating this documentation will be one of our main tasks over the coming year or so. This will take various forms – web pages, a book, work sheets, examples, videos…

I have decided to make a start with some videos. They will be slightly random in order, showing things which I happen to have on my mind. Over time, though, I hope to build up a collection that is somewhat ordered: starting with basic tasks, and moving on to more sophisticated things.

So, here is the first batch: it shows you how to make a nice-looking explosion in Greenfoot. The video tutorial is sliced into three parts, just to keep the file size manageable.

The Greenfoot Video Tutorials

Making Explosions, Part I (length: ~5 min, 11.6 MB)
Making Explosions, Part II (length: ~18.5 min, 57.9 MB)
Making Explosions, Part III (length: ~15 min, 52.2 MB)

These are all published under the Creative Commons Attribution-NonCommercial license.

You can also get the source code of the project developed in the video.

Have fun. And let me know if you turn this into an interesting Greenfoot scenario!

Every open system develops towards the unusable

Kathy Sierra, on her excellent blog (which may have very sadly come to a close now, but that’s another long and sad story) has recently published a collection of her favourite graphics from the last few years.

Here is one that I really like:

Featuritis
(By Kathy Sierra, from http://headrush.typepad.com/,
shamelessly copied without permission – I hope she doesn’t mind!)

You should really look at the site yourself – there are many more great diagrams!

The Featuritis diagram above struck a nerve with me, since it’s something that’s been close to my heart for a long time. It is also related to what I think is one of the Natural Laws Of Software Development:

Every open system develops towards the unusable.

If you want to find out why I think that, read on.

Continue reading

A License for BlueJ?

Beer
BlueJ has always been distributed under a “free-for-any-use/free-for-non-commercial-distribution” license. We never bothered to come up with more detailed rules. Generally, I don’t like having to deal with licensing much.

But today, I came across a license that was new to me: The Beer License. Now, there is an interesting idea!

Continue reading

Firefox conquers the world

Browser
Some of the articles on this blog last week resulted in quite a bit of traffic. As I was looking through our logs to see what they looked like, one surprising thing stood out: the percentage of Firefox users.

The graph above (thanks to Google Analytics, an amazing web traffic analyzer service that we run here) shows the proportional distribution of browsers used to access this blog over the last week.

And the result is: Firefox is taking over the world…

Continue reading

Movement – The Latest on The Microsoft Patent Application

Cathedral1-SmallWhen I wrote the article about the Microsoft patent application on Friday, I hoped that the visibility it might generate would help our case against this application.

It did. And much more quickly and efficiently than I expected.

It seems that Microsoft will withdraw the application. They have apologised. And all that on a weekend.

Continue reading