andrewducker: (BSG PVP)
[personal profile] andrewducker
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.

Date: 2011-09-18 03:58 am (UTC)
birguslatro: Birgus Latro III icon (Default)
From: [personal profile] birguslatro
These are problems REBOL was intended to solve, but hasn't quite got there yet. The most recent post from its (overworked it seems) creator...

http://www.rebol.com/article/0509.html

And an earlier, less precise rant...

http://www.rebol.com/article/0497.html

Date: 2011-09-18 08:50 am (UTC)
birguslatro: Birgus Latro III icon (Default)
From: [personal profile] birguslatro
"ignorant about software"? You've not heard of him?

Date: 2011-09-18 09:06 am (UTC)
birguslatro: Birgus Latro III icon (Default)
From: [personal profile] birguslatro
Oh, thousands of people have created languages from scratch, but not so many operating systems from scratch. He's done both, so hardly ignorant about software.

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.

Date: 2011-09-18 10:17 am (UTC)
birguslatro: Birgus Latro III icon (Default)
From: [personal profile] birguslatro
Firstly, there's basically two REBOLs, REBOL/Core, which is the guts of the language, and REBOL/View, which is Core plus graphics and a GUI (called VID).

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.

Date: 2011-09-17 10:27 am (UTC)
From: [identity profile] fub.livejournal.com
I feel your pain. "Enterprise" frameworks such as Java and .Net make it hard to Just Get Stuff Done. Yes, you can do a lot of different Stuff by tweaking things, but that unfortunately also means you have to tweak things -- even if you just want the most sensible default.
Why did you decide to write the thing in Java anyway?

Date: 2011-09-17 05:56 pm (UTC)
From: [identity profile] call-waiting.livejournal.com
I'm curious - what is it that's constraining your language choice to Java-or-something-unspecified-but-dynamically-typed?

Date: 2011-09-17 09:50 pm (UTC)
From: [identity profile] call-waiting.livejournal.com
Ah, fair enough then! Cool.

Date: 2011-09-17 11:50 am (UTC)
From: [identity profile] ciphergoth.livejournal.com
Do you use Maven? Maven is AFAICT much, much better than anything that comes with VS.

Date: 2011-09-17 01:57 pm (UTC)
From: [identity profile] ciphergoth.livejournal.com
You're right - I mention it because you mention "there are third party libraries that don't ship with all of their dependencies" - and because given the downsides you're experiencing with doign Java development after C#, I though I'd mention an upside :-)

Date: 2011-09-17 01:28 pm (UTC)
From: [identity profile] momentsmusicaux.livejournal.com
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.

Date: 2011-09-17 04:04 pm (UTC)
From: [identity profile] momentsmusicaux.livejournal.com
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...

Date: 2011-09-17 06:07 pm (UTC)
From: [identity profile] momentsmusicaux.livejournal.com
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.

August 2025

S M T W T F S
      1 2
3 4 5 6 7 8 9
10 11 12 1314 15 16
17 18 19 20 21 22 23
24 252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 25th, 2025 07:21 pm
Powered by Dreamwidth Studios