POV-Ray : Newsgroups : povray.off-topic : A tale of two cities : Re: A tale of two cities Server Time
29 Jul 2024 06:24:02 EDT (-0400)
  Re: A tale of two cities  
From: Invisible
Date: 13 Mar 2012 11:15:57
Message: <4f5f64ad$1@news.povray.org>
On 13/03/2012 10:11 AM, Invisible wrote:
> So, 80MB for NetBeans, another 80MB for the JDK itself, and finally I'm
> in business. Now, I'm not saying NetBeans is /inefficient/, but
> swallowing 200MB of RAM just because I double-clicked the icon to open
> the IDE does seem /just a tad excessive/ to me. Initially I was just
> trying to figure out how to work the thing, but as I started to learn my
> way around and started trying to actually /do/ stuff, the IDE seemed
> unacceptably unresponsive. (Quite apart from visually /looking/ like
> something baked by an open source committee rather than being a polished
> commercial product.)

I eventually gave up with NetBeans. It's just too cripplingly slow. (I 
did not have this problem with VS.) If I type something and have to wait 
/4 seconds/ for anything to appear on the screen, that's too slow, IMHO.

Seriously. Once I got to a handful of files, amounting to a grand total 
of 6KB of Java source, performance became unacceptably poor. I also love 
the way that running the program randomly fails from time to time. You 
click "run", and it says "build successful", followed by "cannot find 
compiled code". But if you click the button enough times, eventually it 
runs perfectly. So... WTF is wrong with it?!

In all, I was spending /far/ too much time fighting the IDE and not 
enough time actually coding stuff. So I switched back to a text editor 
and a command prompt. (Amusing how installing the JDK doesn't add any of 
the Java binaries to the search path. If by "amusing" you mean "tedious 
and annoying"...)

Some of you may remember that logic simulator I built in Haskell a while 
back. If I recall, I challenged Warp to implement it in C++, and he 
couldn't even figure out how the heck it works. (I must admit, it's a 
loopy piece of coding.) Perhaps a Java implementation will be less 
mind-bending for any curious souls - or perhaps not, IDK. Either way, 
it'll be a while before *I* can implement it in C++. (!)

Also, I think I might have to build a parser for Java. Because, damnit, 
writing stuff like

   new Or(new And(new Equals(new NameVar("x"), new IntegerConst(1)), new 
Equals(new NameVar("y"), new IntegerConst(2))), ...

becomes tedious /rapidly/!

I keep hearing that Java has added generics since I last worked with it. 
I find it amusing that we can now write HashMap<Foo, Bar>, and yet we 
have type signatures like

   public Object get(Object key);

Really? I mean, really? Should that not be

   public V get(K key);

or similar? Is that not the entire /point/ of generics?

Then we have fun such as Object.clone(), which is [still] defined to 
return Object. So you get to write stuff like

   java.util.HashMap<Variable, Expression> copy = 
(java.util.MashMap<Variable, Expression>) old.clone();

And of course, no way to define type aliases (and no automatic type 
inference either), so if I decide to change the HashMap for, I don't 
know, a TreeMap perhaps, I'm going to have to change type signatures in 
a dozen places. Gee, thanks for that. :-P

Even more fun, apparently writing the above code is an "unsafe, 
unchecked construct" - or so the compiler warns me with /every single 
damned compile/. Despite the fact that the above is statically 
guaranteed to always work. *sigh*

Yes, Java /still/ sucks. :-P


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.