| By Ajit Sagar | Article Rating: |
|
| June 1, 2002 12:00 AM EDT | Reads: |
14,752 |
Some years ago I did all my coding in vi, then later in Emacs. I still believe these are great editors; I just don't use them anymore for Java development, especially J2EE application development. I'm much more productive if I use an IDE whose sole purpose in life is to facilitate product development. I can probably still write code faster if I use vi. However, I doubt I could meet my deadlines if all I had was a tool that was primarily meant to be an editor. Emacs is a great environment for setting up and using a development environment. However, it is for all purposes a code editor, not an IDE.
Developing distributed applications is a complex process, and developing the components that make up the application requires coordination and integration of different design and development environments. The software development cycle for the release of a product warrants the use of data and component modeling tools; sophisticated code editors; a fully integrated compilation and build environment; deployment tools; fully integrated debugger, unit, and integration testing environments; and source code version control. Nowadays, you have two options when developing J2EE software. One, use your skills to create a development environment that can use tools from different vendors cohesively and effectively. Two, buy something that provides this environment out of the box.
Which option would you prefer? If you're the only one developing the modules, you may have the luxury to go with the first option. However, if you're involved in the development of J2EE applications, you're much better off with a true integrated development environment that allows you to develop components autonomously, unit test them, test them in your application framework via integration testing, and deploy them into your runtime environment. That way you can easily share your development efforts with your team.
In addition, several IDEs offer refactoring capabilities that will allow you to modify component design after the code has been developed. Several IDEs in the market offer a large part of this functionality out of the box. I've worked with Borland's JBuilder and IntelliJ's IDEA. Both are excellent IDEs that support the development features mentioned earlier, including deployment to the main J2EE application servers, unit testing using JUnit, support for refactoring, and integration with source control systems. There are several other J2EE IDEs to choose from (e.g., WebGain's VisualCafé). Usually application server vendors' tools don't have the level of sophistication offered by J2EE IDEs.
Of course, cost becomes a factor. Some of these IDEs are fairly expensive and buying enterprise licenses can be a costly proposition. However, for large enterprise projects, the benefits accrued by saving precious development hours will be well worth the cost.
What role will the popular editors like Emacs and vi have in J2EE development? Well, some of the IDE vendors are incorporating these into their tools. For example, Java Development Environment for Emacs (JDEE) is a software package that interfaces Emacs to command-line Java development tools (e.g., JavaSoft's JDK). Similarly, TogetherSoft is incorporating vi and Emacs into their tools offerings.
Speaking of development tools, one of the requirements for any successful J2EE project is the right references - online and printed material that gets you the background information you need to get up to speed and hit the ground running. Recently, I came across a new style of books that has proved very useful in developing J2EE software. They're printed as a suite of "CodeNotes" from Infusion Development Corporation - guidelines from developers who have obviously spent some time in the trenches. I've looked at the J2EE and XML CodeNotes, and these are definitely handy references to keep at your desktop.
Published June 1, 2002 Reads 14,752
Copyright © 2002 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Ajit Sagar
Ajit Sagar is a principal architect with Infosys Technologies, Ltd., a global consulting and IT services company. Ajit has been working with Java since 1997, and has more than 15 years experience in the IT industry. During this tenure, he's been a programmer, lead architect, director of engineering, and product manager for companies from 15 to 25,000 people in size. Ajit has served as JDJ's J2EE editor, was the founding editor of XML Journal, and has been a frequent speaker at SYS-CON's Web Services Edge series of conferences, JavaOne, and international conference. He has published more than 125 articles.
![]() |
Thomas 10/04/02 12:11:00 AM EDT | |||
check this out: method lookups and all |
||||
![]() |
Ron Theriault 07/12/02 05:34:00 PM EDT | |||
Ajit, |
||||
![]() |
Weiqi Gao 06/11/02 09:02:00 AM EDT | |||
Maybe the editor messed it up, but the article, as published here, make it sound like JDEE is a 'vendor product' while it is in fact an open source 'major mode' for working with Java projects in Emacs. -- |
||||
![]() |
Weiqi Gao 06/11/02 09:02:00 AM EDT | |||
Maybe the editor messed it up, but the article, as published here, make it sound like JDEE is a 'vendor product' while it is in fact an open source 'major mode' for working with Java projects in Emacs. -- |
||||
![]() |
Jason White 06/07/02 06:47:00 PM EDT | |||
I would love to use just Emacs, but I like and rely upon the intelligent method look ups in JBuilder quite a bit. If Emacs could do this, I would go back (Please let me know if this is possible). Otherwise Eclipse is looking like a good free option that will do the auto-complete type things. Anyone want to try and sell me on IntelliJ over Eclipse, please shoot. |
||||
![]() |
Dave Orme 06/07/02 02:23:00 PM EDT | |||
Emacs + JDE + XDoclet provide very nice tools that support most of the features discussed in this article. Where Emacs currently falls down is in refactoring support. However, the feature that has recently pushed me to a Java IDE over Emacs (for Java code only) is the new background syntax checker feature in Eclipse. In MS Word, if you misspell a word, Word detects this as you type and highlights it with a squiggly line. In Eclipse if you make a syntax error in your code, Eclipse detects this as you type and highlights it with a squiggly line. ie: You no longer have to compile to find out about your syntax errors! IMO, Emacs will catch up in refactoring support, but without implementing a background compiler (in Emacs Lisp no less) will never be able to syntax check as you type. On the other hand, I configured C++ Builder to launch XEmacs on the current source buffer, current line# because I got so sick of the integrated editor. -Dave Orme |
||||
![]() |
Sriram Narasimhan 06/07/02 02:18:00 PM EDT | |||
You forgot to mention about Oracle 9iJDeveloper ;) |
||||
![]() |
Philippe Paravicini 06/07/02 12:14:00 PM EDT | |||
Vi/emacs are hardly model Ts and punch-cards, more like a good Stradivarius. In the end, the difference is what lies between one's ears. You can be equally productive using vi and emacs than using any of the various IDEs around. I use Vim (thanks Brad Moolenar et.al.) - its excellent test editing features That said, Vim does not do everything, and I do use other tools, such as jswat for debugging, togetherJ for UML, etc... So, use your overpriced bloatware all you want, but don't knock those of us who are plenty productive on tried-and-true tools. |
||||
![]() |
Greg Brett 06/07/02 09:58:00 AM EDT | |||
Vi and Emacs were good editors in the time befor there was light. Punch cards were good too but I don't see anybody using them. If your using Vi and Emacs your are programming with a Model T at Model T speed in the era of faster than light machines with 1 tera-byte of L1 memory! Get yourself a good IDE, Borland J-Builder or whatever and re-program yourself to it's functions. By the way let's not forget Borland created the IDE in it's Pascal Compiler at about the start of light time. |
||||
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?









































