Adventures in Java, or, a ‘Three Hour’ Tour

Posted: 2023-01-22
Word Count: 867
Tags: computers java json rants

Yesterday I thought I’d spruce up a “JSON Pull Parser” that I apparently wrote in 2019 using the Eclipse IDE, then write a new version of a caching framework I wrote for way back in 2006. It would be an opportunity to scrape the rust off my Java programming skills, get better acquainted with Git1, and see what the new version of Eclipse was like. I figured it would only take a couple of hours, three tops.

Git retraining seems to be going well. I keep typing svn ... instead of git ... though, especially since most of the commands are the same. The semantics are different; though. svn add ... simply means add a file or directory to the current work area. Since Git combines workarea and (local) repository, though, it means “add these changes to the next commit”. There’s a git commit -a ... option that adds and commits everything, which saves some time, but it took me a bit to start using it.

The problem was Eclipse. Sure the version I had from 2019 worked fine. Fool that I am, I thought I might as well upgrade. You know those scenes in horror movies where the characters clearly know something isn’t right, but they keep going anyway? Repeatedly? That was me yesterday.

So at long last I deleted all the menu items and desktop shortcuts for these FIVE buggy versions of the same IDE. Buggy for me, anyway, but as I’ve whined before I’m on a slow laptop running an old version of Linux Mint, so maybe their shiny new JREs won’t work on an end-of-lifed OS. I still have them installed, just for the hell of it, but I made a shortcut for Eclipse 2019 edition. That still works.

While I was at it, I also looked again at NetBeans, and even downloaded version 16. (The last one I tried to use is 11.) It does some things right, like creating Ant build files so you don’t have to start up NetBeans just to compile your project. Still, I couldn’t figure out how to do some essential things I could in (old) Eclipse. For example, after too much time spent on interfaces for the Cache project I thought I’d build a test case for the eventual running code I’d write. NetBeans, however, kept complaining No tests root folder found for the selected project.. Is the package com.frank_mitchell.cache.test not enough? Is the folder fmcache/tests/ not enough?` What do you want from me, NetBeans? WHAAAAAAAAAT!?!

So for now, I’ll go back to Eclipse 2019, but really for the kind of stuff I’m doing – simple libraries – I might just stick with terminal windows and vi. Yep.

It was supposed to be a three hour tour. (A three hour tour.) Yet at the end, I’m stuck building things with coconuts, bamboo, and vines.

  1. I typically use Subversion for my personal projects. Subversion uploads changes to a central repository where I can back up everything I’m working on. I’ve also structured it as one big tree, so I can move files and directories freely between projects or hoist something to the top level as a project of its own. Git seemed to lack all those features … but everybody’s using it now. ↩︎

  2. A few years ago I investigated Antlr for the same purpose. The principles (of the syntax generator) are a little unfamiliar – I once used another parser generator that’s now abandoned – but it looked pretty good. IDE support might be handy, but really why does a parser generator need an IDE? ↩︎