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 Hotels.com 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
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”.
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.
When the installer for the 2022-12 version popped up, it was kinda small and cut off most of the text. I tried to resize it and instead it seemed to resize and move around randomly.
When the installer finally calmed down, I noticed that it offered multiple versions of the Eclipse IDE. (Surely you’d make an IDE with modules for specific languages and profiles, right?) I clicked on the vanilla one for Java Developers.
“Eclipse for Java Developers” got to about 75% of the install then stopped, complaining about slow downloads for specific resources. Eventually it was done. (Did someone try this beforehand? If I knew one part of my install may take far longer than the rest, I’d build that into my calculations for % done. Then again, I’m pathologically honest.)
For the hell of it I also installed the versions for C/C++, the latter of which I don’t use (and which failed the first time), JEE in case I every want to code for a big “enterprise” again (which I probably won’t), a Java-based framework called Xtext for creating parsers (which I always talk about but never do2), another framework called Scout that’s supposed to create applications using HTML5 and CSS.
I started the vanilla Java up, tried to import my old Eclipse project in … and it crashed. I started it again, the import seemed to work, but when I tried to delete an extraneous file, it crashed. I started the JEE one to see if it would fare any better and nope, it crashed. Rinse and repeat for another thirty minutes or more, because I’m an idiot.
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
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.
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. ↩︎
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? ↩︎