Ok, first a little disclaimer.. I've been a netbeans user from nb4 to
5.5.1.
And I even prefer using Netbeans over IntelliJ even though I still have to
admit that its a very solid IDE. Some of its features are much better than
Netbeans' (and I'm talking NB 5.5.1 here. Thats not an unfair comparison,
its a
compliment. Please read on...). And finally; I dislike NB6 with a passion.
Because I am all but impressed with NB6 I decided to dive into another IDE
to
see what it could do for me. A lot of my online friends favor IDEA over
other
IDE's and since I read a lot of good stories and reviews about it I
decided to
go for it. Right now their current version is 7 and you can trial it
freely for
a period of 30 days.
And so I installed it (very easy) and started a new project to get some
feeling
for the IDE and its editor. But picture my surprise when I suddenly
realized
that IDEA in some aspects awfully looks and feels like NB6. What the heck
?!
For example... The default behaviour for macro's ("code templates") on
Netbeans
was that they used to expand when you pressed enter. One of the many
reasons I
adopted NB because I consider this a sane setup. I don't fancy pressing
"pub<tab>" only to discover that 'pub' wasn't a template so I can now tab
back
and start all over. NB6 has changed this default behaviour and assigned
this
feature to tab. Picture my surprise when I discovered that IDEA has a
similiar
feature ('dynamic templtates' iirc) and the assigned key is.... the tab
key.
Another thing; IDEA uses circles quite heavily. In the default project
view
you'll see your classes with a cyan circle in front containing an "C",
interfaces have a green circle (iirc) which contains an "I" and so on. Its
not
all circles here ofcourse, but you get the idea. Whats more interesting
however
is that when you override a method in IDEA you'll get a green circle with
a "o"
in front of it. Now where have I seen this before...
One of my gripes with NB6 is that its making things awfully harder on the
developer. Sure, it can now automaticly generate lots of code, but when it
comes to sheer programming functionality... Where I used to be able to
see the
difference between an implemented method (screwdriver in front) and a
overridden method (arrow in front) now both of them simply have a small
green
ball in front containing either an I or O. Maybe the state-of-the-art
monitors
of the Sun^D^D^DNetbeans developers don't suffer from this but not every
programmers monitor is that good to quickly make the difference.
Now picture my surprise to discover that NB is basicly mimicking IDEA's
behaviour. The original however, IDEA, /does/ realize the obvious; while
they
also use small balls the colours differ. Green means override, blue means
implemented. Next to the use of I or O ofcourse. Both of them even come
with a
small arrow to denote the difference even more clearly.
Another "hot" NB feature is highlighting. It will even quickly show you
variables which are used throughout the class, related items, and so on.
Odd,
when I fire up IDEA 7 its almost as if I'm looking at NB6's color scheme.
Is
this coincedence ?
I guess I could go on but that would turn this post into a rant. Summing
up its
striking me as odd to see that NB6 is "adopting" (mimicking in my opinion)
a
lot from IDEA. Keystrokes, colours, editor behaviour, etc.
Which makes me wonder if the Netbeans developers aren't basicly selling us
out
to IDEA. One of the reasons I adopted NB in the past was because it /was/
Netbeans and not IDEA or any other IDE for that matter. If this is the
current
development trend then I can't help wonder why I would be using NB6 when I
can
also use the original. Which, as a side note, has even much more saner
settings. Heck; IDEA has launched version 7 but even IDEA seems to realize
how
im****tant it is not to lose focus on the small things. You don't simply
dump
sup****t for javadoc generation / completion as NB6 has done. Even though
these
things are a small part of java programming that doesn't mean they're not
im****tant.
I still don't really fancy IDEA myself, right now I'm sticking to NB
5.5.1, but
when I compare IDEA 7 with NB6 I can't help conclude that IDEA really
lives up
to their promise: trying to make things /easier/ for the programmer while
also
keeping track of the things which matter to the programmer.
As for NB6. I have no idea. My guess is that they wanted to release a
****ney
new product right on time for the holiday season which makes no fscking
sense
to me considering this is an open source project. Ofcourse, then I
suddenly
looked at IDEA's release dates...
For an IDE which is even backed up by Sun on the official Java website I'm
pretty disappointed with the seemingly lack of confidence in their own
product.
Right up to the point where they deemed it necessary to make it look, feel
and
behave like IDEA.
<rant>
To me this strikes me as plain out stupid. IDEA is perfectly capable to
pick
out what their users like and embed that in their product. But just
because the
IDEA users like their product doesn't automaticly mean that everyone will.
There is (or perhaps was) a big difference between an IDEA and NetBeans
fan.
Just mindlessly trying to adopt features of the other party, right up to
the
point where you're /willingly/ leaving major IDE features out is simply a
display of weakness and a major lack of faith in your own product in my
not too
humble opinion. Truly a shame.
Especially if you realize the poor job they did. For a last example; even
IDEA
is capable to quickly display the difference between a main class and a
regular
class. Netbeans used to have this feature too, but with the introduction
of
6.... </rant>
All of this makes me wonder if there's enough unhappyness to fuel a
Netbeans
5.5.1 fork for a new Java IDE fully based on the Netbeans platform.
Something
to protect the original Netbeans setup which allows us to use the IDE we
grew
fond to use instead of that cheap IDEA wannabe thingie. But... thats a
different subject alltogether. Something I am currently seriously looking
into
with a small group of friends but alas.
With kind regards,
Peter


|