Programming Tools: Eclipse 3.0.1
Eclipse has set a new standard in IDEs and component-based development. Most of us get to know it as an IDE, but it can be much more. It also can be used as the basis for developing applications. Other important aspects of Eclipse are:
It is one of the first major open-source packages developed mainly by a commercial entity. IBM started the project and continues to support it.
The quality and the scope of Eclipse sets a new standard in programming environments and raises the expectations for other open-source packages. It will be tough to follow, especially for the normal one- or two-person developer teams found in the Open Source community.
Eclipse has been designed from the ground up to be a feature-based system. It's design uses the idea of plug-in features as the aspects of what the user sees. For a programmer, this means an IDE. For a normal business user, this means applications that run on top of the Eclipse platform.
Eclipse's modular design is based on its feature sets. A feature set is made up of one or more plugins. Plugins are made up of one or more code components. Features are added to the Eclipse platform using either its built-in installer or a more usual external installer.
Many systems and APIs provide many of the tools necessary to develop applications or serve as programming tools. In the Open Source community, Eclipse is the first to do it on a comprehensive scale. Perhaps, only Microsoft's .NET concept on Windows comes close. The advantage of Eclipse is it is platform-independent.
Eclipse is written in Java, but it does not come with a built-in Java Runtime Environment (JRE). Thus, you need to have Java installed. To work with Eclipse 3.0+, the JRE must be version 1.4 or higher.
Installing Eclipse is easy. Simply unzip the downloaded file and the Eclipse system resides in the eclipse subdirectory.
Eclipse's update process puts each new version in its own subdirectory. The subdirectory includes the version number in its name. This allows multiple versions to be resident at the same time, without cross-pollution among versions.
Eclipse's installer allows implementers to mark features as optional. Users then can elect whether to include them in their Eclipse environments. Such optional features can be installed later, if the occasion calls for doing so.
Finally, Eclipse has a built-in update feature that you can run at any time. You can use it to update both Eclipse and any of its feature sets.
A useful set of wizards in the Eclipse package can create many project types. The Help -> Cheat Sheet mechanism worked quite well for me. With it, I could create skeleton Java applications, Java applets, plugins, CVS tasks and SWT applications.
As shown in the two screen snapshots below, Eclipse uses multipaned tabbed windows. The views shown depend on the action being taken. For example, the default view for files is an editor window is geared to the type of file. For building Eclipse's form of a build file, a build view is shown.
Although Eclipse was written in Java and has a well-developed Java IDE, I was curious to see how it would work with languages other than Java and C++. A feature currently in beta testing, pydev, provides a Python IDE within the Eclipse platform. Given the beta nature of pydev, incorporating it into the Eclipse platform went quite well. I tested pydev on some projects I am developing, and it worked adequately. In the future, the promise of Eclipse and its rich set of features makes it a viable contender for a Python IDE.
During my evaluation of Eclipse, I noticed both some problems and some neat features. None of these are show stoppers, but you might as well know what I ran into.
The Help viewer did not allow me to change the font size. On my notebook, this made reading the help files difficult.
The Help viewer did not tell me which files were being viewed. That is, I could not see the path names. This made it difficult to use alternative viewers. (See the previous point.)
Tool tips often appeared to the right of the item over which the cursor was hovering. This made the tool tip unreadable when the item was at the right edge of the screen, because the tip was truncated and the cursor covered the rest; for example, the maximize button on the Help viewer.
The default text editor did not support a word-wrap option. This meant I could not write this column using the default text editor. Also, I tried to define the default TXT editor as KDE's kate, but that had no effect. In fact, I could no longer edit any TXT file in the IDE. Opening an external file went into the bit bucket. I did recover, but it was a trip.
The Search -> File facility was limited to workspaces. I needed to go to the command line to search for a string in any file.
The Go Forward and Go Back on the Help viewer did not work as expected. I needed to click on the Content Tree to get to the next topic.
When I started to create a new project, I found that the creation dialog box was modal, and I was unable to move around the Help system. The Help system should be independent of the modality of the rest of Eclipse.
CVS currently is the only built-in source code control system.
I found some missing help files for the SWT examples. Some of the Cheat Sheets were missing steps. Also, a only a limited number of Cheat Sheets are included.
Icons on tabs are useful. For example, the left icon gives the file's full path when editing a text file. The right icon allows you to close that view.
Use of tasks and markers are neat. Select any line in a resource, and you can create a task associated with that line or resource.
The history log is a poor man's simple source code control system. It doesn't really replace CVS, but it is fine for a series of changes that you have saved but not yet checked into CVS.
A rich set of build files and options are generated for the ANT build system.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Tech Tip: Really Simple HTTP Server with Python
- SUSE LLC's SUSE Manager
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- Returning Values from Bash Functions
- Doing for User Space What We Did for Kernel Space
- Rogue Wave Software's Zend Server
- Google's SwiftShader Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide