The Artima Developer Community
Sponsored Link

Weblogs Forum
X-develop : The Unknown IDE that Drives my Love For Java

9 replies on 1 page. Most recent reply: Aug 24, 2006 9:01 PM by Todd Blanchard

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 9 replies on 1 page
Geert Bevin

Posts: 28
Nickname: gbevin
Registered: Aug, 2006

X-develop : The Unknown IDE that Drives my Love For Java (View in Weblogs)
Posted: Aug 19, 2006 3:10 PM
Reply to this message Reply
Summary
X-develop is an unknown Java IDE that allows for very agile development patterns without getting in the way. This blog post illustrates a unique approach called 'fuzzy' or 'freeform' refactoring that is enabled by a unique X-develop featured called 'instant project-wide on-the-fly error checking'.
Advertisement

For many months I have been wondering why people where frequently criticizing the lack of agility in the Java language, the rigidity of its static typing system and the supposed uselessness of generics. Suddenly I realized that I found myself in a position that most other Java developers don't experience: I had been using an IDE for years that makes Java development amazingly agile and pleasant.

X-develop screenshot

Let me introduce CodeGuide or it's multi-language bigger brother X-develop. The beauty of these IDEs is very similar to what is recently happening in the Java landscape: power and simplification through default intelligent behavior without an overload of configurable options or explicit features. When you start X-develop for the first time, you'll probably browse through its menus and preferences, thinking that it only supports a fraction of the refactorings of IDEA or Eclipse. Well you know what, you're right. Yet, while it looks more primitive on the surface, I feel much more confident embarking into complex refactorings with X-develop than with anything else. How is this possible?

Enter the genius of Omnicore's vision by having designed and developed instant project-wide on-the-fly error checking. This is probably the worst understood and most powerful IDE feature in existence. The keywords instant, project-wide and on-the-fly are of capital importance here since they allow for free-form refactoring or fuzzy refactoring development styles.

To explain what this is about, it's probably best draw the parallel with test-driven development: you first code what you expect and then fix everything until your code works. I apply this approach constantly while refactoring: I perform the changes that I want to introduce in certain classes and as I type, I see the errors gradually appear in the entire project. This happens literally as I type, without any compilation or execution of the application. The only thing that I have to do afterwards, is work through the errors one by one (which can be easily done by using the shortcuts ctrl-up and ctrl-down) and fix the code so that the errors disappear. Sometimes I can be working for hours like this by continuously improving APIs and never ever having to wait for any compilation or execution delays. Apart from being an amazing feature in itself (since the IDE really understands your entire project in real-time), this way of developing is also extremely satisfying since you see the errors disappear one by one.

This is just one of the awesome features of X-develop, some of the others I prefer are:

  • a lot of screen estate for your code with minimal IDE artifacts that stand in your way or distract you,
  • back-in-time debugging,
  • very sensible code-hyperlinking,
  • permissive code completion (it works even if there are syntax errors),
  • extremely fast syntax highlighting,
  • preserve case in search/replace,
  • great JUnit and and Subversion support,
  • intuitive, simple and powerful GUI editor that doesn't introduce a new layout manager.

Now of course there are not only great things to be said. Due to the Java market having been bombarded with free IDEs, Omnicore had to diversify itself and support Mono and .Net as well. This slows down the work they can perform on the Java front since they are only a small company with limited resources. I'm however hoping that the recent interest for more dynamism and agility will see an uptake in their Java user-base, giving them more funds to invest in further developments.

So, if you want an agile IDE that leverages the Java language to its fullest and targets hard-core developers, you owe it to yourself to give CodeGuide or X-develop a try. Don't just use it as your current IDE and search for the counterpart of the features that you already know. In many cases you will not find it because Omnicore has solved the problem in a creative and often much more elegant way.

Thanks Omnicore for making my day a more pleasant one, every day.

Disclaimer: these are my genuine feelings and it's not a marketing ploy! I'm not affiliated with Omnicore and the only thing I have to gain is when they get more users, my preferred tool will become even better. Besides that, the people at Omnicore are really great and have always promptly tried to resolve any problems I had. I thought it was about time I gave something back for the more than excellent support they've given me over the years.

Disclaimer 2: I frequently force myself to work with IDEA and Eclipse for at least a week since I want to make sure that I'm not missing out on the best tools. While they both are excellent IDEs, I never reach the same comfort and productivity that the instant on-the-fly project-wide error checking of X-develop and its debugger provide me.


Coman Horia

Posts: 3
Nickname: bonzai
Registered: Jul, 2006

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 19, 2006 4:14 PM
Reply to this message Reply
I have heard of one other IDE that did something similar to what CodeGuide and X-develop do. It is (or was) Borland's JBuilder (JBuilder X to be more precise).

Unfortunately, it suffered from severe performance issues, as well as being buggy (or rather brittle - it gave the impression of a poorly built house of cards);

Geert Bevin

Posts: 28
Nickname: gbevin
Registered: Aug, 2006

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 20, 2006 8:39 AM
Reply to this message Reply
Hi Corman, that's in fact one of the most impressive things about X-develop, it's really instant and thus extremely fast. I use it on projects with 300kloc and 4 thousand classes, it handles that without any problems. Quite a feat if you consider the amount of information it has to analyse and process.

Michael Feathers

Posts: 448
Nickname: mfeathers
Registered: Jul, 2003

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 20, 2006 10:24 AM
Reply to this message Reply
How is 'instant on the fly error checking' different from what Eclipse does?

Geert Bevin

Posts: 28
Nickname: gbevin
Registered: Aug, 2006

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 20, 2006 11:56 AM
Reply to this message Reply
Hi Michael, it's instant project-wide on-the-fly error checking. Eclipse only checks your currently active file directly, but you have to compile before it check the entire project (which can of course be done automatically when you save your projects). The speed of the error checking is thus much slower and requires a human trigger. I've also found that Eclipse easily gets confused so that the errors are not in sync with the actual code anymore.
Really, to feel the difference, you should try X-develop out. Sadly this is one of those things that very difficult to explain in words, everyone usually nods while thinking 'been there, done that'.

Take care,

Geert

Christian Sell

Posts: 2
Nickname: chsell
Registered: Aug, 2005

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 22, 2006 6:34 AM
Reply to this message Reply
I havent used CodeGuide in a while, but I dont see eclipse's deficiencies in this area. The code gets compiled and the project checked when you save the current file, which is just a matter of typing Ctrl+S. Not a problem at all, really. True, eclipse gets out of sync every once in a while (though rather seldom), but that can also be fixed by running a clean on the project.

I do agree that CodeGuide is a leader in this field, and their technology is unique, but I dont think that particular feature is lacking much in eclipse, either

alan lewis

Posts: 1
Nickname: londonguy
Registered: Aug, 2006

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 24, 2006 4:13 AM
Reply to this message Reply
Hi Geert

I read your very positive article, and thought I'd give X-develop a go. After the download the first thing I did was write a JUnit test class; and there was no JUnit support. Nor was there any mention of JUnit or how to install it in the help system. Not a good indicator for Java development! You probably already know that JUnit works "out of the box" on Eclipse and Netbeans.

X-develop does have a nice UI, but that is not enough when considering what it is up against.

Regards
Alan

Geert Bevin

Posts: 28
Nickname: gbevin
Registered: Aug, 2006

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 24, 2006 4:15 AM
Reply to this message Reply
Alan, there is total JUnit support, you're probably looking at the wrong place.

Just open up your test case and click on the checkboxes you see next to the test methods and test cases.

Jess Sightler

Posts: 4
Nickname: jsight
Registered: Feb, 2005

Re: X-develop : The Unknown IDE that Drives my Love For Java Posted: Aug 24, 2006 12:13 PM
Reply to this message Reply
> Hi Michael, it's instant project-wide on-the-fly error
> checking. Eclipse only checks your currently active file
> directly, but you have to compile before it check the
> entire project (which can of course be done automatically
> when you save your projects).

Er, what? That's completely not true, as Eclipse does check the entire project (and other projects which depend on the current project) at the time of save.

I used to be a Codeguide user myself, until Eclipse became competitive with this. Codeguide is a bit faster, but Eclipse is close enough and is generally a more powerful product at this point.

Todd Blanchard

Posts: 316
Nickname: tblanchard
Registered: May, 2003

Snow shoes on quicksand Posted: Aug 24, 2006 9:01 PM
Reply to this message Reply
I don't doubt its useful, but if you'd stay off the quicksand you'd be fine anyhow.

IOW, its great you have this tool to make programming in Java tolerable. But maybe a better language would be even better and you could ditch the snowhoes (that make you look like a geek) and actually run on your own.

FWIW, no IDE surpasses the power of the full Smalltalk environment.

Flat View: This topic has 9 replies on 1 page
Topic: X-develop : The Unknown IDE that Drives my Love For Java Previous Topic   Next Topic Topic: Messaging is the Right Way to Build a Distributed System


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us