Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


IntelliJ IDEA 3.0
IntelliJ IDEA 3.0

I must admit, until recently my idea of an integrated development environment was Emacs, a couple of shell windows, and a six-pack of Dr. Pepper. I had nothing against IDEs, in fact I was all for them, I just couldn't find one that worked for me, instead of the other way around. Everything I tried either didn't format code the way I liked, required the entire development team to convert to it, didn't run my build scripts, wouldn't talk to my source code control system, or otherwise forced me to bend to its will. Maybe I'm too picky, but hey ­ I like to do things my way.

For the past several months, however, I've been developing almost exclusively with various beta builds of IntelliJ IDEA 3.0. It still has some bugs, of course, but this new IDE is so spectacular that even in its preproduction state I can't imagine coding without it. I introduced a few co-workers to the software to hear their opinions, knowing each of them already had established their own favorites ­ NetBeans, Forte, JBuilder, JRun Studio, and Visual J++. They're all using IDEA 3.0 now.

IntelliJ IDEA 3.0
JetBrains, Inc. (formerly IntelliJ Software), is based in Prague, Czech Republic, and St. Petersburg, Russia. They have released a number of successful Java development tools, most notably their Java IDE, IntelliJ IDEA. The latest version, 3.0, is scheduled for release this fall and will include some major enhancements, such as full JSP/EJB support, integration with Ant and JUnit, XML support, and a rich plug-in API for developing extensions. Like IDEA 2.5, IDEA 3.0 includes support for macros and code generation shortcuts, all dramatically improved. Of course, all the basics are there as well ­ a nice debugger, code completion, searching, replacing, code formatting, syntax/error highlighting, and source code control system integration. The popup code completion and JavaDoc hints are first rate, and super easy to use and configure. I'm finding new features every day and, unfortunately, it's impossible to cover all the goodies in one article.

Notably absent from the feature list are GUI builder tools like the ones found in NetBeans and other IDEs. While there's plenty of room for discussion regarding the vices and virtues of GUI builders, it's an important distinction worth noting for those who find them useful.

The IDE itself is written in Java and, unlike Eclipse, uses Swing for the GUI. While complex Swing applications tend to suffer from Java's overhead, IDEA's interface is fast and responsive, even on a mid-level machine. It even behaves well with large projects with thousands of source files. The software should run on any platform with JDK 1.4 installed (a JDK 1.3­compatible version is planned), but the primary supported platforms are Windows, Mac OS, and Linux.

Figure 1 shows a typical shot of IDEA 3.0 in action. The interface should be comfortably familiar to anyone who has used an IDE before; nothing radical here. Apart from a toolbar and menu selections, IDEA 3.0 uses a series of tool windows that dock along the margins to provide access to such things as code structure, compilation messages, and debugging stack frames. These windows can be moved around and displayed however you see fit. You can dock them, float them, make them slide in and out over your main window, and make them hide themselves when not needed.

As with most IDEs, you work on code as part of a project. A project includes your classpath, pointers to your source files, and build and run targets. Each project you define is stored as an XML file to keep on your local file system. One of IDEA's strong points is that it doesn't force you to set up your code structure any particular way, nor does it force you to use its internal build engine to compile. It's perfectly happy to call out to Ant to perform the build, for example. You can even choose to store source and library-path references relative to the project file, making it easy to share a project file with a team of developers or between machines.

Flexibility Is the Key to Happiness
IDEA 3.0 is as flexible as a three-legged rubber monkey. It's like no other IDE (or any other tool for that matter) I've encountered. You can customize everything about this program ­ from code formatting, syntax coloring, imports organization, and error highlighting to how your windows and tool bars are oriented. Perfect for particular programmers like myself!

Take the issue of spacing in your code. Unlike other IDEs that offer two or three spacing choices, IDEA 3.0 gives you literally dozens of options. As you can see in Figure 2, you can control every nuance of your code spacing style. Similar options are provided for controlling how braces, blank lines, and other stylistic choices are handled.

Your formatting options can be applied selectively to a section of code, an entire file, or even all the files in your project or directory. When you cut and paste code in the editor window, IDEA automatically formats the code appropriately, including inserting appropriate indentions and keeping everything nice and neat. IDEA's flexibility doesn't end at source-code formatting, of course. You can control the positioning of all the tool windows, the various aspects of code completion, coloring, and the entire collection of hot keys.

Refactoring Support
IDEA 3.0 would be an excellent IDE even if its flexible configuration and ease of use were its greatest assets. Its support for code refactoring is by far the most exciting feature. Refactoring, the process of continually improving your code and its structure, is one of those things that we all know is important, but we tend to slack off because it can be a pain to reorganize our code and class structure without breaking everything. Not so with IDEA. It supports many of the refactoring patterns discussed in Martin Fowler's seminal work on the subject, Refactoring. Some of the capabilities include:

  • Changing a method's signature to include new arguments
  • Renaming or moving classes, methods, and members
  • Extracting selected items from a class into a new interface
  • Introducing a variable from a selected expression
  • Encapsulating field references into a method
  • Pulling members up into a super class
IDEA makes it trivial to rename a class or move it to another package. Not only does it make the necessary changes to the code, it tracks down and corrects all the references to the class in Java code, import statements, JSP scriptlets, even Javadoc comments and XML files (like your Struts config file). In addition, it removes the old file from your version control system and adds the new one. It's so seamless that you don't think twice about moving a method from one class to another or reorganizing package structure as your project evolves. This is the first time we have such powerful tools in such a reasonably priced IDE.

J2EE Support
IDEA is way ahead of the game in terms of supporting JSP and EJB development. Most IDEs stop at syntax highlighting for JSPs, but IDEA adds much more. It allows you to define the roots of your Web applications in your source tree, providing internal awareness of your tag libraries, classpaths, and other properties. It can then perform code completion on JSP tags, bean properties, and even the file path include statements. It highlights Java errors in scriptlets and complains about invalid object references just as it does with Java source code. It generates EJB interfaces and allows full refactoring of them as well. JetBrains also promises integrated JSP and EJB debugging in the final release, but it was not yet available at the time of this writing.

Summary
I feel as if I haven't scratched the surface of everything this IDE can do and how well it does it. Overall, I'm very impressed by this as of yet unreleased product. Beginners will appreciate its good, easy-to-use editor, code completion, version-control system integration, and flexible configuration options, while advanced users will marvel at its seamless support for powerful refactoring operations and its rich plug-in API. Developers who are used to code wizards and GUI builders may be disappointed, however, as this tool does not attempt to address these areas.

Everything is wrapped up into a nice, reasonably priced package that most development shops should actually be able to afford. IntelliJ IDEA 3.0 will be available this fall.

Product Snapshot

  • Target Audience: Java and JSP programmers
  • Level: Beginner to advanced
  • Pros: Flexible code formatting and interface, extensible API, first-class J2EE support, powerful code generation, Ant and JUnit support
  • Cons: Limited support for non-Java source files, no GUI builder

    JetBrains, Inc.
    (formerly IntelliJ Software)
    Klanova 9/506
    14700 Prague
    Czech Republic
    Web: www.intellij.com/jetbrains/
    Phone: +7 (812) 380-1641
    Fax: +7 (812) 380-1643
    E-mail: info@intellij.com

    Platforms
    Windows, Mac, Linux, other JDK 1.3 platforms

    Pricing
    $395 (quantity discounts available)

    Test Platforms

  • AMD 1.33GHz, 784MB of RAM, Windows XP
  • 700MHz Intel Pentium, 256MB of RAM, Windows 2000
    About Duane Fields
    Duane Fields is a Java programmer with over 10 years of software development experience. He has written numerous articles on all aspects of software development and is the co-author of the best selling “Web Development with JavaServer Pages,” now in its second edition. Duane is based in Austin, Texas and can be reached through his Web site, www.deepmagic.com.

  • In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 4

    Idea is possibly the best IDE I have used so far.

    However, I had some problems using Ant with Idea... but it is not a major thing anyway.

    What I do not like?
    1. UI builder is missing
    2. Under windows it runs fairly fast, but I am using Linux and Idea'a performance on this system is... well... not perfect ;)
    3. Prices - I am CS/SE student and the price is way to high for me. Further, I would like to see the source code ;-)

    Wiktor

    Why doesn't JetBrains give away the source of IDEA? Even more people would start using IDEA that way, and it would get even better if people started fiddling with the code. I think IDEA is a nice IDE, but I am not willing to pay the high license fee.

    Im a CS student taking java classes. I first tried java out of the command prompt and notepad, then forte, then netbeans, and now IDEA. Idea is the best IDE ever made. Netbeans is way too frigging slow.

    Idea is so intuitive! The OSX support needs work. This program works beautifully on OSX, XP, and Linux. Ive also tried to use eclipse (counterintuitive) and borland (blech). I'm never going back to anything else ever again!

    You guys are great!

    PS, could it be too much to offer a free version of IDEA that doesnt have the J2ee stuff built in?

    As for those who said it doesn't support chinese. I should say it does and does it pretty good.

    p.s. May be cn users need to adjust their "font.properties.zh". But that's not IntelliJ's problem.

    I used Netbeans and JDeveloper quite some time. But IDEA ist miles ahead. Netbeans is great, but way to slow. It also lacks some nice features like refactoring. JDeveloper isn't very good, but it works very fine when developing on Oracle and with SQL. The SQLJ support is actually exactling what I'm missing at IDEA right now. If developing SQLJ I switch back to JDev. I hope there will be a Plugin or sth similar out soon... Maybe someone has experienxe and some help on this?

    IDEA makes you feel less of a programming drone. IDEA takes away all the meaningless drivel that comes with programming, WITHOUT hiding you from it (ie. GUI builders). I feel like less of a zombie now when coding in Java - my productivity has doubled, and my brain is fully focused on DESIGN, rather than typing out another iterator loop.

    using eclipse for some months and now idea for a week i have to admit they are very similar. same refactoring, same template stuff, nearly the same good editor.

    eclipse has better project-support, better UI-flexibility, faster / better debugging. why needs IntelliJ 4x the time for debugging-startup compared to eclipse? ;)

    on linux idea has a faster editor, faster io-operations and a smaller memory consumtion. It has multicolumn-tabs :) and a better Navigation.

    Both have a great comunity with lots of nice plugins.

    So out of the box idea is more easy to use but beware eclipse if they increase the speed and add some needed features (back-button, tabs)

    Idea is the best,
    it' very use full for me to learn coding staille.

    >>I saw IDEa one time and I said:
    >>Eclipse Forever!
    Only once? Well, it explains everything :)

    I did try boath Eclipse and Idea. Nothing can match Idea. Just take a look at Idea's features.

    Vit.

    It is the same situation as it was with many of other rather good products.
    More features=>requires more memory/becomes slow=>Outcome: "why do I have to pay for it instead of using eclipse"?!
    I love Eclipse JDT and I hate gui applications that are using swing. I saw IDEa one time and I said: Eclipse Forever!

    Version 3.0 is out! TONS of features, lots are new, many are improved. Speed and stability has improved greatly over the past few weeks. Give this IDE a try again if you tried an earlier EAP build and were disappointed.

    There is one thing that I sometimes don't like about IDEA: the code completion shortcuts (like itar) automatically pick all the default variables correctly all the time -- I can only assume by READING MY MIND. No software should do that.

    IDEA is one of those rare pieces of software that just gets everything right. The guys that wrote it are gods, period.

    I've started thinking more since I started using it about those code management tasks that could possibly be automated. Every time I get a new idea, I think "I bet they didn't think of *that*!". But they have. (i.e. the replace function help just mentions that it supports "perl like" regex. So I start trying some of the more esoteric little regex tags that perl supports ... they all work)

    Another great new feature in 3.0 is the Plugin architecture. The independent plugin community is thriving and has produced a number of quality plugins, 56 so far.

    Answering two questions back, yes, 3.0 has multiple project support. Futhermore, a great plugin is available called "Workspaces" that allows for various distinct file views within one Project.


    Feedback Pages:


    Your Feedback
    Wiktor Lukasik wrote: Idea is possibly the best IDE I have used so far. However, I had some problems using Ant with Idea... but it is not a major thing anyway. What I do not like? 1. UI builder is missing 2. Under windows it runs fairly fast, but I am using Linux and Idea'a performance on this system is... well... not perfect ;) 3. Prices - I am CS/SE student and the price is way to high for me. Further, I would like to see the source code ;-) Wiktor
    Java Programmer wrote: Why doesn't JetBrains give away the source of IDEA? Even more people would start using IDEA that way, and it would get even better if people started fiddling with the code. I think IDEA is a nice IDE, but I am not willing to pay the high license fee.
    Joe McDonnell wrote: Im a CS student taking java classes. I first tried java out of the command prompt and notepad, then forte, then netbeans, and now IDEA. Idea is the best IDE ever made. Netbeans is way too frigging slow. Idea is so intuitive! The OSX support needs work. This program works beautifully on OSX, XP, and Linux. Ive also tried to use eclipse (counterintuitive) and borland (blech). I'm never going back to anything else ever again! You guys are great! PS, could it be too much to offer a free version of IDEA that doesnt have the J2ee stuff built in?
    Tele wrote: As for those who said it doesn't support chinese. I should say it does and does it pretty good. p.s. May be cn users need to adjust their "font.properties.zh". But that's not IntelliJ's problem.
    Martin Sieber wrote: I used Netbeans and JDeveloper quite some time. But IDEA ist miles ahead. Netbeans is great, but way to slow. It also lacks some nice features like refactoring. JDeveloper isn't very good, but it works very fine when developing on Oracle and with SQL. The SQLJ support is actually exactling what I'm missing at IDEA right now. If developing SQLJ I switch back to JDev. I hope there will be a Plugin or sth similar out soon... Maybe someone has experienxe and some help on this?
    olly wrote: IDEA makes you feel less of a programming drone. IDEA takes away all the meaningless drivel that comes with programming, WITHOUT hiding you from it (ie. GUI builders). I feel like less of a zombie now when coding in Java - my productivity has doubled, and my brain is fully focused on DESIGN, rather than typing out another iterator loop.
    blazer wrote: using eclipse for some months and now idea for a week i have to admit they are very similar. same refactoring, same template stuff, nearly the same good editor. eclipse has better project-support, better UI-flexibility, faster / better debugging. why needs IntelliJ 4x the time for debugging-startup compared to eclipse? ;) on linux idea has a faster editor, faster io-operations and a smaller memory consumtion. It has multicolumn-tabs :) and a better Navigation. Both have a great comunity with lots of nice plugins. So out of the box idea is more easy to use but beware eclipse if they increase the speed and add some needed features (back-button, tabs)
    Johnatan Linke wrote: It is the same situation as it was with many of other rather good products. More features=>requires more memory/becomes slow=>Outcome: "why do I have to pay for it instead of using eclipse"?! I love Eclipse JDT and I hate gui applications that are using swing. I saw IDEa one time and I said: Eclipse Forever!
    Ian Zabel wrote: Version 3.0 is out! TONS of features, lots are new, many are improved. Speed and stability has improved greatly over the past few weeks. Give this IDE a try again if you tried an earlier EAP build and were disappointed.
    Elmo wrote: There is one thing that I sometimes don't like about IDEA: the code completion shortcuts (like itar) automatically pick all the default variables correctly all the time -- I can only assume by READING MY MIND. No software should do that.
    Elmo wrote: IDEA is one of those rare pieces of software that just gets everything right. The guys that wrote it are gods, period. I've started thinking more since I started using it about those code management tasks that could possibly be automated. Every time I get a new idea, I think "I bet they didn't think of *that*!". But they have. (i.e. the replace function help just mentions that it supports "perl like" regex. So I start trying some of the more esoteric little regex tags that perl supports ... they all work)
    jjs wrote: Another great new feature in 3.0 is the Plugin architecture. The independent plugin community is thriving and has produced a number of quality plugins, 56 so far.
    jjs wrote: Answering two questions back, yes, 3.0 has multiple project support. Futhermore, a great plugin is available called "Workspaces" that allows for various distinct file views within one Project.
    Mark wrote: Just as there are some who still beleive that the earth is flat, there are also those who do not like IntelliJ Idea. The rest of us know better.
    wrote: I thought it was shite.
    NZC wrote: read subj :P
    Constantine Vasilyev wrote: I remember how back in the 80s I first discovered the Borland IDEs for Turbo Pascal/C/Prolog, and how convenient and fast they were compared to all others. Later, as a C/C++ developer, I had many excellent IDEs to chose from, MS Visual Studio being just one of them. For a long time, there has been no IDEs for Java development that would even remotely compare to, say, MS Visual Studio... Until now! Finally, the Java community is treated to an IDE that blows MS Visual Studio out of the water! And unlike Forte, JBuilder, and many others, its very elegant, well-designed, not overbearing, has a reasonable memory footprint, doesn't overwhelm you with tons of stuff that you don't need at the moment... I have been using it for a couple of months now. Yes, sometimes I do find that it's a bit sluggish in performing certain tasks, it froze on me a couple of times - when it shouldn't have really, an...
    Mike Brown wrote: ... Anyone who hasn't tried this product really owes it to himself or herself to go to the IDEA site (www.intellij.com) and look over its list of features. To me, it was like Christmas morning for developers. By the way, I have had no performance problems with the product. I don't think its a memory hog, but I believe it is caching the whole logical structure of your code base, so it might slow down if it has to do a lot of IO to your disk. I think it all depends on the size of your code base and the size of other programs you're running concurrently, so make sure your have enough RAM.
    Mike Brown wrote: ... Anyone who hasn't tried this product really owes it to himself or herself to go to the IDEA site (www.intellij.com) and look over its list of features. To me, it was like
    Mike Brown wrote: ...have an elegant way to navigate their code. Also worth the license price is the rename function, which allows you to instantly rename anything; long gone are the days of using the compiler to catch every line of code to modify. Also, IDEA has an automatic import statement feature which makes sure your import statements are always adequate for your code (and prompts you for input if there happen to be ambiguous class names in your source path). There's also an automatic try/catch block utility that gives you all the appropriate exception catches for the code you're "trying." Anyone who hasn't tried this product really owes it to himself or herself to go to the IDEA site (www.intellij.com) and look over its list of features. To me, it was like
    Enterprise Open Source Magazine Latest Stories . . .
    Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP). The...
    With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
    AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
    During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
    Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
    A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
    Subscribe to the World's Most Powerful Newsletters
    Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


    SYS-CON Featured Whitepapers
    ADS BY GOOGLE