andrewducker: (BSG PVP)
andrewducker ([personal profile] andrewducker) wrote2011-09-17 10:32 am

Today I am loathing working with Java, Eclipse, and stupid third-party libraries

So, I'm still working on the Delicious posting replacement.

And I'm getting there*, but some of it is very frustrating.

Java has some things that are frustrating, particularly as I can see the places where C# improved them. Properties, for instance. And Iterators. The latter is now a lot nicer as of more recent versions of Java, but that's bugger all use most of the time, as I'm using libraries that were written back in the stone age, when you had to do all the heavy lifting yourself. None of the libraries, for instance, have used generics for their lists, which is particularly annoying me.

On top of that, there's Eclipse. Which has lots of lovely refactoring tools, but lacks polish. In VS**, if I want to rename a variable I just type over bits of it, and then tell it that I want all references to that variable to be updated to this new name. In Eclipse I have to tell it first that I want to rename this variable and then change it. It doesn't sound like much, but it's just less user-friendly. Similarly, the intellisense _tries_, but it's not quite as good. A fair chunk of the time I have to press Ctrl-Space to make it offer me suggestions for variable names, rather than it popping them up as I type. Oh, and don't get me started on the faff I had to go through to get my code transferring back and forth between two machines - using Git wasn't a big problem, but when it turned out I had Eclipse 3.5 on one machine, and 3.6 on the other, trying to just upgrade in place took an hour and a half and didn't work, so I ended up blowing away Eclipse on the laptop and reinstalling.

And then to cap it all there are third party libraries that don't ship with all of their dependencies, and sometimes don't mention that they have them at all. I picked up a library to work with Delicious, got a bunch of code in place for it, and only when I actually went to run it did I then get an error telling me that it has a dependency on Apache HTTPClient. So now I'm off to download that as well, and see whether that slots neatly into Google App Engine or not. I had the same issue with the feed parser I used, which turned out to be dependent on the Apache Xerces XML parser.

The actual code I'm producing is just fine, but the faff necessary to get it in place is just massively annoying.

*You can see where I'm up to here.
**Visual Studio, the MS equivalent.

[identity profile] momentsmusicaux.livejournal.com 2011-09-17 01:28 pm (UTC)(link)
Eclipse (and Netbeans too) is a POS.
Never mind autocompletion and that sort of thing -- I am still used to plain text editors so I don't use those anyway. What I can't stand about Eclipse is that it can't even do basic text manipulation that is *PART OF THE HOST OS SPEC*. Like double-click + drag to select by words. Or selecting whole lines and dragging them. Or copy-dragging chunks of text. That sort of absolute basic stuff.

[identity profile] momentsmusicaux.livejournal.com 2011-09-17 04:04 pm (UTC)(link)
Hmmm *squinty eyes* Maybe they've fixed those since I last tried it. But every time I try, there's something basic still missing.
Also, the UI is a clutter of tiny little buttons which are incomprehensible. Panes collapse or disappear and I don't know how to get them back. I've tried to use Eclipse because of its debugger, and actually did manage to get that working last year, but then it stopped working so not used it since then...

[identity profile] momentsmusicaux.livejournal.com 2011-09-17 06:07 pm (UTC)(link)
I don't think there's a problem with an IDE covering multiple languages -- you just need to make the language-specific stuff like highlighting and completion and documentation lookup frameworky so it pulls in configuration or functionality per-language. It's just a UI mess, and probably a code mess under the hood.