IntelliJ IDEA 14.1
blog.jetbrains.com
blog.jetbrains.com
I don't find it particularly slow. It's not blazing fast, but I would say it's in the norm.
For the price I think it's a great asset to have.
That said, 90% of the time I spend using Jetbrains projects is now simply using IntelliJ to edit Clojure and Clojurescript files. I run repls externally, and setup shortcuts for use with :reload or :reload-all. As a Clojure editor I like the fast code navigation, autocomplete, and visual warnings of syntax errors.
It's free, so I shouldn't be complaining. Thanks for the product! Really, it's better than vim (especially with the intellij vim-mode plugin). I appreciate it.
But I'd feel a bit sour had I paid money for this. Especially after having seen Visual Studio. Wow, what a difference.
EDIT: laptop specs fwiw: Lenovo G505s, AMD A10, 8GB RAM, normal HDD.
EDIT2: Comparing the UI to other java apps is disingenuous. I'm no UI expert, but this looks fine. It won't win any awards, but it's not your average pile of swig.
There are two types of slow: there is slow to react, and slow to respond. I can understand that IntelliJ is having a hard time recompiling the Scala source. As you said, Scala is difficult to parse and compile.
What I don't like is the context menu taking several seconds to even appear, locking up the entire UI (!), when I right click. Or music playback going haywire just because I am switching files or refactoring. Setting it to "low priority" solves that last issue, but that doesn't make me feel better about IntelliJ.
If an app is slow, fine. But deal with it. React quickly, respond later.
PS: I say that now, but once I have a better computer, it's all "IntelliJ is great." I only feel this way because my computer can't take it.
Oh, and on that note, that wasn't the only reason I left IntelliJ. I also disliked how it handled having multiple projects open. If you don't want everything in separate windows, IntelliJ makes you create a dummy project and import everything as modules. NetBeans just does what I want automatically.
Where does the POM specify the project specific code formatting you want to use?
Where does the POM specify the exact JVM flags and params given to various launch configs?
Instructors recommended jGRASP, but I tried it briefly and did not like it too much. So, I have been playing with IntelliJ Community Edition in parallel and I prefer it. Anecdotally, I have not had the same performance issues, but I do use it on 8GB RAM + SSD laptop. So, I might be lucky by privilege here.
In the community edition, at least, there is Power Save mode. I think this halts project file indexing and other "cool" features. Maybe it would help? I also was surprised my computer was not hosed when playing with the Clojure REPL plugin, but again my laptop could be very beefy.
http://stackoverflow.com/questions/11725605/what-is-power-sa...
That being said, I need to do this school work on a work laptop because I got a Kindle textbook and I have not had time to convert it into PDF/ePub for use on my Linux laptop. I would love to use eclim and emacs, but that seems like a headache waiting to happen on Winboxen. Does anyone do Java/Scala dev on a Windows machine without one of the very unminimalist IDE's? I would much prefer console based, but Cygwin emacs is flimsy as it is.
At home on my desktop (4Gb of ram and a HDD) I switched to Emacs + ensime. It has a subset of the functionality of Intellij (some refactoring, jump to definition, type inference, autocompletion) and Emacs commands are hardwired in my brain. It's lighter than Intellij, you could check it out (and add some vim emulation since you seem to be a vim user!)
edit: there are ensime integration solutions for vim ( eg: https://github.com/megaannum/vimside )
http://i.imgur.com/bDk4OWJ.png
Now I'm a big fan of aggressive RAM usage, but the problem is Android Dev Studio always seems to want to grab everything it can. Which means that eventually I'm going to need disk swap space and that just causes my machine to slow down tremendously.
I also used it on windows 7 with 8gb of ram and no speed issues either, always developing java or android (ends up being java)
* change the default launcher to use the idea64.exe instead of idea.exe
* increase the default vm allocation in bin/idea64.vmoptions
-Xms668m -Xmx1692m -XX:MaxPermSize=412m -XX:ReservedCodeCacheSize=246m
* disable the "SuperFetch" service of windows 8 and reboot
Also you can ditch MaxPermSize if using Java8, which you should.
1. Download this patched jdk from https://code.google.com/p/tuxjdk/
2. Extract it somewhere
3. Make it your JAVA_HOME before launching IntelliJ.
4. Profit!
IntelliJ (or VisualStudio, or Xcode, or anything in this class) is an expert tool. Expert tools can be insanely complex to use, and can have very steep learning curves, because the people who use them are willing and able to invest the time. In exchange, the tools assume that most users are going to want to customize the living daylights out of their tooling.
This means that really good IDEs like IntelliJ, Visual Studio, etc., can optimize for two separate extremes. On the one hand, it almost doesn't matter how cluttered they are, because experts are going to customize them to look exactly how they want anyway. On the other hand, they pack so much functionality that they face a very real problem of people not even knowing what's there in the first place. (E.g., did you know you can debug any browser's JavaScript directly from IntelliJ? I sure didn't until surprisingly recently, but apparently that's been there for quite some time.) So there's also a mode that displays all the things that the IDE can possibly do, and you're completely correct that that mode looks borderline unusable.
Honestly, as long as the clutter is done sanely, I'm okay with it. I frequently toggle between just-the-code and all-the-things when I'm in IntelliJ, and the recent No Distraction mode makes doing that a lot simpler. If I know a keyboard shortcut, awesome. If I don't, I have the shortcuts for all the panes hardwired, so at least I can quickly browse the 25 buttons that show up, immediately discard the 15 I recognize, and quickly find which of the remaining 10 actually does what I want. I'm not going to argue this is the most elegant or most efficient, but I'm not convinced it's a horrible trade-off, either.
Emacs and Vim don't really have a mode like that. I suppose the closest in Emacs would be just hitting M-x and then tabbing through all the functions, but I'm not sure that counts.
So, unfortunately for performance reasons, I had to switch back to Sublime Text.
On my 2012 Thinkpad T-series (8 GB RAM, SSD, shitty display) Idea runs very nicely (Java, Python). But then, we cannot compare Thinkpad and MBA, as they are entirely different weight categories.
In fact if you develop in Java and you are not using it... you are missing it. It's awesome.