![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
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.
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.
no subject
Date: 2011-09-18 03:58 am (UTC)http://www.rebol.com/article/0509.html
And an earlier, less precise rant...
http://www.rebol.com/article/0497.html
no subject
Date: 2011-09-18 08:44 am (UTC)no subject
Date: 2011-09-18 08:50 am (UTC)no subject
Date: 2011-09-18 08:52 am (UTC)And now I've had a look at it, I'm not terribly impressed.
(I mean, I'm impressed that he's created a language from scratch, that's not something many people manage, just not particularly impressed with that one.)
no subject
Date: 2011-09-18 09:06 am (UTC)REBOL's a lovely language, but has painted itself into a corner by not being open-source, so the current version lacks bits here and there which it really needs for prime-time. And the next version's been in development for five years or so and is in something of a hiatus at the moment.
no subject
Date: 2011-09-18 09:18 am (UTC)To give an example (and I'm happy to be corrected here, I've only taken a very quick look), you create a button with something like "btn "Clear" [clear-all]" - but that's only given you a couple of parameters, which are set in a particular order. What does one do if one wants to set any other parameters?
It's a neat scripting language, in other words - but looking at the FAQ, if you want to do anything complex in it you'll be using REBOL/Command to write extensions to it to give you the functionality you need.
no subject
Date: 2011-09-18 10:17 am (UTC)Now with REBOL you can create 'dialects', which are simple domain-specific languages, and that's what VID is - a dialect for creating GUIs. (You could create your own from scratch if you wanted to instead of using VID.)
And 'btn "Clear" [clear-all]' is part of VID, not Core, so not actually REBOL code proper. That is, except for the 'clear-all' in the block, which VID processes as standard REBOL code. (A 'block' being the data enclosed within brackets. And everything in REBOL is within a block.) So consider 'clear-all' to be a function, but in that block there could be any number of lines of standard REBOL code.
As to the order after 'btn', it doesn't really matter (in VID). The following two lines behave the same...
btn "Clear" [clear-all]
btn [clear-all] "Clear"
and to add extra parameters, well, just add them...
btn "Clear" [clear-all] red
btn [clear-all] 255.0.0 "Clear"
That gives you a red button in both cases, 'red' already being defined as '255.0.0', which is a datatype called a tuple.
And datatypes are what makes the above orderless parameters work. (REBOL has lots of datatypes!) If it's a string then it's the button's text, if it's a block then that's REBOL code to be run when the button's clicked on, if it's a tuple then that's the button's colour, if it's a number then that's the button's width, etc. All of which just override default settings of course.
This is real good for knocking up a working GUI very quickly. My main complaint with it, (meaning View's graphic engine - not VID), is there's no changing of styles or fonts within a block of text. And I'm talking about displaying the text, not just editing it.
I've not found I've needed Command, but your needs differ no doubt.
no subject
Date: 2011-09-17 10:01 am (UTC)And then... a miracle! Deep in the bowels of sourceforge:
http://sourceforge.net/projects/delicious-java/files/delicious-java/1.14/
There's a download link that includes Dependencies! Woohoo!
no subject
Date: 2011-09-17 10:06 am (UTC)Bugger.
Ok - time to look into this in more detail.
no subject
Date: 2011-09-17 10:27 am (UTC)Why did you decide to write the thing in Java anyway?
no subject
Date: 2011-09-17 10:29 am (UTC)And it's not Java that's a problem here, largely, it's people providing libraries that are ancient, and don't come with their dependencies.
no subject
Date: 2011-09-17 05:56 pm (UTC)no subject
Date: 2011-09-17 06:05 pm (UTC)no subject
Date: 2011-09-17 09:50 pm (UTC)no subject
Date: 2011-09-17 11:50 am (UTC)no subject
Date: 2011-09-17 01:42 pm (UTC)At work we use Hudson/Jenkins for CI, and Sonar for code quality.
no subject
Date: 2011-09-17 01:57 pm (UTC)no subject
Date: 2011-09-17 02:23 pm (UTC)I am tempted to play with other UIs, now I have the basics working. I'm just a bit nervous of breaking what I have.
I've heard good things about IntelliJ.
no subject
Date: 2011-09-17 01:28 pm (UTC)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.
no subject
Date: 2011-09-17 03:43 pm (UTC)Dragging and copy-dragging also works fine.
That's on 3.6 - don't know which version you used.
no subject
Date: 2011-09-17 04:04 pm (UTC)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...
no subject
Date: 2011-09-17 05:35 pm (UTC)no subject
Date: 2011-09-17 06:07 pm (UTC)