Eclipse development environment

Eclipse was originally developed by IBM as a successor to the IBM VisualAge development environment, as a corporate IDE standard for development on different languages for IBM platforms. According to IBM, design and development cost $40 million. The source code was fully open sourced and made available after Eclipse was made available to further development community independent from IBM.

Eclipse 3.0 (2003) adopted the OSGi service platform specifications as the runtime architecture. Since version 3.0, Eclipse has ceased to be a monolithic IDE that supports extensions, and itself has become a collection of extensions. It is based on the OSGi and SWT/JFace framework, on the basis of which the next layer is developed - RCP (Rich Client Platform, a platform for developing full-fledged client applications). RCP serves as the basis not only for Eclipse, but also for other RCP applications such as Azureus and File Arranger. The next layer is Eclipse itself, which is a set of RCP extensions - editors, panels, perspectives, the CVS module and the Java Development Tools (JDT) module.

Since 2006, the Eclipse Foundation has coordinated an annual Simultaneous Release, which occurs in June. Each release includes the Eclipse platform as well as a number of other Eclipse projects.

Eclipse primarily serves as a platform for developing extensions, which is why it has gained popularity: any developer can extend Eclipse with his own modules. There are already Java Development Tools (JDT), C/C++ Development Tools (CDT), developed by QNX engineers together with IBM, and tools for Ada languages ​​(GNATbench, Hibachi), COBOL, FORTRAN, PHP, etc. from various developers. Many extensions complement the Eclipse environment with managers for working with databases, application servers, etc.

Eclipse JDT (Java Development Tools) is the most famous module aimed at group development: the environment is integrated with version control systems - CVS, GIT in the main package, there are plugins for other systems (for example, Subversion, MS SourceSafe). Also offers support for communication between the IDE and the task (error) management system. The main package includes support for the Bugzilla bug tracker, and there are also many extensions to support other trackers (Trac, Jira, etc.). Because it is free and of high quality, Eclipse is the corporate standard for application development in many organizations.

Eclipse is written in Java, therefore it is a platform-independent product, with the exception of the SWT library, which is developed for all common platforms (see below). The SWT library is used instead of the standard Java Swing library. It rests entirely on the underlying platform ( operating system), which ensures fast and natural appearance user interface, but sometimes calls different platforms Application compatibility and stability issues. The basis of Eclipse is the rich client platform (RCP). It consists of the following components:

OSGi (standard bundles delivery environment);

SWT (portable widget toolkit);

JFace (file buffers, working with text, text editors);

Eclipse work environment (panels, editors, projections, wizards).

GUI in Eclipse, written using the SWT toolkit. The latter, unlike Swing (which independently emulates graphical controls), uses the graphical components of this operating system. The Eclipse user interface also depends on a GUI middleware called JFace, which makes it easy to build an SWT-based user interface.

Eclipse's flexibility is ensured by plug-ins, which makes it possible to develop not only in Java, but also in other languages, such as C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Component Pascal, Zonnon and others.

Without going into a discussion of the question of whether programming is an art or a craft, we admit: in both cases, a programmer cannot do without tools for creating programs. Along with the evolution of the programming process (from “witchcraft” over machine commands to the use of high-level languages), the possibilities of automating the hard work of programmers have also improved. Early development environments were limited to running compilers, linkers, loaders, and debuggers sequentially using an interface command line. In the 80s, along with personal computers, a market appeared software products a new class - integrated development environments (IDEs) for algorithmic (Pascal, etc.) and then object-oriented (Smalltalk, C++) programming languages. Real flourishing this area achieved thanks to active adaptation by developers Java language; The most well-known integrated environments for creating programs in this language are Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge and Oracle JDeveloper.

The main purpose of an IDE is to increase developer productivity. The first development environments, which combined the functionality of program text editors, compilers and debuggers, primarily freed consumers from routine operations. Over time, the IDE's feature set became richer. It included step-by-step compilers, browsers for a more logical presentation of programs, automatic code generation tools, and visual editors for creating graphical user interfaces. Following the trends of the times, development environments have transformed from tools for increasing programmer productivity into means of supporting all stages of collective work on a software project. The latest trend is the transformation of IDE into ALM (application lifecycle management), an integrated application lifecycle management system - from requirements definition and modeling to configuration and software version management, deployment and maintenance of the finished solution.

Each new stage in the evolution of IDEs has made development environments more complex. However, users of such products were still forced to resort to tools not integrated into the IDE, if only because creating an application is not limited to writing and debugging programs in a single programming language. The need to use, for example, HTML pages, relational database schemas, or pieces of code in other languages ​​(like Cobol or PL/1) in the application system forces developers to use the appropriate tools that were not originally included in the IDE.

This is why many commercial development environment vendors strive to make them as open as possible and provide special mechanisms for integrating external tools. But no single environment can satisfy all possible user requirements. To do this, it must be completely neutral to the programming language and support the maximum set of functions. Eclipse is not such an environment, but it is a base, a platform with which you can build multifunctional and multilingual development environments.

Platform

As the initiators of the Eclipse project explain, its idea was to create “Apache for development tools” - an open platform that provides maximum basic capabilities for development environments and provides mechanisms for integrating various tools. The first version of this platform was developed by IBM and released in open source at the end of 2001. Commercial implementations based on Eclipse soon began to emerge, pioneered by WebSphere Studio Application Developer 4.0. There is now an entire open source development ecosystem around Eclipse, bringing together tool vendors and users, research organizations and individual developers.

In the official Eclipse Foundation docs ( www.eclipse.org The Eclipse Platform is defined as a vendor-neutral, open development platform that provides framework, exemplary, and extensible capabilities. tools. The toolkit within the Eclipse Platform is standard in the sense that it verifies the applicability of the basic capabilities of the platform, illustrates typical situations of their use, and supports the development and maintenance of the Eclipse platform itself. The toolkit is extensible because its functionality is available through documented software interfaces. The basic principles that guided the creators of the Eclipse Platform and according to which it continues to develop are as follows:

  • support for the construction of application development tools;
  • support for an unlimited number of tool vendors, including independent software developers;
  • support for tools for working with arbitrary content types, including HTML, Java, C, JavaServer Pages, EJB, XML, GIF, etc.;
  • ensuring “seamless” integration of tools for working with various types content from different manufacturers;
  • support for application development environments with regular and graphical user interfaces;
  • providing the ability to run a development environment based on different operating systems (today, Eclipse-based tools are implemented for Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
  • taking into account the popularity of the Java language when creating development tools in the interests of platform development.

The Eclipse Platform is a development environment written in Java for general purpose, the architecture of which provides the integration of various tools and programming languages ​​to solve various problems. Mechanisms of such integration allow you to use the Eclipse Platform to build advanced development environments and free you from the writing routine basic funds in favor of creating complex, specialized functions. This not only solves the problem of supporting multifunctional and multilingual development environments, but also lays the foundation for simplifying the transition from one type of environment to another in the process of their evolution. Developed by a community of developers, the Eclipse platform will accumulate the latest advances, making them available to developers of specific products and eliminating the need to fundamentally redesign their systems.

Wednesday Eclipse development

The basis of the Eclipse Platform architecture is the principle of using plug-ins. The platform implements mechanisms for detecting, integrating and executing such modules (see figure). A developer who wants to take advantage of the capabilities of the Eclipse Platform writes his toolkit in Java as a separate plug-in module. This module will work with files in a workspace, which is implemented using the workspace component. And its user interface is based on the workbench component, which defines the general structure of the interface and the possibility of its expansion.

Typically, a single plug-in implements the simplest functionality of an Eclipse Platform-based IDE, while more complex tools are composed of multiple modules. At the same time, almost all the built-in functionality of the Eclipse Platform is also implemented using such modules - with the exception of the small Platform Runtime kernel. Each plug-in module has its own manifest file, which describes the connections of this module with others. When you start an Eclipse Platform-based development environment, the Platform Runtime component determines the set of available plug-ins, reads their manifest files, and builds a plug-in registry. Once the system has started, additional modules can no longer be added. The Eclipse project has implemented a special environment for creating plug-ins - Plug-In Development Environment (PDE).

Using special modules, the components of the workspace and user interface (workbench) of the Eclipse platform are implemented. The workspace contains files that are created by users of tools implemented by plug-ins. The workbench component provides a general structure and tools that allow you to expand the capabilities of the user interface of the development environment based on the Eclipse Platform, and includes two components for implementing tools for providing information to the user.

  • Standard Widget Toolkit (SWT) is a set of interface elements and a graphics library that have mechanisms for integration with the window system of a specific operating platform, but implement APIs that are independent of the OS. This makes it possible to build user interfaces of the development environment according to uniform principles, which correspond to the window environment familiar to the consumer, but are intended for the widest possible range of operating systems;
  • JFace is a toolkit for implementing a number of common tasks related to programming interfaces using SWT tools.

Based on the APIs provided by the SWT and JFace components, a personalized user interface is built that determines the structure of consumer interaction with the development tools. The Eclipse Platform interface is organized using editors, views, and perspectives.

The purpose of editors is to open, edit and save workspace objects. The platform has a built-in editor for text resources, and other features must be implemented as plug-ins. Views provide information about the object the user is working with this moment. Finally, the perspective mechanism allows you to select and organize necessary editors and the views that will be displayed on the screen.

Organization

There are a number of benefits to running open source projects. Thus, one of the tasks of such a platform is to provide developers with tools from a common base, invariant for different development environments. Why does every manufacturer need to re-write something that can be written once? But in order to build their developments on such a platform, the manufacturer must completely trust the one who created it. And this is only possible if he is able to try out everything that is included in it, that is, get an open source platform.

Developing a product in accordance with Open Source principles improves the quality of the code, since it is polished together by many interested developers. Debugging becomes easier and better - thanks to access to the source code of the program and, again, the involvement of a distributed team in the work. Collaborative work allows us to share the risks of creating complex technologies. And the collective development body of the platform ensures its support regardless of the vicissitudes that may occur with suppliers of specific development environments. Finally, using an open source development platform with a flexible plug-in mechanism to implement additional functionality opens up unlimited possibilities for its improvement.

Eclipse Platform Architecture

However, it will not be possible to realize the benefits of the open source development model by simply releasing a technical platform “free-floating.” We need to organize the process. With the release of the first version of Eclipse in 2001, a consortium organized by IBM along with a number of leading market players took on this responsibility, and in February 2004, the Eclipse Board of Directors decided to transform the Eclipse Foundation into a non-profit, independent corporation.

The Eclipse Foundation, a consortium of more than 60 companies, coordinates efforts to improve the Eclipse platform and other open source projects.

The Eclipse project is completely open and any interested developer can participate in it, who does not have to be an employee of any company. In principle, everyone can not only be interested in the details of development and contribute to identifying errors, but also take part in writing code and the overall design of the next version of the platform. However, Eclipse follows the principle of putting professionalism first. A developer with a proven professional reputation can count on additional responsibility and the opportunity to actively implement their skills in Eclipse projects. Some developers are defined as “committers” because they are responsible for the source code and only they have the right to create new versions in the open source code repository. Typically, these developers are employees of companies that pay them for their work on Eclipse projects.

The development process is iterative, aimed at maximizing the involvement of members of the Eclipse community in working on the project. The release of the next release is preceded by several stages of a fixed duration (about several weeks), each of which represents a complete cycle, including planning, development, testing and intermediate release of the version. The completion of the next cycle is accompanied by an open publication of a description of the new capabilities of the system, which stimulates community members to discuss, use and make recommendations for improvement. As a result, in the next stages of development it becomes possible to take into account the community's reaction to the interim release. This is an open process to continuously improve the Eclipse platform and develop other initiatives based on it.

The mission of the Eclipse Technology Project is to coordinate the efforts of developers, researchers, members of scientific and educational organizations to determine the prospects for the Eclipse Platform and other open source developments. Some of the most notable research subprojects in this area include the development of aspect-oriented software (AspectJ and AJDT), the creation of an alternative kernel to the Eclipse Runtime (Equinox), the creation of a collaborative development platform (Koi), software configuration management (Stellation), toolkit for XML Schema Definition and for model-based development (Generative Model Transformer).

Community

Use of all materials generated by Eclipse projects is subject to the Common Public License (CPL) as approved by the Open Source Initiative. Under the CPL, anyone can use and redistribute Eclipse free of charge for commercial and non-commercial purposes. The following are freely available on eclipse.org:

  • current versions of the Eclipse Platform for direct use (in binary form);
  • a source code repository in which anyone can view the contents and revision history of any source file, as well as obtain scripts for recompiling and building the Eclipse platform from source codes;
  • open discussion forums to discuss the Eclipse Platform;
  • bug database to track defects and issues in current versions of the platform. Using this database, users can identify known defects in their Eclipse-based developments and publish new problems they discover;
  • development plans and contacts for developers involved in Eclipse projects.

Today on eclipse.org freely available - more than a hundred plug-ins in source codes for the Eclipse platform. Eclipse's open source projects total more than 2 million lines of code.

Key to market development software development has participation in the Eclipse project of commercial companies. With the Eclipse Platform, they have pre-built core development environment services that are language- and operating-platform-neutral and can focus their efforts and investments on developing the complex functionality that will make their solutions competitive. There are examples of Eclipse-based implementations of both full-featured development environments that promote the most advanced solutions in this area, as well as specialized tools aimed at a specific range of tasks.

Thus, all products of the IBM Rational family run on the Eclipse platform. Borland intends to migrate all of its support tools to Eclipse life cycle applications. There is an Eclipse version of QNX's embedded application development tools; similar project is also sold by Wind River. In turn, Hewlett-Packard offers an Eclipse-based component development environment for its Internet Usage Manager system, the target audience of which is telecom operators. Nokia has announced support for Eclipse as a mobile application development platform. IBM has implemented a special toolkit, Autonomic Computing Toolkit, based on Eclipse, designed to support autonomous computing technologies in developed applications. Of all the world's leading software manufacturers, only Sun Microsystems and Microsoft do not cooperate with the Eclipse Foundation.

Vendors of commercial Eclipse-based environments allow independent development companies to sell plug-ins for their IDE, and it is common for a company to sell the same proprietary plug-in for different Eclipse-based environments. This is not only a method of developing new markets, but also another way to increase the significance of the project. Users value freedom of choice: if they are not satisfied with the existing functionality of an environment based on an open source platform, they can expand it through self-development or by purchasing commercial solutions of the same format.

These groups use Eclipse developments in different ways, but they all contribute to their development. The trend is to use the Eclipse platform to build non-IDE applications. This is possible because there are not many development environment-specific elements in the Eclipse Platform technology solution. In the third version of Eclipse, there is an evolution from a platform for development environments to a platform for implementing full-featured client workstations (Rich Client Platform). It is no coincidence that IBM implements its promising Workplace collaboration environment based on Eclipse.

Literature

  1. Marc R. Erickson, Angus McIntyre. , 2001, November.
  2. J. dea Rivieres, J. Wiegand. Eclipse. A platform for integrating development tools. IBM Systems Journal, 2004, No. 2.

Eclipse Organization Structure

Coordination of Eclipse development and participation in open source projects of various organizations and individual developers is carried out by the non-profit independent consortium Eclipse Foundation

The Eclipse Foundation Board of Directors is composed of four main categories of members:

  • strategic developers (Strategic Developers) - companies Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems;
  • strategic consumers (Strategic Consumers) - HP, Montavista Software, SAP, Serena Software;
  • included suppliers (Add-in Providers);
  • Open Source project leads.

All strategic developers and strategic consumers are on the board of directors, and the other two groups delegate their representatives to it. Strategic members of the consortium also have certain rights to participate in project management committees and Councils that coordinate development processes.

The consortium runs several basic open source projects, which include a varying number of subprojects. The base project is managed by the Project Management Committee (PMC). To manage the development as a whole, three main councils are created - the Requirements Council, the Architecture Council and the Planning Council.

The Requirements Board analyzes and structures project requirements. They combine requirements aimed at achieving the general goals of the Eclipse Foundation and the specific goals of the project, solving the problems of key consortium members and developing the Eclipse ecosystem. Based on the analysis, a list of topics and priorities is formulated that will determine the course of development. The Architecture Board is responsible for developing the architecture of the Eclipse Platform, defining it clearly, communicating it to development teams, and protecting them from inadvertent misrepresentation. The Planning Council creates a coordinated platform release plan.

Projects are implemented by development teams led by project managers and including developers and responsible developers. The former are engaged in writing code, identifying errors, testing and documenting programs, and also perform other tasks within the framework of the project. Responsible developers have the right to add to the source code repository and must influence the progress of development within the project. Companies designated as Strategic Developers by the Eclipse Foundation are required to lead at least one project. They are also encouraged to lead committees.

) specifications of the OSGi service platform were chosen as the architecture of the runtime environment. Since version 3.0, Eclipse has ceased to be a monolithic IDE that supports extensions, and itself has become a collection of extensions. It is based on the OSGi framework and SWT/JFace, on the basis of which the next layer was developed - RCP (Rich Client Platform, a platform for developing full-fledged client applications). RCP serves as the basis not only for Eclipse, but also for other RCP applications, such as Azureus and File Arranger. The next layer is Eclipse itself, which is a set of RCP extensions - editors, panels, perspectives, a CVS module, and a Java Development Tools (JDT) module.

Since 2006, the Eclipse Foundation has coordinated an annual Simultaneous Release, which occurs in June. Each release includes the Eclipse platform as well as a number of other Eclipse projects.

Release date Platform version Project
Neon June 22, 2016 4.6
Mars June 25, 2015 4.5
Luna June 6, 2014 4.4
Kepler June 26, 2013 4.3
Juno June 27, 2012 3.8 and 4.2
Indigo June 22, 2011 3.7
Helios June 23, 2010 3.6
Galileo June 24, 2009 3.5
Ganymede June 25, 2008 3.4
Europa June 29, 2007 3.3
Callisto June 30, 2006 3.2
Eclipse 3.1 June 28, 2005 3.1
Eclipse 3.0 June 28, 2004 3.0

Advantages

Eclipse primarily serves as a platform for developing extensions, which is why it has gained popularity: any developer can extend Eclipse with his own modules. There are already Java Development Tools (JDT), C/C++ Development Tools (CDT), developed by QNX engineers together with IBM, and tools for the languages ​​Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT), etc. from various developers. A variety of extensions complement the Eclipse environment with managers for working with databases, application servers, and more.

Eclipse JDT (Java Development Tools) is the most famous module aimed at group development: the environment is integrated with version control systems - CVS, GIT in the main distribution, there are plugins for other systems (for example, Subversion,). Also offers support for communication between the IDE and the task (error) management system. The main distribution includes support for the Bugzilla bug tracker, and there are also many extensions to support other trackers (Trac, Jira, etc.). Because it is free and of high quality, Eclipse is the corporate standard for application development in many organizations.

Eclipse is written in Java, therefore it is a platform-independent product, with the exception of the SWT library, which is developed for all common platforms (see below). The SWT library is used instead of the standard Java Swing library. It relies entirely on the underlying platform (the operating system), which provides a fast and natural-looking user interface, but sometimes causes compatibility and application stability issues across platforms.

Architecture

The basis of Eclipse is the Rich Client Platform (RCP). rich client platform). It consists of the following components:

  • OSGi (standard environment for delivery of kits) bundles));
  • SWT (portable widget toolkit);
  • JFace (file buffers, working with text, text editors);
  • Eclipse work environment (panels, editors, projections, wizards).
    • Aperi (from lat. open) - open source system for managing network storage systems.
    • BIRT (Business Intelligence and Reporting Tools) - Web and PDF reports.
    • DTP (Data Tools Platform) - development of data-centric systems, in particular, data in relational databases; managing programs with a large number of connectors.
    • GEF (Graphical Editing Framework) is a framework for building built-in graphic editors.
    • Jazz is a client-server platform for interaction between developers during the development of a project (includes chat, event log, etc.), built on top of Eclipse (part of the IBM Rational product line).
    • Modeling .
    • Tools .
    • TPTP (Test & Performance Tools Platform) - development of testing tools, - debuggers, profilers, etc.
    • VE (Visual Editor Project) - development of GUI tools.
    • WTP (Web Tools Platform Project) - J2EE web application development tools:
      • HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD and WSDL editors;
      • graphic editors for XSD and WSDL;
      • Web Services Wizards and Explorer, WS-I Test Tools;
      • tools for accessing and building queries and database models.
    • The Eclipse Communication Framework (ECF) aims to create communication applications on the Eclipse platform.
    • Device Software Development Project (DSDP).
    • The Parallel Tools Platform (PTP) provides a portable, scalable, standards-based parallel tools platform that will facilitate the integration of tools specific to parallel computer architectures.
    • Embedded Enhanced Client Platform (eRCP) - designed to extend RCP to embedded devices. eRCP includes a set of components that are a subset of RCP components. It will allow you to transfer the application model used on desktop computers to other devices.
    • DLTK (Dynamic Languages ​​Toolkit) is an integrated developer environment for dynamic programming languages.
    • Swordfish is a platform for building distributed corporate information systems.

    Latest versions

    Eclipse 3.3.2 (Europa Winter)

    The number of new subprojects (both managed by the Eclipse Foundation and third parties) is growing rapidly. We have to coordinate the efforts of a huge number of developers and propose common rules - “Eclipse Development Process”.

    The latest version of the release includes 21 subprojects.

    Eclipse 3.4 (Ganymede)

    The Ganymede release (06.2008) includes 23 subprojects:

    • Eclipse Project 3.4
    • Equinox 3.4
    • Eclipse Communication Framework Project 2.0.0
    • Eclipse Model Framework Technology
    • Eclipse Modeling Framework 2.4.0
    • Eclipse Packaging Project 1.0.0
    • Eclipse Web Tools Platform Project 3.0.0
    • Graphical Editor Framework 3.4.0
    • Graphical Modeling Framework 2.1
    • Model Development Tools. 1.1
    • Data Tools Platform (DTP) 1.6
    • Device Software Development Platform Project Device Debugging 1.0
    • Device Software Development Platform Project Target Management 3.0
    • Buckminster Component Assembly 1.1
    • BIRT 2.3.0
    • C/C++ Development Tool (CDT) 5.0.0
    • Dynamic Languages ​​Toolkit 0.95
    • Model to Text (M2T) 0.9.0
    • Model-to-Model Transformation (M2M)
    • Mylyn 3.0 (task-focused UI)
    • Rich Ajax Platform (RAP) 1.1
    • SOA Tools (STP) 1.0
    • Subversive - SVN Team Provider
    • Target Management 3.0
    • Test and Performance Tools Platform Project 4.5.0

    Eclipse 3.5 (Galileo)

    The latest release of Galileo, presented to the public on June 24, 2009, includes 33 subprojects:

    • Eclipse Platform 3.5
    • Eclipse Project 3.5.0
    • Eclipse Modeling Framework (EMF) 2.5.0
    • Eclipse Packaging Project 1.1.0
    • Eclipse Web Tools Platform Project WTP 3.1.0 (Galileo)
    • EclipseLink Project 1.1.2
    • Accessibility Tools Framework 0.7.0
    • Business Intelligence and Reporting Tools (BIRT)
    • C/C++ Development Tooling (CDT) 6.0
    • Dali Java Persistence Tools 2.2
    • Data Tools Platform 1.7 (Galileo)
    • Dynamic Languages ​​Toolkit 1.0
    • Equinox 3.5
    • GEF - Graphical Editor Framework 3.5.0
    • Graphical Modeling Framework 2.2.0
    • Java Workflow Tooling JWT 0.6
    • JDT - Java development tools
    • M2T JET (Java Emitter Templates) - aka JET2 M2T JET 1.0.0 (Galileo)
    • Memory Analyzer 0.8.0
    • Mobile Tools for Java
    • Model To Text (M2T) 1.0.0
    • Model-to-Model Transformation (M2M) Galileo Simultaneous Release
    • Monitoring Tools 4.6
    • Mylyn 3.2
    • PHP Development Tools 2.1.0
    • Rich Ajax Platform 1.2
    • Riena Platform Project 1.1.0.
    • SCA Tools 2.0.0
    • SOA Tools 2.0
    • Source Editing 3.1.0 (Galileo)
    • Swordfish 0.9.0
    • Target Management 3.1
    • Test and Performance Tools Platform Project 4.5.3
    • Testing Tools TPTP v4.6
    • Textual Modeling Framework org.eclipse.xtext
    • Tools for mobile Linux 0.3
    • TPTP Platform TPTP v4.6
    • Tracing & Profiling Tools TPTP v4.6

    Localization

    Since version 3.1.1, released language pack for Russification of Eclipse. Translated into Russian as GUI, and documentation.

    Modules

    There are a number of free and commercial modules available for the Eclipse environment. The framework was originally designed for the Java language, but there are now numerous extensions to support other languages:

    Language Module
    /C++ CDT
    Fortran Photran
    Perl EPIC
    PHP PDT
    JavaScript JSEclipse
    Python PyDev (Eclipse) ( English)
    Ruby RDT
    1C V8 1C:Enterprise DT

    To develop and obtain reports and development of analytical BI applications in Eclipse there is BIRT Project ( English).

    Eclipse has built-in functionality for installing and updating modules over the Internet.

    Popular applications based on SWT and RCP

    Supported architectures and systems

    • HP-UX (HP9000/Motif)
    • Linux (x86, x86-64, PPC, IA-64 /GTK 2)
    • Linux (x86/Motif)
    • Solaris 8 (SPARC/GTK 2, Motif)
    • QNX (x86/Photon)
    • Microsoft Windows (Win32, Win64)
    • Android (ARM)

    Write a review of the article "Eclipse (development environment)"

    Notes

    1. Darryl K. Taft.(English) . ??? (May 20, 2005). Retrieved September 3, 2009. .
    2. (English) . Official site. Retrieved September 3, 2009. .
    3. (English) . Retrieved September 3, 2009. .
    4. (English) . Official site. Retrieved September 3, 2009. .
    5. (English) . Eclipse documentation. Official site. Retrieved September 3, 2009. .
    6. (English) . Eclipse documentation. Official site. Retrieved September 3, 2009. .
    7. (English) . Official site. Retrieved September 3, 2009. .
    8. Sergey Golubev.. ??? (November 15, 2005). Retrieved September 3, 2009. .
    9. (English) . Official site. Retrieved September 3, 2009. .
    10. (English) . Official site. Retrieved September 3, 2009. .
    11. (English) . Official site. Retrieved September 3, 2009. .
    12. (English) . Retrieved September 3, 2009. .
    13. Vladimir Paramonov.. Compulenta (January 31, 2007). Retrieved September 3, 2009.
    14. (English) . Official site. Retrieved September 3, 2009. .
    15. (English) . Official site. Retrieved September 3, 2009. .
    16. (English) . Official site. Retrieved September 3, 2009. .
    17. (English) . Official site. Retrieved September 3, 2009. .
    18. (English) . Official site. Retrieved September 3, 2009. .
    19. (English) . Official site. Retrieved September 3, 2009. .
    20. . Official site. .
    21. (English) . Official site. Retrieved September 3, 2009. .
    22. (English) . Official site. Retrieved September 3, 2009. .
    23. (English) . Official site. Retrieved September 3, 2009. .
    24. (English) . Official site. Retrieved September 3, 2009. .
    25. (English) . Official site. Retrieved September 3, 2009. .
    26. (English) . Official site. Retrieved September 3, 2009. .
    27. (English) . Official site. Retrieved September 3, 2009. .
    28. (English) . Official site. Retrieved September 3, 2009. .
    29. (English) . Official site. Retrieved September 3, 2009. .
    30. (English) . Official site. Retrieved September 3, 2009. .
    31. (English) . Official website (June 2007). Retrieved September 3, 2009. .
    32. (English) . Official site. Retrieved September 3, 2009. .
    33. (English) . Official site. Retrieved September 3, 2009. .
    34. (English) . Official site. Retrieved September 3, 2009. .
    35. (English) . Official site. Retrieved September 3, 2009. .
    36. (English) . Official site. Retrieved March 24, 2011. .
    37. (English) . . Retrieved September 3, 2009. .
    38. (English) . Official site. Retrieved September 3, 2009. .
    39. (English) . ???. Retrieved September 3, 2009. .
    40. Josh Fet.(Russian) . ??? (June 2008). - Installing PyDev in Eclipse. Retrieved September 3, 2009. .
    41. (English) . ???. Retrieved September 3, 2009. .
    42. (10.04.2015).
    43. (Russian) . ???. Retrieved September 3, 2009. .
    44. (English) . . Retrieved September 3, 2009. .
    45. (English) . . Retrieved September 3, 2009. .
    46. (English) . ???. Retrieved September 3, 2009. .
    47. (English) . ???. Retrieved September 3, 2009. .
    48. (English) (inaccessible link - story) . ???. Retrieved September 3, 2009. .
    49. (English) . ???. Retrieved September 3, 2009.

    Links

    • (English)
    • (English)
    • (English) - Documentation for Eclipse SDK
    • (English)
    • (English)
    • (English) - Advanced Client Platform
    • (English)
    • (English) IBM
    • IBM (Russian)
    • (Russian) IBM
    • (Russian)
    • (English) - turnkey Eclipse distribution options for different directions development (Expert Java, Desktop Java, Server Java, Mobile Java, etc.)
    • (Russian) Art. Lebedev Studio

    An excerpt describing Eclipse (development environment)

    The next day, Rostov accompanied Princess Marya to Yaroslavl and a few days later he himself left for the regiment.

    Sonya's letter to Nicholas, which was the fulfillment of his prayer, was written from Trinity. This is what caused it. The thought of Nicholas marrying a rich bride occupied the old countess more and more. She knew that Sonya was the main obstacle to this. And Sonya’s life recently, especially after Nikolai’s letter describing his meeting in Bogucharovo with Princess Marya, became harder and harder in the countess’s house. The Countess did not miss a single opportunity to make an offensive or cruel hint to Sonya.
    But a few days before leaving Moscow, touched and excited by everything that was happening, the Countess, calling Sonya to her, instead of reproaches and demands, turned to her with tears and prayed that she, by sacrificing herself, would repay for everything. what was done for her was to break her ties with Nikolai.
    “I won’t be at peace until you give me this promise.”
    Sonya burst into tears hysterically, answered through her sobs that she would do everything, that she was ready for anything, but she did not make a direct promise and in her soul could not decide on what was demanded of her. She had to sacrifice herself for the happiness of the family that fed and raised her. Sacrificing herself for the happiness of others was Sonya's habit. Her position in the house was such that only on the path of sacrifice could she show her virtues, and she was accustomed and loved to sacrifice herself. But first, in all acts of self-sacrifice, she joyfully realized that by sacrificing herself, she thereby raised her worth in the eyes of herself and others and became more worthy of Nicolas, whom she loved most in life; but now her sacrifice had to consist in giving up what for her constituted the entire reward of the sacrifice, the entire meaning of life. And for the first time in her life, she felt bitterness towards those people who had benefited her in order to torture her more painfully; I felt envy of Natasha, who had never experienced anything like this, never needed sacrifices and forced others to sacrifice herself and yet was loved by everyone. And for the first time, Sonya felt how, out of her quiet, pure love for Nicolas, a passionate feeling suddenly began to grow, which stood above rules, virtue, and religion; and under the influence of this feeling, Sonya involuntarily, learned by her dependent life of secrecy, answered the Countess in general, vague words, avoided conversations with her and decided to wait for a meeting with Nikolai so that in this meeting she would not free her, but, on the contrary, forever bind herself to him .
    The troubles and horror of the last days of the Rostovs’ stay in Moscow drowned out the dark thoughts that were weighing on her. She was glad to find salvation from them in practical activities. But when she learned about the presence of Prince Andrei in their house, despite all the sincere pity that she felt for him and Natasha, a joyful and superstitious feeling that God did not want her to be separated from Nicolas overtook her. She knew that Natasha loved one Prince Andrei and did not stop loving him. She knew that now, brought together in such terrible conditions, they would love each other again and that then Nicholas, due to the kinship that would be between them, would not be able to marry Princess Marya. Despite all the horror of everything that happened in the last days and during the first days of the journey, this feeling, this awareness of the intervention of providence in her personal affairs pleased Sonya.
    The Rostovs spent their first day on their trip at the Trinity Lavra.
    In the Lavra hotel, the Rostovs were allocated three large rooms, one of which was occupied by Prince Andrei. The wounded man was much better that day. Natasha sat with him. In the next room the Count and Countess sat, respectfully talking with the rector, who had visited their old acquaintances and investors. Sonya was sitting right there, and she was tormented by curiosity about what Prince Andrei and Natasha were talking about. She listened to the sounds of their voices from behind the door. The door of Prince Andrei's room opened. Natasha came out from there with an excited face and, not noticing the monk who stood up to meet her and grabbed the wide sleeve of his right hand, walked up to Sonya and took her hand.
    - Natasha, what are you doing? Come here,” said the Countess.
    Natasha came under the blessing, and the abbot advised to turn to God and his saint for help.
    Immediately after the abbot left, Nashata took her friend’s hand and walked with her into the empty room.
    - Sonya, right? will he be alive? - she said. – Sonya, how happy I am and how unhappy I am! Sonya, my dear, everything is as before. If only he were alive. He can’t... because, because... that... - And Natasha burst into tears.
    - So! I knew it! Thank God,” said Sonya. - He will be alive!
    Sonya was no less excited than her friend - both by her fear and grief, and by her personal thoughts that were not expressed to anyone. She, sobbing, kissed and consoled Natasha. “If only he were alive!” - she thought. After crying, talking and wiping away their tears, both friends approached Prince Andrei’s door. Natasha carefully opened the doors and looked into the room. Sonya stood next to her at the half-open door.
    Prince Andrei lay high on three pillows. His pale face was calm, his eyes were closed, and you could see how he was breathing evenly.
    - Oh, Natasha! – Sonya suddenly almost screamed, grabbing her cousin’s hand and retreating from the door.
    - What? What? – Natasha asked.
    “This is this, that, that...” said Sonya with a pale face and trembling lips.
    Natasha quietly closed the door and went with Sonya to the window, not yet understanding what they were saying to her.
    “Do you remember,” Sonya said with a frightened and solemn face, “do you remember when I looked for you in the mirror... In Otradnoye, at Christmas time... Do you remember what I saw?..
    - Yes Yes! - Natasha said, opening her eyes wide, vaguely remembering that Sonya then said something about Prince Andrei, whom she saw lying down.
    - Do you remember? – Sonya continued. “I saw it then and told everyone, both you and Dunyasha.” “I saw that he was lying on the bed,” she said, making a gesture with her hand with a raised finger at every detail, “and that he had closed his eyes, and that he was covered with a pink blanket, and that he had folded his hands,” Sonya said, making sure that as she described the details she saw now, that these same details she saw then. She didn’t see anything then, but said that she saw what came into her head; but what she came up with then seemed to her as valid as any other memory. What she said then, that he looked back at her and smiled and was covered with something red, she not only remembered, but was firmly convinced that even then she said and saw that he was covered with a pink, exactly pink, blanket, and that his eyes were closed.
    “Yes, yes, exactly in pink,” said Natasha, who now also seemed to remember what was said in pink, and in this she saw the main unusualness and mystery of the prediction.
    – But what does this mean? – Natasha said thoughtfully.
    - Oh, I don’t know how extraordinary all this is! - Sonya said, clutching her head.
    A few minutes later, Prince Andrei called, and Natasha came in to see him; and Sonya, experiencing an emotion and tenderness she had rarely experienced, remained at the window, pondering the extraordinary nature of what had happened.
    On this day there was an opportunity to send letters to the army, and the Countess wrote a letter to her son.
    “Sonya,” said the Countess, raising her head from the letter as her niece walked past her. – Sonya, won’t you write to Nikolenka? - said the countess in a quiet, trembling voice, and in the look of her tired eyes, looking through glasses, Sonya read everything that the countess understood in these words. This look expressed pleading, fear of refusal, shame for having to ask, and readiness for irreconcilable hatred in case of refusal.
    Sonya went up to the countess and, kneeling down, kissed her hand.
    “I’ll write, maman,” she said.
    Sonya was softened, excited and touched by everything that happened that day, especially by the mysterious performance of fortune-telling that she just saw. Now that she knew that on the occasion of the renewal of Natasha’s relationship with Prince Andrei, Nikolai could not marry Princess Marya, she joyfully felt the return of that mood of self-sacrifice in which she loved and was accustomed to living. And with tears in her eyes and with the joy of realizing a generous deed, she, interrupted several times by tears that clouded her velvety black eyes, wrote that touching letter, the receipt of which so amazed Nikolai.

    At the guardhouse where Pierre was taken, the officer and soldiers who took him treated him with hostility, but at the same time with respect. One could still feel in their attitude towards him doubt about who he was (whether he was a very important person), and hostility due to their still fresh personal struggle with him.
    But when, on the morning of another day, the shift came, Pierre felt that for the new guard - for the officers and soldiers - it no longer had the meaning that it had for those who took him. And indeed, in this big, fat man in a peasant’s caftan, the guards of the next day no longer saw that living man who so desperately fought with the marauder and with the escort soldiers and said a solemn phrase about saving the child, but saw only the seventeenth of those being held for some reason, by by order of the highest authorities, the captured Russians. If there was anything special about Pierre, it was only his timid, intently thoughtful appearance and the French language, in which, surprisingly for the French, he spoke well. Despite the fact that on the same day Pierre was connected with other suspected suspects, since the separate room he occupied was needed by an officer.
    All the Russians kept with Pierre were people of the lowest rank. And all of them, recognizing Pierre as a master, shunned him, especially since he spoke French. Pierre heard with sadness the ridicule of himself.
    The next evening, Pierre learned that all of these prisoners (and probably himself included) were to be tried for arson. On the third day, Pierre was taken with others to a house where a French general with a white mustache, two colonels and other Frenchmen with scarves on their hands were sitting. Pierre, along with others, was asked questions about who he was with the precision and certainty with which defendants are usually treated, supposedly exceeding human weaknesses. where he was? for what purpose? and so on.
    These questions, leaving aside the essence of the life matter and excluding the possibility of revealing this essence, like all questions asked in courts, had the goal only of setting up the groove along which the judges wanted the defendant’s answers to flow and lead him to the desired goal, that is to the accusation. As soon as he began to say something that did not satisfy the purpose of the accusation, they took a groove, and the water could flow wherever it wanted. In addition, Pierre experienced the same thing that a defendant experiences in all courts: bewilderment as to why all these questions were asked of him. He felt that this trick of inserting a groove was used only out of condescension or, as it were, out of politeness. He knew that he was in the power of these people, that only power had brought him here, that only power gave them the right to demand answers to questions, that the only purpose of this meeting was to accuse him. And therefore, since there was power and there was a desire to accuse, there was no need for the trick of questions and trial. It was obvious that all answers had to lead to guilt. When asked what he was doing when they took him, Pierre answered with some tragedy that he was carrying a child to his parents, qu"il avait sauve des flammes [whom he saved from the flames]. - Why did he fight with the marauder? Pierre answered, that he was defending a woman, that protecting an insulted woman is the duty of every person, that... He was stopped: this did not go to the point. Why was he in the yard of a house on fire, where witnesses saw him? He answered that he was going to see what was happening in Moscow. They stopped him again: they didn’t ask him where he was going, and why was he near the fire? Who was he? They repeated the first question to him, to which he said that he did not want to answer. Again he answered that he could not say that .
    - Write it down, this is not good. “It’s very bad,” the general with a white mustache and a red, ruddy face told him sternly.
    On the fourth day, fires started on Zubovsky Val.
    Pierre and thirteen others were taken to Krymsky Brod, to the carriage house of a merchant's house. Walking through the streets, Pierre was choking from the smoke, which seemed to be standing over the entire city. Fires were visible from different directions. Pierre did not yet understand the significance of the burning of Moscow and looked at these fires with horror.
    Pierre stayed in the carriage house of a house near the Crimean Brod for four more days, and during these days he learned from the conversation of the French soldiers that everyone kept here expected the marshal's decision every day. Which marshal, Pierre could not find out from the soldiers. For the soldier, obviously, the marshal seemed to be the highest and somewhat mysterious link in power.
    These first days, until September 8th, the day on which the prisoners were taken for secondary interrogation, were the most difficult for Pierre.

    X
    On September 8, a very important officer entered the barn to see the prisoners, judging by the respect with which the guards treated him. This officer, probably a staff officer, with a list in his hands, made a roll call of all the Russians, calling Pierre: celui qui n "avoue pas son nom [the one who does not say his name]. And, indifferently and lazily looking at all the prisoners, he ordered the guard it is proper for the officer to dress and tidy them up before leading them to the marshal. An hour later a company of soldiers arrived, and Pierre and thirteen others were led to the Maiden's Field. The day was clear, sunny after the rain, and the air was unusually clean. Smoke did not settle down as in that day when Pierre was taken out of the guardhouse of Zubovsky Val; smoke rose in columns in the clear air. The fires of the fires were nowhere to be seen, but columns of smoke rose from all sides, and all of Moscow, everything that Pierre could see, was one conflagration. On all sides one could see vacant lots with stoves and chimneys and occasionally the charred walls of stone houses. Pierre looked closely at the fires and did not recognize the familiar quarters of the city. In some places, surviving churches could be seen. The Kremlin, undestroyed, loomed white from afar with its towers and Ivan the Great. Nearby, the dome of the Novodevichy Convent glittered merrily, and the bell of the Gospel was especially loudly heard from there. This announcement reminded Pierre that it was Sunday and the feast of the Nativity of the Virgin Mary. But it seemed that there was no one to celebrate this holiday: everywhere there was devastation from the fire, and among the Russian people there were only occasionally ragged, frightened people who hid at the sight of the French.
    Obviously, the Russian nest was ravaged and destroyed; but behind the destruction of this Russian order of life, Pierre unconsciously felt that over this ruined nest his own, completely different, but firm French order had been established. He felt this from the sight of those soldiers walking cheerfully and cheerfully, in regular rows, who escorted him with other criminals; he felt this from the sight of some important French official in a double carriage, driven by a soldier, driving towards him. He felt this from the cheerful sounds of regimental music coming from the left side of the field, and especially he felt and understood it from the list that the visiting French officer read this morning, calling out the prisoners. Pierre was taken by some soldiers, taken to one place or another with dozens of other people; it seemed that they could forget about him, mix him up with others. But no: his answers given during the interrogation came back to him in the form of his name: celui qui n "avoue pas son nom. And under this name, which Pierre was afraid of, he was now being led somewhere, with undoubted confidence written on them faces that all the other prisoners and he were the ones who were needed, and that they were being taken where they were needed. Pierre felt like an insignificant sliver caught in the wheels of an unknown to him, but correctly functioning machine.
    Pierre and other criminals were brought to right side Maiden's Field, not far from the monastery, to a large white house with a huge garden. This was the house of Prince Shcherbatov, in which Pierre had often visited the owner before and in which now, as he learned from the conversation of the soldiers, the marshal, the Duke of Eckmuhl, was stationed.
    They were led to the porch and one by one they were led into the house. Pierre was brought in sixth. Through a glass gallery, a vestibule, and an antechamber, familiar to Pierre, he was led into a long, low office, at the door of which stood an adjutant.
    Davout sat at the end of the room above the table, glasses on his nose. Pierre came close to him. Davout, without raising his eyes, was apparently coping with some paper lying in front of him. Without raising his eyes, he quietly asked:
    – Qui etes vous? [Who are you?]
    Pierre was silent because he was unable to utter words. For Pierre, Davout was not just a French general; for Pierre Davout, he was a man known for his cruelty. Looking at the cold face of Davout, who, like a strict teacher, agreed to have patience for the time being and wait for an answer, Pierre felt that every second of delay could cost him his life; but he didn't know what to say. He did not dare say what he said during the first interrogation; revealing one's rank and position was both dangerous and shameful. Pierre was silent. But before Pierre could decide on anything, Davout raised his head, raised his glasses to his forehead, narrowed his eyes and looked intently at Pierre.
    “I know this man,” he said in a measured, cold voice, obviously calculated to frighten Pierre. The cold that had previously run down Pierre's back gripped his head like a vice.
    – Mon general, vous ne pouvez pas me connaitre, je ne vous ai jamais vu... [You couldn’t know me, general, I’ve never seen you.]
    “C"est un espion russe, [This is a Russian spy,"] Davout interrupted him, addressing another general who was in the room and whom Pierre had not noticed. And Davout turned away. With an unexpected boom in his voice, Pierre suddenly spoke quickly.
    “Non, Monseigneur,” he said, suddenly remembering that Davout was a Duke. - Non, Monseigneur, vous n"avez pas pu me connaitre. Je suis un officier militianaire et je n"ai pas quitte Moscow. [No, Your Highness... No, Your Highness, you could not know me. I am a police officer and I have not left Moscow.]
    - Votre nom? [Your name?] - repeated Davout.
    - Besouhof. [Bezukhov.]
    – Qu"est ce qui me prouvera que vous ne mentez pas? [Who will prove to me that you are not lying?]
    - Monseigneur! [Your Highness!] - Pierre cried out in a not offended, but pleading voice.
    Davout raised his eyes and looked intently at Pierre. They looked at each other for several seconds, and this glance saved Pierre. In this view, apart from all the conditions of war and trial, a human relationship was established between these two people. Both of them in that one minute vaguely experienced countless things and realized that they were both children of humanity, that they were brothers.
    At first glance for Davout, who only raised his head from his list, where human affairs and life were called numbers, Pierre was only a circumstance; and, not taking the bad deed into account on his conscience, Davout would have shot him; but now he already saw a person in him. He thought for a moment.
    – Comment me prouverez vous la verite de ce que vous me dites? [How will you prove to me the truth of your words?] - Davout said coldly.
    Pierre remembered Rambal and named his regiment, his last name, and the street on which the house was located.
    “Vous n"etes pas ce que vous dites, [You are not what you say.],” Davout said again.
    Pierre, in a trembling, intermittent voice, began to provide evidence of the truth of his testimony.
    But at this time the adjutant entered and reported something to Davout.
    Davout suddenly beamed at the news conveyed by the adjutant and began to button up. He apparently completely forgot about Pierre.
    When the adjutant reminded him of the prisoner, he frowned, nodded towards Pierre and said to be led away. But Pierre didn’t know where they were supposed to take him: back to the booth or to the prepared place of execution, which his comrades showed him while walking along the Maiden’s Field.
    He turned his head and saw that the adjutant was asking something again.
    - Oui, sans doute! [Yes, of course!] - said Davout, but Pierre didn’t know what “yes” was.
    Pierre did not remember how, how long he walked and where. He, in a state of complete senselessness and dullness, not seeing anything around him, moved his legs along with the others until everyone stopped, and he stopped. During all this time, one thought was in Pierre’s head. It was the thought of who, who, finally sentenced him to death. These were not the same people who interrogated him in the commission: not one of them wanted and, obviously, could not do this. It was not Davout who looked at him so humanly. Another minute and Davout would have realized that they were doing something wrong, but this moment was interrupted by the adjutant who entered. And this adjutant, obviously, did not want anything bad, but he might not have entered. Who was it that finally executed, killed, took his life - Pierre with all his memories, aspirations, hopes, thoughts? Who did this? And Pierre felt that it was no one.

    IT technologies do not stand still; they are developing every day. New programming languages ​​are being created that allow us to use all the capabilities that a computer gives us. One of the most flexible, powerful and interesting languages ​​is Java. To work with Java you need to have a software development environment. We'll look at Eclipse.

    Eclipse is an extensible integrated development environment that is freely available. It is Eclipse that is the main rival IntelliJ IDEA and the question: “Which is better?” still remains open. Eclipse is a powerful IDE that is used by many Java and Android developers to write various applications for any OS.

    Attention!
    Eclipse requires a lot additional files, latest versions which you can download from the official Java website. Without them, Eclipse won't even start the installation.

    Of course, Eclipse is designed for writing programs. After creating the project, you can enter the program code in the text editor. If errors occur, the compiler will issue a warning, highlight the line where the error was made, and explain its cause. But the compiler will not be able to detect logical errors, that is, condition errors (incorrect formulas, calculations).

    Setting up your environment

    The main difference between Eclipse and IntelliJ IDEA is that you can customize the environment completely to suit you. You can install additional plugins on Eclipse, change hotkeys, customize the work window, and much more. There are sites where official and user-developed add-ons are collected and where you can download them all for free. This is definitely a plus.

    Documentation

    Eclipse has a very comprehensive and easy to use online help system. You will find many tutorials that you can use when starting to work in the environment or if you have any difficulties. In the help you will find all the information about any Eclipse tool and a variety of step by step instructions. One “but” - all this is in English.

    Advantages

    1. Cross-platform;
    2. Ability to install add-ons and configure the environment;
    3. Speed ​​of execution;
    4. Convenient and intuitive interface.

    Flaws

    1. High consumption of system resources;
    2. Requires many additional files for installation.

    Eclipse is an excellent, powerful development environment that is distinguished by its flexibility and convenience. It is suitable for both beginners in the field of programming and experienced developers. With this IDE you can create projects of any size and any complexity.