A few random thoughts about Java (to get out of the way so I can stop boring Jordan):
- I’m not thrilled with the whole checked/unchecked exception thing. Checked exceptions, to be honest, seem like kind of a pain to me: they make your code more verbose, but I don’t yet have reason to believe that they catch much in the way of problems. I suppose it makes more sense in Java than in C++: in C++, destructors make it easier to handle exceptions safely, and templates would interact really badly with checked exceptions, so maybe as I gain more experience with exceptions in Java, I’ll come to appreciate them more. Or maybe not. I’m kind of tempted to make all the exceptions I define be unchecked, but it’s probably better to stick with more idiomatic techniques, even if they are a bit of a pain.
- I like the HTML documentation that comes along with the language: it’s great to be able to just look up all the standards classes and their methods whenever I have a question.
- I’m not convinced that package visibility is a great idea, though I will reluctantly accept that some form of encapsulation breaking is necessary at times, and package visibility is probably about as good an idea as friendship. What is definitely screwed up, though, is making it the default, instead of requiring people to specify it explicitly with a keyword. Also, protected shouldn’t imply package: the two concepts are simply orthogonal.
Anyways, that’s the end of my Java notes; I should get back to actually programming in Java, so I’ll have more things to talk about. I’m also tempted to start using a modern IDE: I’ve been doing a lot of refactoring recently at work, and I feel uncultured never having used an automated refactoring tool. So maybe I’ll give Eclipse a try. The main thing I’m worried about is that an IDE might make me use the mouse more than my hands like; I think Eclipse has pretty good keyboard shortcuts, though.
I was at a Sun conference this week, so now I feel guilty about wanting to use Eclipse instead of NetBeans. But it really did sound like NetBeans’ refactoring support is pretty meager – in particular, it doesn’t even support Extract Method – so Eclipse it probably is. Interesting conference; I spent a lot of time talking and learning about agile methods (well, about extreme programming, really). I should post on that some time.
There are no revisions for this post.