Final should be Default for Classes in Java

We were having an interesting discussion the other day, and the issue of final classes came up.  For some reason, it suddenly occurred to me that all classes should be final by default. That is, classes should be implicitly final, rather than requiring an explicit declaration.  For example, the following should be considered invalid . . . → Read More: Final should be Default for Classes in Java

What Kind of Revert are You?

Reverting is tough.  There’s no doubt about it!  I don’t mean tough as in technically challenging — no, version control systems make this easy!  I mean tough as in mentally challenging.  You’re faced with days or weeks of effort going down the drain, and you have to decide when to pull the plug.  Sure, . . . → Read More: What Kind of Revert are You?

Language Complexity?

Some languages are complex, others are simple … right?  C++ versus just about anything else is a good example here.  But, it begs the question: what makes a language complex?

So, I’ve just been reading Bruce Eckel’s Artima article on Scala.  It’s actually a nice article, and I enjoyed it.  But, one thing bugged . . . → Read More: Language Complexity?

JavaScript Playground

I’ve been doing a bit of JavaScript programming recently, and I came up with the “Creature Playground” (which is primarily aimed at teaching). The full version is here. But, here’s a little taster (click on “Create” a few times):

Oh No!

Your web-browser does not appear to support the HTML 5 Canvas. Sorry, . . . → Read More: JavaScript Playground

One Thing I Really Hate About the JVM

Whilst I think the [[Java Virtual Machine]] is generally speaking a fantastic piece of kit, there is one thing that I really hate about it: I can’t stop threads!!!

Sure, there’s a method called Thread.stop() … but it’s deprecated. There’s even a whole article devoted to why it should be deprecated.

Great.  That’s just . . . → Read More: One Thing I Really Hate About the JVM