InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

IntelliJ IDEA 8: Beyond Java

Posted by Craig Wickesser on Aug 27, 2008

Sections
Process & Practices,
Development,
Operations & Infrastructure
Topics
Java ,
Release
Tags
JetBrains
On August 22, Dmitry Jemerov, development lead at JetBrains, provided answers to InfoQ's questions regarding the latest release of IntelliJ IDEA.

The stand out changes that can be found in IntelliJ IDEA 8 are listed on the JetBrains site, such as:
  • Improved Performance
  • Debuggers for JavaScript and Flex
  • Flex Code Editing
  • Updated Integration for Spring 2.5
  • Improved Groovy and Grails support
  • Support for Scala and Python
The list contains other items and additional information not included above.  Next, the answers to some of InfoQ's questions are provided.

InfoQ: What are the stand out changes made for IntelliJ IDEA 8, besides the release notes page?
Dmitry Jemerov: Internally, the biggest change was a refactoring to extract a common foundation out of IntelliJ IDEA, which allows us to build other products on the same code base. The IntelliJ IDEA platform is already used by MPS, and we have a number of not yet announced products in the pipeline which are also built on the same platform.

InfoQ: What level of Flex integration is provided?  Is it comparable to Java?
DJ: For Flex, we are focusing only on code editing support (a visual designer for MXML is completely out of scope for us for the time being).  Of course, the Java support has been in development much longer and is currently far more advanced, but the Flex support is following along the same lines. Some of the recently introduced features for Flex are auto-import and optimize imports, generation of constructors and accessors, and so on.

A debugger for Flex has also been added in version 8, and we're also working on seamless compilation support (so that you no longer have to use Ant tasks for compiling your project, as you did with IDEA 7).

InfoQ: What level of Python and Scala support are available?
DJ: First of all, I'd like to note that neither Python nor Scala will be bundled with the final release of IntelliJ IDEA 8. The plugins are in development, but by the time the final version of IDEA 8 is released, they'll be available in beta quality as separate downloads from the plugin manager. (The Scala plugin is actually already available: http://plugins.intellij.net/plugin/?id=1347 )

Once again, we're following the same basic sequence of steps as for other languages we support. For Scala, the main challenge is to provide a full implementation of the type system, which is necessary for full code completion. That's where we're focusing our efforts at the moment.  Other than that, most of the common language support features are already in: syntax and error highlighting, formatter, structure view, auto-import, implement/override and so on.

Python is a dynamic language, which brings a significantly different set of challenges, but the feature set will end up quite similar. A debugger is also planned for Python.

InfoQ: Any plans on making the IntelliJFX plugin a first class citzen within the IDE (such as Java, Groovy, etc)?
DJ: We're taking a "wait and see" approach for the moment. From our point of view, Flex is a much stronger contender on the RIA platform market compared to JavaFX for now, and, given that our resources are limited, that's where we're focusing our efforts. But it's definitely possible that JavaFX will be supported in IDEA 9 provided that it sees sufficient adoption.

InfoQ: IntelliJ IDEA 8 brings integraton with Microsoft's Team Foundation Server, are there plans to assist in the development of the Atlassian plugin and provide first class integration with their products?
DJ: Actually Atlassian has allocated much more resources for the development of the IntelliJ IDEA plugin than we could ever hope to, so I don't think that any additional investment is required from our side. We do keep in touch with the developers of the plugin and provide advice and help regarding the usage of the IntelliJ IDEA APIs.

InfoQ: Will IntelliJ provide plugins or support for project management techniques (i.e. agile, rup, xp, etc)?  Some plugins for Eclipse (as an example) provide tracking sprints, creating stories, displaying progress charts, etc.
DJ: We do not think that an IDE plugin should be a primary interface for such a tool. An IDE is primarily a tool for working with the source code of the project, and the sprints and stories have a very loose relationship to the code. Even if we do start working on a project management tool at some later time, most likely it will be primarily a Web-based tool rather than a plugin for IntelliJ IDEA.

InfoQ: When can users expect IntelliJ IDEA 8 to be out of testing and final?
DJ: The final release of IntelliJ IDEA 8 is planned for end of fall 2008.

InfoQ: Will existing users be able to download the IntelliJ IDEA 8 installer and simply upgrade?
DJ: IntelliJ IDEA 8 will not be a free upgrade (the users will need to pay the usual upgrade fee or evaluate the new version for 30 days), but the installation procedure for the new version will be as easy as ever.

InfoQ: What can users expect in the future for IntelliJ IDEA?
DJ: We can't announce any definite plans for versions beyond IDEA 8 yet. One thing that can definitely be expected is full support for Java EE 6. Of course, the new language features of Java SE 7 will also be supported, as soon as it's clear enough which of the JSRs being discussed are going into the release and which are left out.

Other than that, you can be sure that the usual stuff will be there - more languages supported, more frameworks, new refactorings and inspections, and so on.

Conclusion
JetBrains continues to focus on providing an IDE that ranks at the top of the list for developers who not only work with Java but Groovy, Python, JavaScript, Flex, Scala and others.  Some things to keep an eye out for include better support for JavaFX, and possibly a web based tool for project management related tasks.  For additional information regarding IntelliJ IDEA 8 take a look here.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

No comments

Watch Thread Reply

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.