Eclipse

From "A B C"
Jump to navigation Jump to search

Eclipse


This page is a placeholder, or under current development; it is here principally to establish the logical framework of the site. The material on this page is correct, but incomplete.


Eclipse is an open source IDE (Integrated Development Environment) with an extensible plug-in system. While it was initially focused on Java, it supports compiled languages such as C/C++ and interpreted languages such as Perl, Python and PHP and even R.



Introductory reading

IDE (Integrated Development Environment)



Overview


Installation

  1. Navigate to http://www.eclipse.org/downloads/
  2. You will find a large number of download options, but since the sytem has an extensible architecture, what you download initially does not constrain what plugins to add in the future. Choices include preconfigured versions for Java or C/C++, or the "Classic" version without plugins. I choose C/C++ to continue. The contents of the packages are compared on http://www.eclipse.org/downloads/compare.php and include
    1. RCP - the Rich client platform: a framework to easily add windows, menus, GUIs and many other extensions to applications.
    2. CVS - Concurrent Versions System: support for a projects code repository, and revision control.
    3. EGit - The Eclipse version of Git: a software source control system that is currently preferred by many over CVS.
    4. Mylyn - Mylyn: a task management system that focuses views on a problem on tasks such as feature development or bug tracking.
    5. Linux tools that include memory allocation and speed profiling tools.
Many of these will not be crucial to the one-off programming tasks in our field, but awareness of best practices in professional software engineering , and the potential to use them when required is a clear benefit in any case.
  1. Download, uncompress and untar the appropriate file for your system.
  2. Open the Eclipse.app to start.


Issues

  • I have not found an eclipse version for Mac G5 architecture. If anyone knows of a source I would be much obliged.

Perl Plugin

The EPIC] (Eclipse Perl Integration) plugin for Eclipse allows you to program Perl with full Eclipse support for syntax editing, and debugging. Once Eclipse , Java and Perl are installed on your system ...

  1. Start Exclipse.
  2. Use the menu to access HelpInstall New Software
  3. Enter http://e-p-i-c.sf.net/updates in the Work with: field and click add.
  4. Enter a name for your local repository ... "epic" should work just fine
  5. Wait while Eclipse negotiates with the repository. The name will be set to "pending".
  6. Once the name EPIC main components appears, check the box and click on Next.

The installer will guide you through the necessary steps. There will be a warning about installing unsigned components. This is not nice, but the manual says to ignore it. Restart Eclipse to access the new components.

The EPIC User guide is accessible through Eclipse's help menu.

Debugging

In order to view local variables while debugging, you have to download and install the Perl PadWalker module from CPAN. Open a terminal session and type

$ sudo perl -MCPAN -e shell
Password: ........
cpan> install PadWalker

[...] the code and dependencies get fetch'ed, make'd and install'ed.

cpan> exit
$

Under Unix and Mac systems this should be starightforward, under Windows I assume you have to work through Cygwin.

Of course, you have to use the module in your code - simply start it something like this.

#!/usr/bin/perl
use strict;
use warnings;
use PadWalker;

... etc.

R plugin

The Eclipse plugin for R is called StatEt. Navigate there and follow the installation instructions. Versions depend on the R version that has been installed, and you also need to install the correct version of R package rj. This was reasonably straightforward when I tried it. However I could not identify that this plugin also supports debugging - nor to make it print or plot anything. I assume this can be done, but for now the interfaces in R itself appear more suitable.


Exercises



References



Further reading and resources

[...]