the corner office

a blog, by Colin Pretorius

I cannot set a waypoint to the same location twice

Aaah, fire up some way-old Tangerine Dream for atmosphere, undock from the station and point my trusty old Condor at the stars...

Nice to be back on Eve Online. Luckily for me, my old character was still on the server, waiting for me, my EveMail, skills, assets, dosh, the lot. So apart from a black hole of about 9 months of missed skill training, I've just picked up and carried on as if I'd never left.

Not entirely, though. The game itself has gone through some large expansions since I last played... a lot of new features and content that I still know very little about. The way coolest change isn't an in-game feature at all though, it's the addition of an external API. Armed with a unique authentication key, you can now query an API server and get a ton of character and game-related XML data in response. Combined with static game data which is exported regularly and made available for download, you can build some useful and powerful applications. There seems to be quite a lively 3rd party tool community, with a lot of open source code and some nifty-looking little apps. (Oddly enough, none in Java though).

That brings me to something of a cross-roads. My old web based market app is still there, with lots of potential improvements with the API. Frankly, a lot of it was so organic and spaghetti-ish that I'll probably end up rewriting a lot of it. If I'm going to do that, is it worth sticking with Java? My early Eclipse RCP efforts were inspired by wanting to add features to the market app that weren't easy on a web app (at least with my ham-fisted UI skills). Having done a bit more RCP development, I'm not so excited about that. I could do a Swing app but that doesn't excite me either.

This ties into something I mentioned at the beginning of the year. As much as I love Java, I spend all my working hours with Java, and I'm in the mood for something different when I get home. I really wanted to spend more time with C++ this year, but C++ isn't really a solid or productive choice for a desktop app circa 2008. The question, then, is what? Stick with Java, even though I don't like Java UI development much? C#? If so, .Net or mono? WinForms or GTK? (since Eve apparently runs on Linux as well, now). Alternatively, go completely exotic and learn something like Python and one of the many Python UI bindings? Still not sure.

{2008.02.13 00:31}


1. Ronwen (2008.02.13 - 08:21) #

"Rewriting"? Here we go again..........

If you want something different, I have a few suggestions.....

2. Ben Poole (2008.02.13 - 09:46) #

Objective C!

3. Ronwen (2008.02.13 - 20:12) #

Oh god.....I wish people wouldn't encourage him.

4. Colin (2008.02.17 - 00:37) #


5. Leslie (2008.02.17 - 14:56) #

Ruby of course. You can even use Netbeans and JRuby, giving you the option of calling Java stuff inline.

If you wanted to do something really awesome for the world, learn Ruby and modify Matisse to produce Ruby GUI code.

Am I talking to myself again? Seriously, if you want to learn a language for the love of it, learn Ruby.

6. Colin (2008.02.18 - 22:50) #

Hrm, you see, there's the rub. Part of me would enjoy doing something totally different, just for the fun of it, but another part of me just wants to crank things out quickly, which means sticking with what I know. But arguably something like Ruby would be quick to develop with once I've gotten comfortable with it, so it gets a bit circular ;-)

« Done. Done. Done.

» Jet-settin'