advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
Partners & Affiliates
advertisement
advertisement
advertisement
Average Rating: 2/5 | Rate this item | 8 users have rated this item.
Email this articleEmail this article
 
10 Reasons to Dump Your Java IDE
Is it possible that the very thing that is supposed to facilitate faster Java coding is in fact, an unseen liability, crippling development flexibility and team contribution? Guest columnist Brad O'Hearne says the sooner you dump your IDE, the better off you'll be.  

advertisement

t the opening of this year, while the rest of the world was swearing off high-fat foods and cigarettes, I was making a far different kind of New Year's resolution. I was swearing off automation.

For several years, I had used an award-winning, best-of-breed, commercial Java IDEspecifically, Borland's JBuilder versions 3.x-5.x. It was (and still is) a fine IDE, and I had become very skilled coding with it. However, rising license costs, repeated frustrations using it in a team development environment, and only partial third-party tool integration caused me to reconsider whether use of it was wise.

I wanted to talk with other developers about these ideas and so I turned to a few favorite mailing lists and began a couple of threads debating the usefulness of IDEs. Responses were spirited and quite polarized between IDE advocacy and IDE rejection. Advocates almost universally cited an increased speed of development, while opponents cited some of the reasons stated in this article. But my distinctive impression was that few had really stopped to consider the reasons why they were using the IDE they were (or not).

For those interested in adding IDE-like capability to Emacs, Brad recommends Java Development Environment for Emacs (JDEE)
After giving the IDEs and their alternatives much thought, I finally concluded that using an IDE is a shortsighted endeavor. In the end, I opted for a text editor. I chose GNU's Emacs, although which text editor you choose is not so important as the decision to use a text editor in the first place; there are others out therevi, vim, etc.that satisfy the same criteria. What is important is that this reversion to lesser technology makes a more knowledgeable, flexible, and what I believe to be an overall more valuable developer.

What follows are 10 reasons why nearly every developer should take the same leap I did and dump their IDE in favor of a text editor:

No. 1: Eliminate IDE dependence When a developer's productivity becomes tied to a certain IDE (and more specifically, the shortcuts within it), it is a serious liability. A shift in corporate standards from one tool to another or a job change can precipitously drop a developer's productivity and market value overnight. By using Emacs I am not building a dependency on any IDE's specific features, and I can use it in any company's environment, without requiring the company to commit to fees for licenses or support.

No. 2: Lower cost
Many IDEs (especially the best-of-breed class) have high licensing fees. This cost is unnecessary and compounded by the cost of support contracts and upgrades. Though a business may outfit a developer with its preferred IDE, for most of us development is more than just the yoke we pull at work. I frequently develop at home on personal projects, and I expect to use the same toolset at work and at home because of the added efficiency it affords. But the more costly an IDE, the more likely a developer will not be able to afford a personal license, and that forces a divergence between the home and work toolsets.

Likewise, a job change may find a developer at an organization that is less willing to fork out the cash for an expensive IDE. Even within an organization, there is no guarantee that the IDE the company endorses now will remain the standard indefinitely. Expensive IDE licenses are easy targets for cost-cutting, especially during lean economic times. Emacs is completely free; support is available on-line, and there is no cost to upgrade.

No. 3: Minimize impact on performance and system resources
This may seem an odd statement to make in reference to a text editor, but that is kind of the point. Simple text editors don't have significant performance or system resource issues. They are not slow to startup, shutdown, or compile, nor do they consume a significant memory footprint. The IDE I was using held a footprint of around 65MB. If a developer needs to run other memory-intensive applications concurrently, associated hardware costs increaseat work and, potentially, at home. Emacs runs just fine on almost any hardware.

No. 4: Better knowledge of Java technology
A great IDE can make a developer lazy. IDE automation is great sometimes, when you need a shortcut, but code generation and wizards create an abstraction from certain usage and specification issues. Developers need to understand Java specifications in detail before taking shortcuts. IDEs enforce the opposite principle.

Time and time again, I have seen developers fumble helplessly outside of their code-generating IDE because they don't understand the fundamental nature of the specification they are working with. With Emacs, I either know the Java specifications I need to develop, or I have to learn them.

  Next Page: Reasons 5 through 10
Page 1: IntroductionPage 2: Reasons 5 through 10
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
Avaya Article: Call Control XML - Powerful, Standards-Based Call Control
Tripwire Whitepaper: Seven Practical Steps to Mitigate Virtualization Security Risks
Internet.com eBook: The Pros and Cons of Outsourcing
Go Parallel Article: Scalable Parallelism with Intel(R) Threading Building Blocks
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
Go Parallel Article: Getting Started with TBB on Windows
HP eBook: Storage Networking , Part 1
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
Go Parallel Video: Intel(R) Threading Building Blocks: A New Method for Threading in C++
HP Video: Is Your Data Center Ready for a Real World Disaster?
Microsoft Partner Portal Video: Microsoft Gold Certified Partners Build Successful Practices
HP On Demand Webcast: Virtualization in Action
Go Parallel Video: Performance and Threading Tools for Game Developers
Rackspace Hosting Center: Customer Videos
Intel vPro Developer Virtual Bootcamp
HP Disaster-Proof Solutions eSeminar
HP On Demand Webcast: Discover the Benefits of Virtualization
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Microsoft Download: Silverlight 2 Software Development Kit Beta 2
30-Day Trial: SPAMfighter Exchange Module
Red Gate Download: SQL Toolbelt
Iron Speed Designer Application Generator
Microsoft Download: Silverlight 2 Beta 2 Runtime
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
IBM IT Innovation Article: Green Servers Provide a Competitive Advantage
Microsoft Article: Expression Web 2 for PHP Developers--Simplify Your PHP Applications
Featured Algorithm: Intel Threading Building Blocks - parallel_reduce
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES