04
Mon, Nov
6 New Articles

Eclipse: Not Just Another IDE

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

OK, I admit it: I'm a Java Integrated Development Environment (IDE) junkie.

Whether it's JBuilder, WebGain Studio, WebSphere Studio, or Together Control Center, I like them all, and the more bells and whistles the better. I use them all, although they each have their own unique strengths and quirks. However, this IDE addiction has three undesired side effects. The first is expense. IDEs can be very expensive, which makes me grateful to the companies that I work for who have had the foresight to see that good tools, in the right hands, are almost always worth the expense. The second undesired side effect is learning curve. Although IDEs are pretty easy to pick up, mastering them can be time-consuming. But the third, and to me the worst, undesired side effect is configuration. Setting up a new IDE to point to your source tree, integrating it with your version control system, and of course setting up your CLASSPATH can all be painful. In addition, if you are doing enterprise development, you are probably going to have to start over on how you deploy your applications. So either I need one IDE that does everything or I need all my IDEs to work together. Eclipse may just be the answer to my addiction.

What Is Eclipse?

The basic idea is simple: Eclipse provides an IDE platform that software vendors can extend the functionality of by writing their own plug-ins. The Eclipse platform itself is an open-source project supported by a consortium of industry leaders, including founding members Borland, IBM, MERANT, QNX Software Systems, Rational Software, SuSE, TogetherSoft, and WebGain, as well as recent additions Sybase and Fujitsu. In addition, Object Technology International, led by Technical Director and Object Pattern Guru Erich Gamma, has developed the Java Development Tools (JDT) subproject, which is essentially a set of Eclipse plug-ins that form a Java IDE that is distributed as part of the Eclipse Software Developer Kit (SDK).

How Eclipse Platform Plug-ins Work

Eclipse platform plug-ins, which of course are written in Java and distributed as JAR files, are hooked into predefined extension points within the Eclipse platform. In Eclipse terminology, a "plug-in" provides an extension to an extension point. In addition, a plug-in can declare its own extension points and provide extensions for other plug-ins' extension points. Also since you may have quite a number of plug-ins installed and may only use a subset of them during a session, Eclipse provides a registry mechanism for plug-ins to declare which extension points they extend. Eclipse further provides a mechanism called "activation" whereby registered plug-ins are loaded dynamically on an as-needed basis. This frees the Eclipse platform from the excessive startup times and bloated memory footprints often associated with Java IDEs.

Advantages for Software Tool Developers

There are two main reasons for software tool developers to use Eclipse. First, it either will implement or already does implement much of the functionality that would have to be built into any new IDE. Having commonly needed functionality like keeping history, internationalization, Build System (Ant), help, search, and scripting already at their disposal allows developers to focus on new functionality. Also, since Eclipse is an ongoing open-source project, developers will pick up additional functionality in the future with minimal development effort. The second advantage is that if Eclipse takes off and becomes the IDE platform of choice, it may become difficult to sell the all-in-one IDEs of today's market. IDE users will prefer new plug-ins to their existing Eclipse platform.

Advantages for IDE Users

There will be plug-ins to fit your IDE user's need. Although Eclipse has its roots in the Java community, vendors can make plug-ins to support any language or file type, including HTML, XML, C/C++, Smalltalk, or whatever languages the future holds. In fact, there may even be a market for plug-ins for legacy languages, but plug-ins are not just limited to languages and file types. There can also be plug-ins for debuggers, version control systems, and diagramming tools.

Think of the time you would save given the following scenario. You need to develop an application in a new language you have never used before. Instead of downloading trial versions of several entire IDE packages, installing them, and configuring them while at the same time trying to learn the new language, you could instead just download trial versions of their Eclipse plug-ins and be on your way. Once you have selected the plug-in that best suits your needs, you can remove the other plug-ins, which should be just a matter of unregistering it with the Eclipse platform and removing its associate JAR files. This seems more desirable than trying to uninstall the trial version of an IDE.

Another advantage is that the entire Eclipse platform is inherently cross-platform. So whether you are running on WindowsXP or RedHat, your Eclipse IDE will behave the same way. If you have done development on Java applications that are required to run on multiple platforms, you already know that you have to either push your application to test on each of your target platforms or set up an IDE on each so that you can make changes while on the target platform. Neither of these solutions is optimal. However, if you were using an Eclipse platform with the same plug-ins on each of your targets, development and testing would be much easier. The corollary to this is not as obvious but is still useful; potentially, plug-ins for languages like C and C++ will have platform-dependent targets, but the Eclipse platform to create the targets could be run on any platform. Only execution and debugging would have to occur on the targeted platforms.

Another advantage for the IDE user will be the ability to switch between plug-ins for the same language. Most developers tie themselves to one particular IDE and stick with it even when others have better features or better pricing, because the opportunity cost is too high in switching to a new IDE. The Eclipse platform will do more than allow you to migrate easily from one platform to another; it will let you move back and forth between plug-ins at will.

How to Get Started

Don't throw away your favorite IDE just yet, but if you would like to take a peek at what Eclipse is all about, you can download it from the Eclipse Web site and follow the link to the download section.

What's in Eclipse 2.0?

Eclipse 2.0 was released on June 28th, 2002. Release 2.0 focuses on adding stability and bug fixes to the current code base and will include the following:

  • Source code for Eclipse
  • Eclipse Software Developer Kit (SDK)
  • Eclipse platform runtime binary distribution
  • Java Development Tools (JDT) runtime binary distribution
  • Eclipse SDK examples


Since Eclipse is written entirely in Java, it is naturally cross-platform and will be validated against various Java Virtual Machines (JVMs) on the following operating systems.

  • Windows
  • Linux
  • Sun Solaris
  • HP-UX
  • AIX

What Are the Disadvantages?

The Eclipse team has gone to great lengths to specify how plug-ins will interoperate, but inevitably there will be problems and incompatibilities. Currently, when I have an issue or problem with an IDE, I know exactly which vendor's Web site to visit or tech support team to call. It may be difficult to discover who is at fault when you have a confederation of plug-ins working together and something goes wrong.

What About Price?

It will be interesting to see how plug-in vendors will position themselves. IDE users who are purchasing plug-ins will certainly expect that those plug-ins will cost significantly less than full-blown, stand-alone IDEs. However, since IDE users may need to procure a number of plug-ins just to match the functionality of their current IDEs, they may not experience a net savings. There may also be another factor in pricing. There are already a number of open-source projects in the works for various plug-ins. Competing plug-ins will be pressured to offer either a lower cost or more features and better support than their open-source counterparts.

Conclusion

Eclipse is based on the simple idea of allowing tool developers to create plug-ins and extensions to an existing IDE framework, thus freeing them to develop new functionality rather than spend time creating their own framework. Even though Eclipse is an open-source project, I believe it will succeed in the main stream because it has strong industry backing. The advantages of a well-defined plug-in, cross-platform framework are numerous and will benefit both plug-in developers and Eclipse users alike. The only disadvantage seems to be potential problems with interaction among various plug-ins. Pricing is, of course, always an issue, and it will be interesting to see how plug-in vendors position themselves. So download Version 2.0 and take it for a test drive and see what you think.

Michael J. Floyd is a Senior Software Engineer and Extreme Programmer for DivXNetworks and consultant to San Diego State University. He can be reached at This email address is being protected from spambots. You need JavaScript enabled to view it..

Links to More Information

Eclipse--www.eclipse.org
Borland Jbuilder--www.borland.com/jbuilder
WebGain Studio--www.webgain.com/products/webgain_studio/index.html
WebSphere Studio--www-3.ibm.com/software/webservers/studio
TogetherSoft Control Center--www.togethersoft.com
MERANT--www.merant.com/pvcs/
QNX Software Systems--www.qnx.com/
Rational Software--www.rational.com
RedHat--www.redhat.com
SuSE--www.suse.com
Object Technology International--www.oti.com/

Michael Floyd

Michael J. Floyd is the Vice President of Engineering for DivX, Inc.

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: