Getting back to IntelliJ's roots
Lads, just saw the list of planned changed for version 12. None of it interests me, as none of those things are about cutting code. IntelliJ at version 3 and 4 blazed a trail for people who wanted to cut code, with refactoring support being the main thing. Now its all about Spring and Hibernate and "enterprise" stuff that real devs just don't use. UML diagrams for Flex? Please lads, you're losing people like me. What about awesome blow-the-competition-out-of-the-park refactorings, like "extract interface based on usage". What about a release that blows the mind of code writers, not xml and uml monkies. Make a java REPL. Dream up a way of integrating the native shell, and make it scriptable. Take it to the next level.
Keep well lads!
Mike
Please sign in to leave a comment.
Mike,
The release notes do not contain the list of changes planned for IDEA 12; they contain the list of changes already implemented in the current EAP. Only a couple of months have passed since the release of IntelliJ IDEA 11.1. Please give us time, and I hope you won't be disappointed. :)
I'd like a full-blow Java REPL too, but "Spring and Hibernate and "enterprise" stuff that real devs just don't use"?!? I don't know ANYONE who codes Java who doesn't use Spring. And most of them use Hibernate as well. Now if you were talking about the latest EJB spec I would be with you.
Hibernate 4? Check.
Groovy 2? Check.
Brand new compiler mode? Intrigued.
Spring improvements? Check.
Version control enhancements? Check.
But yes, this seems like a very small improvement. The big ticket item appears to be Android UI support and I don't do Android.
In terms of team effort expended, the big ticket item in this EAP is definitely the new compiler implementation. Hopefully it can also deliver a corresponding productivity boost. :)
New compiler seems interesting, more info and benchmarks would be appriciated. :)
The best benchmark there can be is trying the new compiler on your own project and comparing the difference.
I'm referring to this Dmitry
http://blogs.jetbrains.com/idea/2012/06/intellij-idea-12-leda-preview-is-out
Mike, as Dmitry wrote above the blog post just contains the changes that have gone into first EAP. Much more is to be expected, so we'd like to hear your suggestions in forum or tracker.
Gotcha. Good.
I'd love a java REPL.
So in what cases would a Java REPL be better than a Groovy REPL (which we have already added in IDEA 11.1)?
Its not bad. When I try to auto complete the creation of a new instance of this
http://code.google.com/p/totallylazy/source/browse/src/com/googlecode/totallylazy/Callable1.java
I get an "Invocation" created, which is not what I wanted.
and when I try to run a piece of code that works in a unit test, I get this
new BspApplication(basePath("/"));
application.usingRequestScope(new Callable1<Container,Void>(){
@Override
Void call(Container input) {
System.out.println("container = " + input);
return null
}
})
java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory. So grrovy seems alright, but it just depends on how polished you want to be.
But anyway, not that this has become about a specific change, the spirit of my point is lost, because we have moved to a secondary point. I would prefer if you spent your time dreaming up new refactorings and things that help those working at the lowest common demonimator (java itself). The new compiler mode is a great example. The ceiling of innovation has been hit it seems by intellij with it comes to cutting raw java code. And thats what i mean by intellij's roots. Adding support for hibernate x and spring y is just rote work in comparison. creativity and innovation
Dreaming up new refactorings has long reached a point of diminishing returns. A refactoring is a feature that you need to be specifically aware of in order to be able to use it. And the more exotic a refactoring is, the less likely it is that anyone will remember that it exists, recognize that it's applicable to the problem they're facing, and use it properly.
The majority of our users don't even know half of the features already existing in the product. (Case in point: you didn't seem to be aware of the existence of the Groovy REPL.) Adding even more innovative features is therefore very unlikely to affect the day-to-day productivity of our users.
For me it would be fine, if the existing refactorings would be made more
robust. For certain situations they break the code. A couple of issues I
reported years ago but it looks like they got lost in the issue tracker
nirvana. But I guess, you see them already yourself when working with IDEA
on IDEA (or other projects).
Tom
Hello Tom,
That's something we're constantly working on.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
and what about parallel compilation?
last time i measured with 107.535, maven with 2 threads compiled 65 modules in 1:30, while intellij 2:40
It's not yet implemented, but I believe it's on the roadmap.