No Way Eclipse touches IDEA

(Sorry for long post, but could not make it shorter without clarifying
my points)

I tried hard to get Eclipse to work for me for the past 3 days, and
there is simply no way that the Eclipse Project == IDEA Modules, not
even close. Eclipse Workbench is nice, but adds more complexity, I
found it annoying especially since I could not stay in Eclipse long
enough (see later).

There is a HUGE limitation in Eclipse in that if you use Sun's
recommended project structure
(http://java.sun.com/blueprints/code/projectconventions.html), which I
do, your multiple web apps reside and are organized in one apps
directory, each web app has its own directory with its own files. If
you try to setup an Eclipse Project for each app, Eclipse will do OK
right until you try to add shared files, which are at the root of the
repository directory, one level above the apps directory. It complains
about a Path conflict and simply won't let you add it.

I tried to use linked directories, it complains as well (yes I read the
docs :) ). It seems to treat linked files as ones in same root if
those linked files happen to share the same directory as the shared
directory. To me that's huge! It seems Eclipse assumes that people
store a project in its own path, when that's not always true. There is
always a case when one path contains shared info and multi projects.

Another problem for me is the fact that MyEclipse, or anything else for
that matter, will not deploy web apps the way IDEA does, and is simply
not going to allow me to work in Eclipse for a web-based project. IDEA
just has that piece right primarily because of the involvement of the
community. You can deploy an exploded web application in IDEA no matter
how your project is setup (with a few exceptions and limitations), get
an auto deployed exploded dir, run it, deploy a jsp file to it, compile
code and hotswap, and have an auto generated war file as well. Please
don't tell me about ant, and how this could all be done with ant in
Eclipse, I don't want to write ant tasks unless I have to. I can write
my own application and plugin as well in Eclipse to do this, I don't
want to, my time is wroth more than the $499.00 (or $299.00 idea costs).
I am talking about ease of use and convenience. Also Yes I know
blablabla about JSP 2.0 JSPX and all that, it's coming, I don't see it
in eclipse without paying for something either, so put that bitching
aside for a moment and be objective about it.

I've heard rumblings that Eclipse has better Subversion support. Prove
it. I installed everything required, you can't browse a repository in
IDEA, neither can you in Eclipse. Feature set is one for one in that
area, it sucks in Eclipse and it sucks in IDEA... so far.

Finally another problem is that so far I can't be in Eclipse for more
than 5 minutes without a JVM Crash. I guess it's not stable on OS X. I
am impressed with what Eclipse COULD do, but I can't use it, so I don't
see how it can be anywhere near what IDEA offers, or even better than
IDEA. I tried 3.1M4, 3.0 and 3.0.1... Lockup, crash and crash. All I
was doing is opening a class file or double clicking on a method from
the java perspective. Simple stuff.

While I see how Eclipse has more granularity to it, I am not entirely
convinced they're necessary features. JetBrains is definitely adding
some things Eclipse has, and I can see things in Eclipse which were
borrowed from JetBrains. Perhaps what JetBrains should do is use
Eclipse as the base, and then build their own Eclipse plugins, even
create an IDEA Perspective familiar to those using IDEA. That would get
them a lot more engineering horsepower, since it's open source, and let
them concentrate on the features which make IDEA special. To me, that
would be the Web Apps features of it, and the other intelligent things
IDEA does like intentions, code analysis, and refactoring (those that
are not in Eclipse yet).

Not saying IDEA is perfect by any means, just that all this stuff about
the Eclipse threat is unfounded so far. Just because Eclipse is adding
all the features, doesn't mean they're usable for the masses. Are more
developers using it? I'm sure, we're developers, we're cheap, we don't
like paying for stuff much. If IDEA was totally free, and it shouldn't
be, I bet it would eclipse Eclipse.

My only beef is that I can feel the weight of IDEA's code more and more
these days, since 4.0 at least, and my biggest wish is for what ever
code is pulling this weight on IDEA to be figured out in short order,
because it won't make IDEA as enjoyable for use in the long run. I
don't know how to explain 'Feeling' the code, but I can say that
generally if I can feel code, it means there is something real bad going
on underneath what ever app's code I am feeling.

R

39 comments
Comment actions Permalink

So how do you really feel, Robert? :)

I dont even bother with Eclipse. I'm just too productive in IDEA. I'd only
look at Eclipse when IDEA starts to "get in my way". EAP bugs aside, IDEA
works pretty damned good. There are so many things that it does well, that
I just cant be bothered experimenting with a new IDE.

This reminds me of the various MVC technologies debates that are common on
theserverside.com. Struts is the obvious leader but others prefer Webwork
or Barracuda, or Spring, etc.

They all do pretty much the same thing. So you've spent 3 years mastering
Struts and now you need to learn Webwork because your boss heard about some
new feature in that product. Productivity goes down. He leaves for another
job and his replacement wants you to learn Velocity instead of using JSPs.
Productivity goes down. He leaves too and the new guy wants to rewrite the
app in JSF. (grrrr...)

Personally, I'd rather master IDEA than play with other IDEs. After 5 years
or so, I can safely say there's a lot in IDEA that I dont use. I need to
get to that next level. What I find amazing is that the 40% of the product
that I do use is pretty well implemented. It sounds corny, but IDEA really
is a pleasure to use.

I think you're right about one thing...IDEA gets better when we provide
feedback. I seriously cannot think of another company that is as responsive
as JB. I was reading another thread here and one guy had his bug fixed in
two days. Go to newsgroups.bea.com and post some questions on Weblogic
Workshop. Complain about something there. Watch how long it takes to get a
response, if any. This community is JBs hidden weapon.



"Robert S. Sfeir" <no_mail@jetbrains.com> wrote in message
news:no_mail-2C9527.13133922012005@mail.intellij.net...

(Sorry for long post, but could not make it shorter without clarifying
my points)

>

I tried hard to get Eclipse to work for me for the past 3 days, and
there is simply no way that the Eclipse Project == IDEA Modules, not
even close. Eclipse Workbench is nice, but adds more complexity, I
found it annoying especially since I could not stay in Eclipse long
enough (see later).

>

There is a HUGE limitation in Eclipse in that if you use Sun's
recommended project structure
(http://java.sun.com/blueprints/code/projectconventions.html), which I
do, your multiple web apps reside and are organized in one apps
directory, each web app has its own directory with its own files. If
you try to setup an Eclipse Project for each app, Eclipse will do OK
right until you try to add shared files, which are at the root of the
repository directory, one level above the apps directory. It complains
about a Path conflict and simply won't let you add it.

>

I tried to use linked directories, it complains as well (yes I read the
docs :) ). It seems to treat linked files as ones in same root if
those linked files happen to share the same directory as the shared
directory. To me that's huge! It seems Eclipse assumes that people
store a project in its own path, when that's not always true. There is
always a case when one path contains shared info and multi projects.

>

Another problem for me is the fact that MyEclipse, or anything else for
that matter, will not deploy web apps the way IDEA does, and is simply
not going to allow me to work in Eclipse for a web-based project. IDEA
just has that piece right primarily because of the involvement of the
community. You can deploy an exploded web application in IDEA no matter
how your project is setup (with a few exceptions and limitations), get
an auto deployed exploded dir, run it, deploy a jsp file to it, compile
code and hotswap, and have an auto generated war file as well. Please
don't tell me about ant, and how this could all be done with ant in
Eclipse, I don't want to write ant tasks unless I have to. I can write
my own application and plugin as well in Eclipse to do this, I don't
want to, my time is wroth more than the $499.00 (or $299.00 idea costs).
I am talking about ease of use and convenience. Also Yes I know
blablabla about JSP 2.0 JSPX and all that, it's coming, I don't see it
in eclipse without paying for something either, so put that bitching
aside for a moment and be objective about it.

>

I've heard rumblings that Eclipse has better Subversion support. Prove
it. I installed everything required, you can't browse a repository in
IDEA, neither can you in Eclipse. Feature set is one for one in that
area, it sucks in Eclipse and it sucks in IDEA... so far.

>

Finally another problem is that so far I can't be in Eclipse for more
than 5 minutes without a JVM Crash. I guess it's not stable on OS X. I
am impressed with what Eclipse COULD do, but I can't use it, so I don't
see how it can be anywhere near what IDEA offers, or even better than
IDEA. I tried 3.1M4, 3.0 and 3.0.1... Lockup, crash and crash. All I
was doing is opening a class file or double clicking on a method from
the java perspective. Simple stuff.

>

While I see how Eclipse has more granularity to it, I am not entirely
convinced they're necessary features. JetBrains is definitely adding
some things Eclipse has, and I can see things in Eclipse which were
borrowed from JetBrains. Perhaps what JetBrains should do is use
Eclipse as the base, and then build their own Eclipse plugins, even
create an IDEA Perspective familiar to those using IDEA. That would get
them a lot more engineering horsepower, since it's open source, and let
them concentrate on the features which make IDEA special. To me, that
would be the Web Apps features of it, and the other intelligent things
IDEA does like intentions, code analysis, and refactoring (those that
are not in Eclipse yet).

>

Not saying IDEA is perfect by any means, just that all this stuff about
the Eclipse threat is unfounded so far. Just because Eclipse is adding
all the features, doesn't mean they're usable for the masses. Are more
developers using it? I'm sure, we're developers, we're cheap, we don't
like paying for stuff much. If IDEA was totally free, and it shouldn't
be, I bet it would eclipse Eclipse.

>

My only beef is that I can feel the weight of IDEA's code more and more
these days, since 4.0 at least, and my biggest wish is for what ever
code is pulling this weight on IDEA to be figured out in short order,
because it won't make IDEA as enjoyable for use in the long run. I
don't know how to explain 'Feeling' the code, but I can say that
generally if I can feel code, it means there is something real bad going
on underneath what ever app's code I am feeling.

>

R



0
Comment actions Permalink

thanks for the info, Robert, saves me the time to try 3.1M4 ;)

shortly ago I was required to write generators for both
IDEA and eclipse 3 project files.
It was very easy to generat the xml based project files for IDEA (.ipr, .iws. and .iml)

A little harder for eclipse. For an eclipse project file
to work "out of the box" you need to know which workspace
unless you create a complete workspace - and even then you have to import that somehow.
Part of eclipse config files are in binary format!!
No, thanks!!

M.

0
Comment actions Permalink

Nice post, and I completely agree with you. But..

Eclipse has the possibility to add new perspectives/editors/views. And there are lots of editors people can use. I use eclipse for php editing, c++, etc. I like the fact that I can have one application for all those things. And I guess that is also a reason for many people to start using eclipse.

Besides that, I dislike that fact that each editor has its own preferences.. I dislike the shortcuts that are in eclipse (using middle-mouse button to go to the implementation of a method doesn't work :S ;)). I also think eclipse is slow and sluggish..

But it has potential, more and more people are using it! Because it is "free" (if not using any commercial plugins), it has many editors and a strong user-base/development team.

I know people in here tend to say idea is better, and for now i completely agree. But lets face the facts, eclipse is doing a great job, and if things go on as they are going today, idea won't win!

I don't mind paying some money for idea, but I also don't like paying for something that can be replaced with a product that has more features/possibilities (perhaps not (yet) on the java side of things, but things like the cdt and php editors).

0
Comment actions Permalink

I use Eclipse 3.1M4 to develop and debug IDEA plugins. Works quite good.

Tom

0
Comment actions Permalink

This sounds extremely weird to me... ;)

Thomas Singer (MoTJ) wrote:

I use Eclipse 3.1M4 to develop and debug IDEA plugins. Works quite good.

Tom


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

How do you debug IDEA plugins? I did not want to set up another IDEA copy.

Tom

0
Comment actions Permalink

I use the DevKit plugin. It's extremely comfortable!

Thomas Singer (MoTJ) wrote:

How do you debug IDEA plugins? I did not want to set up another IDEA copy.

Tom


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

Anyone who says Eclipse isn't a threat to IDEA is crazy, no offense. I used Eclipse for a long time, now I use IDEA. I like IDEA much, much more, but Eclipse has a huge weight of development behind it, and it will mature much more rapidly than IDEA. There's just no way that a company of 15 or 20 developers (or 100, or however many) can compete with the literally hundreds of people developing things for Eclipse. And when the hundreds of people are developing something that works well and is free, well, I won't be investing in IDEA anytime soon. Sure, some of them make crap, but a lot of them don't.

I've never encountered the problems that Robert did with stability (although I don't use OSX), and I've never had a project structure that Eclipse couldn't handle. Maybe Subversion support sucks about the same between the two, but I'm forced to use Sourcesafe at work, under Eclipse it was fantastic, under IDEA it just sucks. IDEA also has some extremely curious restrictions, like the lack of dockable windows, and general lack of flexibility in window arranging.

And the webapps thing, I used MyEclipse (yes, I had to pay for it, but $30 is chump change, and it's 10% of the cost of IDEA). It worked really well, and I still haven't got web deployment under IDEA to work as well. I haven't had a lot of time to play with it, so for now I'm using ant, but as a new user it was much easier to set up with MyEclipse.

I don't want to sound totally negative about the future of IDEA, I love it after only a month, and I really hope that the company continues to succeed. But there's a slightly evangelical air to a lot of the posts here that lacks realism - Eclipse is an amazing product, it's free, and it's improving faster than IDEA.

0
Comment actions Permalink

I use the DevKit plugin. It's extremely comfortable!


Hmm, and where can I find information about how to use it?

Tom

0
Comment actions Permalink

Tom,

>> I use the DevKit plugin. It's extremely comfortable!
>

Hmm, and where can I find information about how to use it?

>

Roughly:

1/ create an Intellij SDK
- goto Ide Settings.JDK and Global libraries
- click on
- on MacOS X, point to the IntelliJ.app file
- on Windows X, point to ..??
- create a sandbox directory somewhere
=> you are ready to create plugins modules

(At this stage, you can download a ready-to-run plugin project:

http://www.intellij.org/twiki/pub/Main/LineUpAndDownMoverPlugin/LineMoverPlugin-3177.zip
0/ unzip
1/ fix the module JDK path, to match your newly create IntelliJ SDK,
2/ run the "launch 2nd instance" config
)


2/ create a new plugin module
- it will create a empty plugin.xml file

3/ create a new plugin run config
(a new tab is available)
=> start it, and it will launch a 2nd instance of IDEA
note: if you run the config in debug mode, you can debug your plugin live !!


0
Comment actions Permalink

- on Windows X, point to ..??

... IDEA install directory.

note: if you run the config in debug mode, you can debug your plugin
live !!

And together with hotswap you're life is becoming very easy...

--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

Martin

>> note: if you run the config in debug mode, you can debug your plugin
>> live !!
>

And together with hotswap you're life is becoming very easy...

>


Does Hotswap work with plugin and DevKit, meaning you could change the
plugin code in the 2nd instance, without relaunching it?


Alain

0
Comment actions Permalink

Does Hotswap work with plugin and DevKit, meaning you could change the
plugin code in the 2nd instance, without relaunching it?

True

0
Comment actions Permalink

Maxim

>> Does Hotswap work with plugin and DevKit, meaning you could change the
>> plugin code in the 2nd instance, without relaunching it?
>

True

>

How far does it bring us from hot-(un)installing plugins, without having
to restart IDEA?

Alain

0
Comment actions Permalink

Maxim Shafirov wrote:
>> Does Hotswap work with plugin and DevKit, meaning you could change the
>> plugin code in the 2nd instance, without relaunching it?


True


Actually, I find this to be useful only for very limited source code changes.
It's not possible to add/override methods, add fields and sometimes the JVM
even refuses to hotswap simple changes inside one method. IMHO HotSwap has too
many limitations to be really useful during development.

Sascha

0
Comment actions Permalink

even refuses to hotswap simple changes inside one method. IMHO HotSwap has too
many limitations to be really useful during development.


Not at all. Despite of the limitations it may be really usefull when debugging UI code, for example.

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0
Comment actions Permalink

Yes, that works, but I must say, using Eclipse and remote debugging the
existing IDEA instance is a little bit smoother.

Tom

0
Comment actions Permalink

I'm using it over and over again, and I simply can't count the amount of
time I saved with it. It's true, there are some limitations, but at
least four out of five changes I can apply by hotswapping. My plugin
development roundtrip time has decreased dramatically by using hotswap.

Sascha Weinreuter wrote:

Maxim Shafirov wrote:

>>> Does Hotswap work with plugin and DevKit, meaning you could change the
>>> plugin code in the 2nd instance, without relaunching it?
>>
>>
>> True


Actually, I find this to be useful only for very limited source code
changes.
It's not possible to add/override methods, add fields and sometimes the JVM
even refuses to hotswap simple changes inside one method. IMHO HotSwap
has too
many limitations to be really useful during development.

Sascha


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

This is a completely different issue I assume. With hotswap you can
change the implementation of a method, that's all. So the next time this
method is called, it's behaviour may be different. But you can't change
anything which isn't executed again, e.g. changing the constructor of an
ApplicationComponent won't change anything, because it won't get
re-instantiated.

Alain Ravet wrote:

Maxim

>>> Does Hotswap work with plugin and DevKit, meaning you could change the
>>> plugin code in the 2nd instance, without relaunching it?
>>
>>
>> True
>>


How far does it bring us from hot-(un)installing plugins, without having
to restart IDEA?

Alain


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

Eugene,
If I modify only the *.form file of a gui form (using the gui designer)
and then compile and hotswap, both instances of IDEA get frozen and I
have to kill them using the task manager. But if I also modify the
corresponding *.java file, everything works fine.
-> should I file a bug about that?

Eugene Zhuravlev (JetBrains) wrote:
>>even refuses to hotswap simple changes inside one method. IMHO HotSwap has too
>>many limitations to be really useful during development.


Not at all. Despite of the limitations it may be really usefull when debugging UI code, for example.


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

Yes, that works, but I must say, using Eclipse and remote debugging
the existing IDEA instance is a little bit smoother.

Tom

Details?

0
Comment actions Permalink

-> should I file a bug about that?


Yes. Also please include several thread dumps of IDEA that hung.

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0
Comment actions Permalink

Can you give me some hint about how to create a thread dump while IDEA
is frozen?

Eugene Zhuravlev (JetBrains) wrote:
>>-> should I file a bug about that?


Yes. Also please include several thread dumps of IDEA that hung.


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

Press Ctrl-Pause on the console window.

Tom

0
Comment actions Permalink

There's no console window anymore with the new installer...

Thomas Singer (MoTJ) wrote:

Press Ctrl-Pause on the console window.

Tom


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0
Comment actions Permalink

For example, I don't need to set up a new sandbox, I can work on the
original one.

Tom

0
Comment actions Permalink

Eugene Zhuravlev (JetBrains) wrote:
>>even refuses to hotswap simple changes inside one method. IMHO HotSwap has too
>>many limitations to be really useful during development.


Not at all. Despite of the limitations it may be really usefull when debugging UI code, for example.


Sure. What I meant is that it mostly won't work for developing new stuff from scratch.
It does usually really work well for debugging purposes that only require minor changes.

Sascha

0
Comment actions Permalink

I use Eclipse for C++ development because there is little else out there for C++ development on Linux that is any good for the price tag of IDEA.

Nothing, however, could get me to use Eclipse for Java.
Eclipse's intentions and autocompletions are rudimentary compared to IDEAs; IDEAs UI is just so much faster to use (you don't have to break your coding flow to use it's features); IDEAs refactorings are more comprehensive and of a higher quality than anything in Eclipse and Eclipse is just so damn slow to respond.

Eclipse may have a large force of avid supporters who actively develop for it. However this is potentially as big a weakness as a strength. Code quality seems to be a bit lower with Eclipse, and I would rather be working on my project than fixing my IDE so I can work on my project.

I am constantly amazed by the speed with which IDEA is able to calculate really useful completions, refactorings and code generations intelligently with respect to their context.

In my opinion the Eclipse project, and every other Java IDE vendor whose products I have used have a very long way to go before they catch up with JetBrains.

With the exception of my remark on its poor responsiveness, I am not saying Eclipse is poor - only that IDEA is a lot better.

0
Comment actions Permalink

We'll try to solve this for EAP builds asap.
Can you use idea.bat to launch with console meanwhile?

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"


0
Comment actions Permalink

But setting up a new sandbox is a one-time operation.

--
Best regards,
Eugene Zhuravlev
Software Developer
JetBrains Inc.
http://www.jetbrains.com
"Develop with pleasure!"

"Thomas Singer (MoTJ)" <I@HateSpam.de> wrote in message news:ct2rp6$vgb$1@is.intellij.net...

For example, I don't need to set up a new sandbox, I can work on the original one.

>

Tom



0

Please sign in to leave a comment.