Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Development
    • Development
    • Servers

    Eclipse Europa Needs Some Polishing

    Written by

    Justin Vandegrift
    Published August 30, 2007
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      Eclipse Europa Needs Some

      Polishing”>

      The Eclipse project has matured as a solid IDE, but the latest version—Europa Release 3.3—is a bit rough around the edges.

      By now, you have probably heard of Eclipse, and if you havent used it for yourself, you are likely to know someone who has. IBMs Object Technology International group released Eclipse as open source in 2001, and it has since matured into a premier development environment that is the IDE of choice for many professional software developers. While in most engineering offices the dominant platform continues to be Microsofts Windows, and the dominant development tool Microsofts Visual Studio, Eclipse has incrementally edged its way into the mainstream. It is now quite common to find Eclipse users interspersed among the coding masses.

      The Eclipse community consists of more than 60 distinct projects, many of which are plug-ins that extend the capabilities of the platform. Updates from these projects are organized as yearly “simultaneous releases,” for which packages are bundled into separate tool kits. This years release, Europa, consists of five separate tool kits: Java, Java EE, C/C++, RCP and Eclipse Classic. The tool kits can be downloaded for free from the Eclipse Foundations Web site.

      What I Reviewed

      As a C/C++ developer with a Windows background, I primarily write embedded code for mobile platforms. So when selecting a package appropriate for my needs, I naturally reached for the C/C++ IDE from the Eclipse Web site and then installed it on an x86 computer running Windows XP.

      After downloading, installing and building a few simple console applications, I used the Software Updates feature from the Eclipse Help menu to install the Ruby Developers Toolkit, or RDT. This essentially equipped me with all that I needed to develop, compile and test my production C code and to edit the library of Ruby scripts that I use for analyzing and formatting test data.

      Installation

      As is often my experience with open-source software, the “environment” did not work immediately after the initial installation—that is, it would not compile a simple C program. Eclipse is based on the GCC (GNU Compiler Collection) compiler, and the Windows version of the installer does not include the compiler in the standard package. This is an annoyance but is not insurmountable. The recommended GCC installations for Windows are MinGW (Minimalist GNU for Windows) and Cygwin. I opted for MinGW. After downloading and installing it—then manually setting up some environment variables, then rebooting, then selecting the “internal builder” for “builder type” in the project properties—I finally had Eclipse running and compiling code.

      Even smart IT people do stupid things. Check them out here.

      Needless to say, the installation procedure was rather unpolished, involving far more manual installation and configuration steps than a professional-grade application installer should require. There really is no reason why the installer on the Eclipse Foundations Web site shouldnt include all dependent packages (GCC) or why the default project options shouldnt be set in a way that will compile code (Internal/External Builder Type). Nothing leaves a more sour taste in a Windows users mouth than an application not working properly, or requiring additional manual configurations, after clicking finish on the installation wizards final panel.

      Framework Particulars

      If you have a Visual Studio background, one of the first things that takes some getting used to in Eclipse is the work space model. In Eclipse, the work space is closely coupled with the systems directory structure. In fact, a work space is defined by specifying a top-level directory that houses all its contents. Every subdirectory and file contained therein is, by default, part of the work space.

      A work space can contain multiple projects, but the files associated with these projects must be organized into different subfolders. This constraint is somewhat annoying, as it dictates how you must organize the location of your source. For example, files shared among the projects must be kept in a folder that is included in every project, which may break some natural associations that those shared files have with other project-specific items. Comparing this with a Visual Studio paradigm, in which source files can exist wherever you want them to, any constraint imposed on your organizational method feels unnecessarily restrictive.

      Page 2: Eclipse Europa Needs Some Polishing

      Why It Is Cool

      Why It Is Cool

      Eclipses most powerful feature is its extensibility: Because Eclipse is a broad collection of projects, there are a wide variety of packages available that plug into Eclipse and extend its capabilities. One example is the CVS client that installs with the standard package. Unlike other plug-ins, the CVS client is easily configured, and after a few simple clicks, it works properly and can be used to check out code from your favorite CVS repository. The interface is extremely easy to use, giving good visibility into the entire repository via a file navigator widget. Once projects are checked out locally, CVS features such as compare and commit are made available by right-clicking on the file icons in the work space navigator. The entire interface is integrated seamlessly into Eclipses front end, and it is implemented in a way that is far superior to other attempts at the same, such as SlickEdit 2007, which spawns a separate CVS interface window from a drop-down menu option. The Eclipse CVS client is easily one of the best such clients available for Windows today.

      The Eclipse text editor is also a very polished component of the IDE. Its smart line selection and Auto Syntax Completion are similar to Slick Edit 2007 in many ways. Quick access to its menu of keyboard shortcuts is available through a pop-up that can be invoked by pressing Ctrl+Shift+L. This Key Assist feature gives a two-column overview of Eclipses standard editor features.

      My favorite of these is Open Call Hierarchy, or Ctrl+Alt+H, which opens in the lower frame of the docked IDE layout. The call hierarchy of a selected function is displayed as an expandable tree, providing powerful visualization into your application. After discovering this, I found myself relying on it to quickly navigate through my source code layers and complex call stacks.

      Other cool features are Move Lines (Alt+Arrow), which shuffles lines up and down, and Find Declaration (Ctrl+G), which lets you jump to the definition of a variable, structure or function.

      Some of Eclipses default configuration choices are difficult to understand. For example, by default, the build command does not save all files prior to compiling. What developer wants to manually save each unsaved file he or she has edited prior to executing the build command? The option to enable this is not easy to find, either– from the Window menu, you have to select Preferences, then General, then Workspace. Then you have to check the appropriate box on the configuration panel to enable auto-save on build action.

      Eclipse also defaults the builder type to External Builder, which, unless configured, does not work with the system GCC installation. To switch to the internal builder, you must select it through the project properties C/C++ build panel.

      Dark Side of the Moon

      While exploring the different options accessible from the menu bar, Eclipse twice hit run-time errors. And, in both cases, error dialog boxes popped up that required canceling. But error dialog boxes were only a harbinger of even more gruesome horrors.

      After creating a work space, and adding a few projects to it, I installed the Ruby plug-in. After installing the plug-in, Eclipse did not open the previously loaded work space automatically, as it had done every time previously. Instead, I had to use the “import” feature to open the work space. But, upon doing so, Eclipse began recursively copying the entire work space contents into subdirectories. The result was an application hang in the import wizard and a long path containing copies, and copies of copies, of folders, source and project files. Worse still, the path length exceeded the Windows max path length spec, which blocked me from being able to delete the content.

      Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.

      Justin Vandegrift
      Justin Vandegrift

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×