Eclipse (software)

[6] Eclipse is written mostly in Java and its primary use is for developing Java applications,[7] but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, HLASM,[a] JavaScript, Julia,[9] Lasso, Lua, NATURAL, Perl, PHP, PL/I,[a] Prolog, Python, R, Rexx,[a] Ruby (including Ruby on Rails framework), Rust, Scala, and Scheme.

Eclipse was inspired by the Smalltalk-based VisualAge family of integrated development environment (IDE) products.

[11] Although fairly successful, a major drawback of the VisualAge products was that developed code was not in a component-based software engineering model.

A team primarily at the IBM Cary, North Carolina, lab developed the new product as a Java-based replacement.

[14][failed verification] In November 2001, a consortium was formed with a board of stewards to further the development of Eclipse as open-source software.

[17] Eclipse 3.0 (released on 21 June 2004) selected the OSGi Service Platform specifications as the runtime architecture.

[18] The Association for Computing Machinery recognized Eclipse with the 2011 ACM Software System Award on 26 April 2012.

These were followed by two sun-themed names, Helios of Greek mythology, and Indigo, one of the seven colors of a rainbow (which is produced by the sun).

The version after that, Juno, has a triple meaning: a Roman mythological figure, an asteroid, and a spacecraft to Jupiter.

[85] In addition to allowing the Eclipse Platform to be extended using other programming languages, such as C and Python, the plug-in framework allows the Eclipse Platform to work with typesetting languages like LaTeX[86] and networking applications such as telnet and database management systems.

[87] Eclipse provides plug-ins for a wide variety of features, some of which are from third parties using both free and commercial models.

The following components constitute the rich client platform: Examples of rich client applications based on Eclipse are: Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of installing the required server (for development) directly from the IDE.

It supports remote debugging, allowing a user to watch variables and step through the code of an application that is running on the attached server.

It includes source and graphical editors for a variety of languages, wizards and built-in applications to simplify development, and tools and APIs to support deploying, running, and testing apps.

Mylyn can integrate with repositories such as Bugzilla, Trac, Redmine, Mantis,[92] JIRA, Unfuddle,[93] and GitHub.

By making task context explicit, Mylyn is also meant to facilitate multitasking, planning, reusing past efforts, and sharing expertise.

[97] Eclipse supports a rich selection of extensions, adding support for Python via PyDev, Android development via Google's ADT (superseded by Android Studio since 2015), JavaFX via e(fx)clipse, JavaScript, jQuery, and many others at the Eclipse Marketplace.

It leverages the existing Eclipse Web Tools Platform (WTP) and Dynamic Languages Toolkit (DLTK).