Reverting in Frustration from 4.0.3 to 3.0.5
I'm just starting a new project with a non-trivial source tree, and decided to use 4.0 with the module capabilities. It took over a half hour to set up the project with 6 modules.
I wanted to store the module-files outside the content-root because they are IDE specific and not part of the project source. Everytime I changed the content-root, the default module-file location changed and I had to manually change it back by navigating through directory trees. Then when I went to define the content-root for the next module, I had to navigate away from the module-file location to the new content-root. I had to do this back and forth through the directory tree navigator for each module.
Next I tried the ClearCase integration which caused me to lose files. No blame here. I decided to use a ClearCase snapshot view instead of a dynamic view, but to do this I had to change the location of all the content roots. I decided to edit the XML files. I performed a search and replace on the path names. When I loaded the project again I was informed that the project file was corrupt. Fair enough, that wasn't a documented procedure and I could have screwed up.
No way was I going to go through the previous process of setting up the project again. I decided to configure a new project with a single module. That was easy, however I found some differences from 3.0 that represented a loss in functionality:
- In the 4.0 Packages view, performing a Find in Path searches through all files in the module. I would expect that when in the Packages view, we should only be searching the package directories (i.e. java files). This differs from 3.0 where I can just search through java files by performing a Find in Path on the Project/Source view. In 4.0 I now have to navigate through the Project view to find the source directories, and then do a Find in Path.
- In 3.0 I could easily work with my web files (e.g. jsps, etc.) via the Web view. I could easily jump back and forth between my java source and web files by jumping between views (Web and Project/Source). In 4.0 I have to navigate through the Project view to get to my web files.
At this point I find no advantage to using 4.0 and numerous disadvantages. Given how much I love this product, I find myself disappointed with the new version. I suggest the following features:
- When configuring a multi-module project, facilitate the ability to easily store all module files outside the module root.
- When using Find in Path within the Package view, only search for files that are in the directories within that view. This seems to be common sense.
Please sign in to leave a comment.
I agree. Idea 4 is a step backward from 3. In addition to your points I would also add;
1. Idea 4 is much slower than 3. 3 was bearable with large projects but 4 is not usable on a p4 with half a gig. 1 gig + p4 is now the minimum to get by but 4 is still too slow.
2. Idea 4 cannot handle medium to large enterprise projects like the big boys out there for IDE's - eclipse, Netbeans etc. I truly believe the Intellij developers think 'large' enterprise app is < 1000 classes - which is ridiculous. Our application has > 4000 classes.
3. Sharing projects amongst developers is confusing at best. I can't count how many times I have rebuilt my project from scratch because something wasn't set right in the project module(s) - Idea 4 oversimplifies projects complexities so you end up screwing up the config.
4. 4 seems to have more bugs. I get the Idea should be restarted message at least once a day - especially on start-up. I have to close the doors, exit the app, get back in try again. Most common problem is Idea not recognizing a new class is compiled compared to a library jar - you can compile but source is marked in red or the other way around - restart and all is OK.
too bad so sad though as I fell in love with Idea 3. The rest of my team is still on 3 but since I refuse to go back a version I have switched to eclipse. Anyone want to buy 11 licenses? cheap cheap.
I use idea since the first available version and i also thought that version
4 is a step back.
the most frustrating for me is the debugger, it's so incredible
slooooooooooooooooooow
that i can't use it, instead i switch for debugging to jbuilder.
JetBrain guys come back to the roots, give us the best you have and make our
so beloved IDE faster and bugfree, please please please
I agree entirely. As sweet as some of the new features are (CVS and JUnit
integration stand out as excellent enhancements, as does the incredibly
useful "pop frame" in the debugger) I have recently switched back to version
3.0.5 :( And having used 4 since it came out it was a breath of fresh air
returning to 3 - I suddenly remembered why I liked IDEA so much - quick,
responsive, simple project setup, easy to navigate structures/options/menus,
very few hangs/pauses, fast debugger, slick JSP and XML editing, excellent
handling of JavaDoc/sources, quick "Find in Path" (4 is so very slow on this
one and I use it all the time!).
I have been worried for some time that IDEA is trying too hard to beat
Eclipse (loads of threads on this one elsewhere!) - whereas my passion for
IDEA comes purely from its excellence as a fast, efficient Java code cutter.
I can see why they have done this but IDEA really needs to take a step back
and realise just why it is so beloved and that it should be quite different
in approach to the big bloated IDEs.
Cheers,
TicH
Slow is big problem!
Richard, those are exactly the reasons I fell in love with IDEA too, however I think it's possibly a little unfair to say that 4.0 is a massive step backward, more two steps forward and one step back. I am now using 4.0.3 and whilst I agree that I preferred 3.0.5 for stability and speed I still find 4.0.3 pretty usable. With that said JetBrains do need to take a step back and look hard at the speed of IDEA along with the new features planned for 5.0.
What seems ridiculous to me is how you guys end up with a SINGLE project with over 4000 classes. Looks like a serious architectural problem here. It is unmanageable with or without IDEA, period.
As for speed it's not a problem for me at all, I can't think that fast anyway 8-). Downsize you project, split into two or three and speed will become much less of an issue as well as need of sharing project files.
Nothing in this life comes free, especially IDE's intelligent behavior 8-)
Ditto. I can't imagine having to juggle that many classes. Sounds like
it really needs to be broken into libraries. Surely, you are not
responsible for the maintenance of all those classes!
Norris Shelton
Sun Certified Java Programmer
Andrei Tokar wrote:
>>2. Idea 4 cannot handle medium to large enterprise
>>projects like the big boys out there for IDE's -
>>eclipse, Netbeans etc. I truly believe the Intellij
>>developers think 'large' enterprise app is < 1000
>>classes - which is ridiculous. Our application has >
>>4000 classes.
>>
>>
>What seems ridiculous to me is how you guys end up with a SINGLE project with over 4000 classes. Looks like a serious architectural problem here. It is unmanageable with or without IDEA, period.
>As for speed it's not a problem for me at all, I can't think that fast anyway 8-). Downsize you project, split into two or three and speed will become much less of an issue as well as need of sharing project files.
>Nothing in this life comes free, especially IDE's intelligent behavior 8-)
>
>
Sorry, but this is complete garbage. Why for gods sake, a project is
bad, because it contains a large number of classes? Do you know of how
much modules it consists? Have you ever thought about how much classes
IDEA has, for example?
Tom
Anyone can count - over 12000, so what? Do you know how they build it? I don't.
And huge project is bad, even multi-modular one, because you have a LOT of inter-module dependencies. And if it's not the case, it should be relatively easy to split it into multiple projects with couple interfaces in-between.
Well, if I understand you correctly, you are saying any decent complex
application is inherently bad. Are you sure?
Tom
What I am saying is that - complexity is bad, simplicity is better. Complexity will bite you at some point - that what they call unmanageable code. And if the same goal is achievable with simpler approach - I'll go for it. Ok, it gets pretty philosophical, let's stop here...
+What seems ridiculous to me is how you guys end up with a SINGLE project with over 4000 classes. +
Yes, I was thinking about that too. Perhaps they are really looking at a number of frameworks/APIs that could be built as separate projects. 4000 classes looks like a management nightmare in or out of any IDE .....
Hello Mike,
M> 2. Idea 4 cannot handle medium to large enterprise projects like the
M> big boys out there for IDE's - eclipse, Netbeans etc. I truly believe
M> the Intellij developers think 'large' enterprise app is < 1000
M> classes - which is ridiculous. Our application has > 4000 classes.
Well, I can't say for everybody, but I personally don't have any issues with using IDEA on Fabrique project with roughly 7000+ java files. Everything is fast and responsive here. I would not say that I have a bleeding edge hardware either (Xeon 2Ghz, 1Gb RAM).
--
Dmitry Skavish
-- Posted by JetBrains OmniaMea
Enterprise applications can easily have 4000+ classes. We have around 1000 hand written clasess + code generate our db access beans which works out to around 3000+ classes. Sure we could use reflection (we do a little) and also create SQL on the fly but instead we choose to code generate the access logic. This isn't a thread on J2EE architecture so we don't need to get into to it further. But your fooling yourself if you think enterprise applications - espicially ones built around legacy systems - don't get large. I bet Idea 4.0 has > 4000+ hand written classes. What would eclipse be at? Or JBoss.
Dmitry Skavish (JetBrains) wrote:
Xeon 2GHz? Hmph. That's not bad...
I muddle along with a Pentium III 850MHz, 1GB RAM, and my project of
just under 2000 Java source files is perfectly usable. Typing in the
editor is a bit lagged sometimes though and there's this one 5000 line
XML file (custom DTD) that takes a few minutes for syntactic checking to
finish.
Ciao,
Gordon
--
Gordon Tyler (Software Developer)
Quest Software <http://java.quest.com/>
260 King Street East, Toronto, Ontario M5A 4L5, Canada
Voice: 416-643-4846 | Fax: 416-594-1919
If you code generate your db access beans, then you certainly can't modify
them in IDEA.
So, why not compile them immediately after generation and put them in a jar
to be used as a project library?
Then you would be down to a reasonable 1000 classes.
If each component of your Enterprise Application is separated out into it's
own project you can use the classes/jars from one project as a library for
another. I bet that's what JBoss does.
Tim
"Mike" <mjc_sfg@hotmail.com> wrote in message
news:18924805.1085592250690.JavaMail.itn@is.intellij.net...
hand written clasess + code generate our db access beans which works out to
around 3000+ classes. Sure we could use reflection (we do a little) and also
create SQL on the fly but instead we choose to code generate the access
logic. This isn't a thread on J2EE architecture so we don't need to get
into to it further. But your fooling yourself if you think enterprise
applications - espicially ones built around legacy systems - don't get
large. I bet Idea 4.0 has > 4000+ hand written classes. What would eclipse
be at? Or JBoss.
>
In article <8936933.1085581211441.JavaMail.itn@is.intellij.net>,
Andrei Tokar <andrei.tokar@bofasecurities.com> wrote:
Bat puckey. A user should not have to change their development process
because of a tool, especially poor design in that tool. It may be a
user config issue, a minor IDEA misdesign, or a major flaw in IDEA that
caused the OPs problem, but if the problem is in IDEA, without a
workaround save changing a project the OP probably does not have the
rights to change, then JB should fix it.
It is not up to JB how many classes and modules an end user project
should contain. If IDEA is only usable on a project with 5000 classes,
and no more than twenty modules, they should make those limits explicit,
so those of us with different needs would then not waste our time. I
have not heard them say that, so I suspect they feel it can be used for
projects of arbitrary size.
I rejected IDEA 2 because it could not handle the 6000-7000 line java
files in the PCGen project. I wanted to use IDEA to split those massive
classes into the several dozen classes they should have been, but I
could not just refactor - I had to refactor as adding functionality
demanded. For instance, if 1000 lines were in persistence, then adding
a new persistence feature could justify taking those lines out and
making a good package out of them. IDEA was so bloody slow on these
large files that I could not have done anything until I refactored, and
thus I just used Eclipse.
Were 7000 line classes a potential problem? Yes. Should I have had to
torque the project to fix it before doing anything else? No.
I have a client that has a massive bioinfo database, with a
corresponding persist library that everything talks to. We use Eclipse,
JBuilder, CodeWarrior, and IDEA to work with it. In Eclipse, many
developers have every single project (about a hundred thus far) open, so
that persistence level changes for their own app can be checked against
the other apps as well. Commonly, some features in the persist layer
exist only for one or two apps - if those apps are changed to not
require it, then the features are removed at the library level. Hard to
do if you do not have a picture of the whole system.
Perhaps we could cut down intermodule dependencies, but that is not
cheap, and thus it has to be done by design, not just because one of our
tools suddenly crapped out.
Scott
Andrei Tokar wrote:
> What I am saying is that - complexity is bad, simplicity is better.
You can build a simple, fully functionning, 2-part can opener.
http://inghro.state.id.us/museum/images/P38CanOpener.jpg
Space shuttles are more complex. A LOT. Even simple ones.
Alain
Well, we have a project with more than 4000 classes plus other directories for properties, idl, and other resources.
We do have a single source root, from where a complex package hierarchy starts. And we do not use multiple module projects.
My personal experience is that IDEA can handle projects of this size very well. Opening the project (which is under version control via CVS) takes around 2 Minutes. A complete rebuild is done in around 155 seconds. At least, I do not have problems with these numbers.
The machine is a 3 Ghz P4 with 1 Ghz RAM.
Most disappointing to me is the GUI-Designer, which does not meet my expections (I hoped for TableLayout support, better support for custom components, better way to bind controls to class members).
Best regards
Thomas Gülden
Munich, Germany
I also want 1 Ghz RAM! ;)
Tom
Oh, maybe that's the reason everything is so fast. Unfortunately I do not remember where I bought it.
Regards
Thomas
Our project has > 6000 classes and almost 2000 jsp's
I can't see any performance problems on my 2ggz athlon with 512mb RAM
A lot mot puckey here - if the user can't work with the tool he can go
and choose another tool that fits him best.
Resources are finite, salaries have to be paid, some facilities in the
tool will stay unimplemented.
Of course, the toolmakers have better be aware that having users choose
other tools is a great way to become hungry real fast :)
Our project has 2500 java source files, about 3500 properties files and almost 9500 JHTML files (similar to JSP). Startup time takes a minute or so, but otherwise performance is fine.
Of course we have some pretty beefy machines. Dual processor 2.6 GHz P4s with 2GB RAM.
Todd Breiholz
I totally agree. It seems much slower. The new project definition interface is too complex. The previous 3.0 project interface seemed perfectly fine to me. Its integration with a ClearCase dynamic view never seems to reflect when I checkout a file.
I will probably switch back to 3.0.5 as well.
They are losing the benefits that caused me to convince my entire company to switch from JBuilder to IntelliJ. If they don't improve this then I will have to take a serious look at Eclipse.
Ah, jhtml. How I miss Dynamo.
Norris Shelton
Sun Certified Java Programmer
Todd Breiholz wrote:
>Our project has 2500 java source files, about 3500 properties files and almost 9500 JHTML files (similar to JSP). Startup time takes a minute or so, but otherwise performance is fine.
>
>Of course we have some pretty beefy machines. Dual processor 2.6 GHz P4s with 2GB RAM.
>
>Todd Breiholz
>
In article <c94qu3$pok$1@is.intellij.net>,
"Carlos Costa e Silva" <carlos@keysoft.pt> wrote:
Point is, people were telling the OP that his project was ill designed
without any information other than the class count, and IDEAs inability
to work with it. This is silly - IDEA claims to be a world class tool
capable of handling general Java development, and multithousand class
projects are a part of that world.
True. That said, if a tool has performance problems, then the designer
should pay close attention to them even if they are not going to be
fixed. Unusable on 4k classes can mean slower than it needs to be an
400, so knowing why you had a performance problem in the large case is
a really good idea, and one that a dismissive "you project is too big -
refactor it" completely ignores.
Yep. Further, since investing in a tool costs a lot of time for the
user, it is not good if they hear that the tool has problems on things
just a bit large than they are using.
Scott
Count me in as one who is INCREDIBLY frustrated.
As I posted in the Garbage Collection thread, IJ 4.0 is a pig. Yesterday, I watched it garbage collect while I was in a rather large XML file. The GC freed up nearly 50 MB. I then started typing a comment in the XML file and I watched the memory usage start climbing as I typed in each new character! I typed maybe 20 total characters and the memory usage had jumped up by 30 additional MB!
What a piece of sh*t. I have been one of IJ's biggest proponents...but 4.0 is unusable for large enterprise projects.
BTW, everyone on my team has 2GHz P4s with 512 MB RAM. I know that we could use more RAM, but I have a big team and it takes time to upgrade given that we work for a large company and the machines are leased. Regardless, 3.0 works flawlessly on these boxes. What a massive step backward.
Fortunately, I installed it on my PC and used it for a month before deciding whether I should let my team upgrade...to which the answer is a resounding NO WAY!
Steve
I think you have to be careful about generalizing here. I use 4.0 for
pure java client side development and barely notice pauses due to
garbage collection, rapidly growing heap sizes etc. as other people have
found. I have a heap of 128M and a huge project... sure it uses a bit
more memory than 3 but that's understandable given the extra order of
magnitude of indexing that it needs to do to enable it's newer features.
It's still great for me.
But you have found a particular problem with editing a big XML file that
obviously needs to be looked at... but I don't understand the
multiple-posted, foul mouthed rant here. Have you even brought this
problem to JetBrains' attention before berating the product so
vehemently? I'd understand your vitriol a little better if you had been
knocked back after reporting it, but you haven't made that clear. If
you are frustrated, don't just sit there TYPING IN CAPITALS, download
the latest EAP see if the problem is still there and if it is, post a
bug, so it can be fixed as part of 4.1.
The problem isn't going to go away just by spouting about it on a public
forum. JetBrains need direct input from people like yourself as they
mainly test by using the product daily in IDEA development... and as
IDEA is not an enterprise application, this side of it can never be
exercised enough.
Just my tuppence worth.
N.
Stephen Gingras wrote:
Entirely agree with you