Development of a system for automatic search for objects in the image. Eclipse - development environment for modular cross-platform applications Supported architectures and systems

IT technologies do not stand still, they develop every day. New programming languages \u200b\u200bare being created that allow us to use all the possibilities that a computer gives us. One of the most flexible, powerful and interesting languages \u200b\u200bis Java. To work with Java, you must have a software development environment. We'll take a look at Eclipse.

Eclipse is a freely available, extensible IDE. It is Eclipse that is the main rival of IntelliJ IDEA and the question: "Which is better?" still remains open. Eclipse is a powerful IDE used by many Java and Android developers to write various applications on any OS.

Attention!
Eclipse requires many additional files, the latest versions of which can be downloaded from the official Java website. Without them, Eclipse won't even start installing.

Of course, Eclipse is built for writing programs. After creating the project, you can enter the program code in the text editor. In case of errors, the compiler will issue a warning, highlight the line in which the error was made, and explain its reason. But the compiler will not be able to detect logical errors, that is, conditional errors (incorrect formulas, calculations).

Setting up the environment

The main difference between Eclipse and IntelliJ IDEA is that you can customize the environment completely for yourself. 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 it all for free. This is definitely a plus.

Documentation

Eclipse has a very complete and easy-to-use online help system. You will find many tutorials that you can use to get started in the environment or in case you run into difficulties. Help provides all the information about any Eclipse tool and a variety of step-by-step instructions. One "but" - it's all in English.

Advantages

1. Cross-platform;
2. Ability to install add-ons and customize the environment;
3. Speed \u200b\u200bof execution;
4. Convenient and intuitive interface.

disadvantages

1. High consumption of system resources;
2. Requires many additional files to install.

Eclipse is a great, powerful development environment that is flexible and user-friendly. It is suitable for both beginners in the field of programming and seasoned developers. With this IDE you can create projects of any size and complexity.

Eclipse is a Java-based software development platform that provides the ability to develop programs with plugins. Contains a set of built-in components, including the well-known product Eclipse - the PDE plug-in development environment. PDE allows you to extend the platform itself, made up of built-in components. Tool makers can offer their own extensions and provide users with a holistic development environment (IDE).

In addition to the Java language in which Eclipse is written, the development environment is used for other programming languages. Many plugins have been created that support the languages \u200b\u200bC ++, Fortran, Perl, Prolog, Python, Ruby, etc. The platform can be the basis for other software that is not related to writing programs, for example, telnet and DBMS. Another example of Eclipse-based code is the PDT development environment with basic functionality for editing and debugging PHP applications.

All Rights Reversed

Open source software is licensed to guarantee the rights of users. For example, the original program must be provided with the right to modify and redistribute it. This level of rights protection has been achieved with the help of copyleft. Copyright protects copyright by prohibiting the distribution of programs in the event that the user does not have this right. Copyleft also requires unchanged distribution of the software license. In this case, the essence of copyright becomes the opposite. Copyleft uses copyright not to preserve the rights of developers, but to transfer them to users.

Therefore, there are fears and doubts that open source software will lead to the loss of intellectual property, as copyleft will spread to other parts of the software. In other words, the license will require the entire open source application to be redistributed with the same rights. This is true of the General Public License (GNU) - Linux is distributed under it. But there are permits that provide a different relationship between public and commercial interests.

OSI is a non-profit organization that clearly defines what open source is and approves licenses that meet its criteria. The Eclipse platform is distributed under the EPL, an OSI certified open source license that facilitates commercial use while maintaining the loyalty of open source authors.

Plugin developers or IDE users must publish any Eclipse code they use or modify, but can license their add-ons in any way they like. The transfer of rights to them as open source software is not required, as well as the release of the source code.

While many will not use Eclipse to create their own designs, the availability of the platform's source code is important not only because of the lack of a board, but also because it fosters innovation and encourages programmers to contribute their own product as a contribution to the common cause. The main reason for this is that the more work is invested in the project, the more significant it is for everyone. If it is useful, then the number of developers increases even more and a community is created around the project, similar to those that arose around Linux and Apache.

Non-profit organization

Eclipse is a development environment, libraries and toolkit for creating, deploying and managing software, as well as a community of its creators. The platform was created by IBM in 2001 with the support of software vendors.

The Eclipse Foundation was founded in 2004. It is a not-for-profit organization that supports platform projects and improves the developer community and system of complementary programs and services. Today, the Eclipse ecosystem includes organizations and individuals from the software industry.

The Foundation monitors and manages platform projects. It serves the community, and the developers, called committers, are not on the staff. They are employees of other organizations or independent programmers who voluntarily donate their personal time to work on a project.

Eclipse: Platform Features

  • Creation of various software development tools.
  • An unlimited number of tool vendors, including independent ones.
  • Tooling support for working with various content such as HTML, C, EJB, Java, JSP, GIF, and XML.
  • Ensuring complete integration within and between different content.
  • Eclipse is a development environment for programs with or without it.
  • Work in different operating systems, including Linux, Windows, Solaris AIX, Mac OS X.
  • Using Java, the popular language for writing tools.

Eclipse Getting Started Guide

After the first launch of the program, a greeting appears. The user can go to the overview and learn new features, examples or get training.

The workspace is made up of view panels. The collection of views is called perspective. The Resources perspective, for example, includes views for editing, managing, and viewing projects.

Novice users should start with the Basics of the Toolbox, where you can learn a lot about the different parts of Eclipse and how they interact.

Working with JDT

You can open an Eclipse Java project to familiarize yourself with JDT. To do this, select the menu item "File" - "New" - "Java Project", enter the name of the project and click "Finish".

To change the current perspective, select the menu item "Window" - "Open perspective" - \u200b\u200bJava or open a new window through "Window" - "New window" and select a different perspective.

The perspective contains views that are intended for Java development. In the top left corner is a hierarchy of Eclipse Java packages, classes, JAR archives, and miscellaneous files called the Package Browser. The main menu has been replenished with 2 items: Source and Refactor.

Creating a program in JDT

To create a Java application, right-click on the previously created project and select "New" - "Class". In the pop-up dialog box, enter the class name. The question is, "What method templates do you want to create?" - specify public static void main (String args) and click "Finish".

This will create a program containing the injected class and an empty main (). The method must be filled in with the program code (declaration j is omitted intentionally):

public class Hello (

public static void main (String args) (

for (j \u003d 0; j<=5;j++)

System.out.println (“Hello”);

While typing, you can notice the editor's capabilities:

  • autocompletion;
  • syntax checking;
  • auto-close opening brace or quotes.

Code completion is invoked by the Ctrl + Space key combination. This will bring up a context-dependent list of options that can be selected by the keyboard or mouse, be it a list of methods for a given object or part of a keyword.

The syntax is checked against incremental compilation. It happens during the writing of the code at the same time as it is compiled. Syntax errors are underlined in red, and a red dot with a white oblique cross appears to the left of them. The rest of the errors are indicated in the fields in the form of a light bulb. You can fix them yourself with Quick Fix.

In the above example, the light bulb is placed opposite the for statement because there is no i declaration. After double-clicking on the light bulb, a list of possible fixes will appear. In this case, it is proposed to create for j:

  • class field;
  • method parameter;
  • local variable.

If you select one of the options with the mouse, you can see the resulting text.

Double-clicking on the required option generates the program code.

Application launch

If there are no compilation errors, the application can be launched through the "Start" menu item. There is no compilation step, since it is done when the code is saved. In the "Run Configuration" dialog that appears, the required values \u200b\u200bof which have already been set, you need to click on the Run button on the right, below. A console with bookmarks and the result of the application will appear at the bottom.

The program can be run in the debugger. First of all, a breakpoint is set in System.out.println () by two clicks on the gray box to the left of the edit window, next to the method call. As a result, a blue dot appears. Select the menu "Start" - "Debug". The launch configuration window will reappear. After clicking the Start button, a debug perspective appears with new views.

In the "Debug" view on the left, at the top, there is a call stack and to control the flow of the program. The panel contains buttons to stop, continue and exit the application, execute and skip the next statement, and return from the method. At the top right is a series of tabbed panels: variables, breakpoints, expressions, and the screen. When you select the variable tab, you can see the value of the j variable.

Contextual hints can provide detailed information about each view. You just need to click on the panel title and press F1.

Additional plugins

Software development environments for modifying, compiling, and debugging them are augmented in Eclipse with components that can model, automate builds, test modules, performance, and manage configuration and versioning.

The CVS source control system allows you to conduct over them. In this case, the changes made are not mixed. It is an important and integral part of Eclipse.

The development environment is located at eclipse.org. Plugins are located in the Plug-in Central directory.

Architecture

The platform is based on rich RCP clients. Simplistically, they can be represented by a set of plugins used in software development. There are also additional recommended and optional components.

The main components are as follows:

  • The runtime defines the component model based on the OSGi specification, extensions, and extension points. Also provides additional services such as syslog and concurrency.
  • The SWT package contains Eclipse functionality and user interface widgets. Has an add-on with classes to facilitate the creation of graphical applications.
  • The tool space includes perspectives, views, and editing windows.
  • The Help component provides user support in the form of a Help system or an interactive task list.
  • The Update Plugin allows you to get the latest software version.
  • The "Team" component offers the infrastructure for connecting your own

The platform created by IBM has become a fully functional open source system. Over a hundred companies are its participants. Although there have been ideas for such systems before, Eclipse's thoughtful, reliable and elegant design has put it at the forefront.

Without going into the discussion of the question of what programming is - an art or a craft, we admit that in either case a programmer cannot do without tools for creating programs. Along with the evolution of the programming process (from "witchcraft" over machine instructions 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 the command line interface. In the 1980s, along with personal computers, the market for software products of a new class appeared - integrated development environments (IDEs) for algorithmic (Pascal, etc.) and then object-oriented (Smalltalk, C ++) programming languages. This area has reached its true heyday thanks to the active adaptation by developers of the Java language; the most famous IDEs for creating programs in this language are Borland JBuilder, Symantec Visual Cafe, Microsoft J ++, IBM VisualAge, and Oracle JDeveloper.

The main purpose of IDEs is to increase developer productivity. The first development environments that combined the functionality of program text editors, compilers and debuggers mainly freed consumers from routine operations. Over time, the IDE's feature set has become richer. It includes step-by-step compilers, browsers for more logical presentation of programs, tools for automatic code generation, and visual editors for creating graphical user interfaces. Following the trends of the times, development environments have transformed from tools to increase programmer productivity into tools to support all stages of teamwork on a software project. The latest trend is the transformation of IDEs 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 step in the evolution of IDEs has made development environments more complex. However, users of such products still had to resort to the help of tools that were not integrated into the IDE, if only because the creation of an application is not limited to writing and debugging programs in one programming language. The need to use in an application system, for example, HTML pages, relational database schemas, or pieces of code in other languages \u200b\u200b(like Cobol or PL / 1) forces developers to use the appropriate toolkit that was not originally included in the IDE.

This is why many vendors of commercial development environments strive to make them as open as possible and provide special mechanisms for integrating external tools. But no medium is able to 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. Eclipse-based commercial implementations soon began to emerge, pioneered by WebSphere Studio Application Developer 4.0. Eclipse now has a whole open source development ecosystem that brings together tool providers and users, research organizations, and individual developers.

In the official docs of the Eclipse Foundation ( www.eclipse.orgThe Eclipse Platform is defined as a vendor-agnostic open development platform that provides frameworks, exemplary capabilities, and extensible tools. The toolkit within the Eclipse Platform is generic in the sense that it verifies the applicability of the basic platform capabilities, 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 programming interfaces. The basic principles that guided the creators of the Eclipse Platform and in accordance with which it continues to evolve are as follows:

  • support for constructing tools for application development;
  • support for an unlimited number of tool vendors, including independent software vendors;
  • 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 different types of content from different manufacturers;
  • support for development environments for applications with conventional and graphical user interfaces;
  • providing the ability to run a development environment based on different operating systems (today the Eclipse-based toolkit is implemented for Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
  • taking into account the popularity of the Java language in the interests of developing the platform when creating development tools.

The Eclipse Platform is a very general purpose Java development environment with an architecture that integrates a variety of tools and programming languages \u200b\u200bfor a variety of tasks. Mechanisms of such integration allow using the Eclipse Platform to build advanced development environments, freeing from the routine of writing basic tools 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 the community of developers, the Eclipse platform will build on the latest advances, making them available to product-specific developers and eliminating the need to fundamentally redesign their systems.

Eclipse development environment

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

Typically, a single plug-in implements the simplest functionality of an Eclipse Platform-based IDE, while more complex tools are compiled from multiple modules. However, almost all of the built-in functionality of the Eclipse Platform is also implemented using such modules - with the exception of a small Platform Runtime core. Each plug-in has its own manifest file, which describes the relationship 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. After starting the system, additional modules can no longer be added. Within the framework of the Eclipse project, a special environment for creating plug-ins is implemented - the Plug-In Development Environment (PDE).

The workspace and workbench components of the Eclipse platform are implemented using special modules. The workspace contains files that users of plug-in tools create. The workbench component provides a general structure and tools that allow you to extend the user interface of the development environment based on the Eclipse Platform, includes two components for implementing the means of presenting information to the user.

  • The Standard Widget Toolkit (SWT) is a set of interface elements and graphics library that have mechanisms for integrating with the windowing system of a specific operating platform, but implement OS independent APIs. This allows, according to unified principles, to build user interfaces of the development environment that correspond to the window environment familiar to the consumer, but are designed for the maximum possible range of operating systems;
  • JFace is a toolkit for performing a number of common tasks associated with programming interfaces using SWT tools.

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

The purpose of editors is to open, edit, and save objects in the workspace. The platform has a built-in editor for text resources, and other capabilities must be implemented as plugins. Views provide information about the object with which the user is currently working. Finally, the perspective engine allows you to select and organize the desired editors and views to be displayed on the screen.

Organization

There are a number of advantages to running projects in open source. So, one of the tasks of such a platform is to provide developers with tools from a common base that is invariant for different development environments. Why would every manufacturer rewrite 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 possible only if he is able to test everything that is in it, that is, to get a platform in open source.

Developing a product in accordance with the principles of Open Source improves the quality of the code, as it is jointly "polished" by many interested developers. Debugging is becoming easier and better - thanks to access to the source code of the program and, again, the involvement of a distributed team. Joint work allows you to share the risks of creating complex technologies. And the collective body of the platform development provides its support regardless of the twists and turns that may occur with the providers 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 improving it.

Eclipse Platform Architecture

However, you will not be able to realize the benefits of the open source development model by simply releasing a technical platform. We need a process organization. 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 over 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 consortium of more than 60 companies coordinates work to improve the Eclipse platform and other open source projects.

The Eclipse project is completely open source, 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 the development and contribute to the identification of errors, but also take part in the writing of the code and the general design of the next version of the platform. However, Eclipse follows the principle of prioritizing professionalism. A developer with a proven professional track record can count on additional responsibility and the opportunity to actively pursue their expertise in Eclipse projects. Some developers are defined as "responsible" (committer), because they are responsible for the source code, and only they have the right to create new versions in the open source repository. Typically, these developers are employees of companies who pay for their work on Eclipse projects.

The development process is iterative to maximize the involvement of members of the Eclipse community in the project. The release of the next release is preceded by several stages of fixed duration (on the order of several weeks), each of which is a complete cycle that includes planning, development, testing and an 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 issue recommendations for improvement. As a result, at the next stages of development, it becomes possible to take into account the community's reaction to the interim release. It is an open process of continually improving the Eclipse platform and developing other initiatives based on it.

The Eclipse Technology Project aims to coordinate the efforts of developers, researchers, academics and academics to identify the future of the Eclipse Platform and other open source developments. Among the most notable research subprojects in this area are 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 Generative Model Transformer.

Community

The use of all materials obtained from the implementation of Eclipse projects is governed by the Common Public License (CPL), which are approved by the Open Source Initiative. Under the CPL, anyone can use and redistribute Eclipse for commercial and non-commercial purposes at no cost. The following are freely available at eclipse.org:

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

Today on eclipse.org Freely available - over a hundred source-code plug-ins for the Eclipse platform. Eclipse Open Projects are over 2 million lines of code in total.

Participation of commercial companies in the Eclipse project is of key importance for the development of the software development market. In the Eclipse Platform, they get out-of-the-box language and operating platform neutral IDE core services, and can focus their efforts and investments on developing sophisticated functionality that will make their solutions competitive. There are examples of Eclipse-based implementation of both full-featured development environments that promote the most advanced solutions in this area, and specialized tools aimed at a specific range of tasks.

So, all products of the IBM Rational family work on the Eclipse platform. Borland intends to migrate all of its application lifecycle support to Eclipse. There is an Eclipse version of QNX's embedded application development tools; a similar project is being implemented by Wind River. In turn, Hewlett-Packard offers an Eclipse-based development environment for components for its Internet Usage Manager system, the target audience of which is telecom operators. Nokia 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 the developed applications. Of all the world's leading software vendors, only Sun Microsystems and Microsoft do not partner with the Eclipse Foundation.

Eclipse-based commercial vendors enable ISVs to sell plugins for their IDEs, and it happens that a company implements the same proprietary plug-in for different environments on the Eclipse platform. This is not only a method of entering new markets, but also another way to increase the value of the project. Users value freedom of choice: if they are not satisfied with the existing functionality of the open source platform-based environment, they can extend 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 framework to build non-IDE applications. This is possible because there are not many IDEs specific to the Eclipse Platform technology solution. The third version of Eclipse evolves from an IDE platform to a Rich Client Platform. It is no coincidence that IBM is implementing its future collaboration environment Workplace on the basis of 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

The Eclipse Foundation, a nonprofit independent consortium, coordinates the development of Eclipse and contributes to open source projects of various organizations and individual developers.

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

  • strategic Developers - 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 providers (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. The strategic members of the consortium also have certain rights to participate in project management committees and Boards that coordinate development processes.

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

The Requirements Board analyzes and structures the requirements for a project. They combine requirements that address the overall goals of the Eclipse Foundation and specific project goals, the challenges of key consortium members, and the development of the Eclipse ecosystem. Based on the analysis, a list of topics and priorities is formulated that will determine the development progress. The Architecture Council is responsible for developing the Eclipse Platform architecture, describing it clearly, communicating the message to the development teams, and protecting them from inadvertent tampering. The Planning Board creates a coordinated platform release plan.

Projects are delivered by development teams led by project managers, including developers and responsible developers. The former are involved in writing code, identifying bugs, testing and documenting programs, and also perform other tasks within the project. Responsible developers have the right to contribute to the source code repository and must influence the development progress within the project. Companies with strategic developer status in the Eclipse Foundation are required to lead at least one project. Their leadership of the committees is also encouraged.

) the OSGi service platform specifications 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 has become a set of extensions. It is based on the OSGi framework and SWT / JFace, 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 foundation 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 that takes place in June. Each release includes the Eclipse platform as well as a number of other Eclipse projects.

Release date Platform version Project
Neon 22 June 2016 4.6
Mars 25 June 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

Benefits

Eclipse is primarily a platform for developing extensions, which is why it has gained popularity: any developer can extend Eclipse with their modules. There are already Java Development Tools (JDT), C / C ++ Development Tools (CDT), developed by QNX engineers together with IBM, and tools for the Ada languages \u200b\u200b(GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT), etc. from various developers. Many extensions complement the Eclipse environment with dispatchers 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, for other systems (for example, Subversion,) there are plugins. Also offers support for communication between the IDE and the task (bug) management system. The main package includes support for the Bugzilla bug tracker, 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 platform independent, 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 (operating system), which provides a fast and natural looking user interface, but sometimes causes compatibility and application stability issues across platforms.

Architecture

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

  • OSGi (standard delivery environment for bundles (eng. bundles));
  • SWT (Portable Widget Toolkit);
  • JFace (file buffers, working with text, text editors);
  • Eclipse working environment (panels, editors, projections, wizards).
    • Aperi (from lat. open) is an open source network storage management system.
    • 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; management of programs with a large number of connectors.
    • GEF (Graphical Editing Framework) is a framework for building built-in graphical editors.
    • Jazz is a client-server platform for interaction between developers during project development (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;
      • graphical editors for XSD and WSDL;
      • web Services Wizards and Explorer; WS-I Testing Tools;
      • tools for accessing and building queries and database models.
    • The Eclipse Communications Framework (ECF) aims to build communications 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 the RCP components. It will allow you to transfer the application model used on desktop computers to other devices.
    • DLTK (Dynamic Languages \u200b\u200bToolkit) is an integrated development 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-party) is growing rapidly. We have to coordinate the efforts of a huge number of developers and propose common rules - "Eclipse Development Process".

    The latest release version 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 \u200b\u200bToolkit 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 \u200b\u200bToolkit 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

    Starting from version 3.1.1, a language pack for Eclipse Russification has been released. Both the graphical interface and the documentation have been translated into Russian.

    Modules

    There are a number of free and commercial modules available for the Eclipse environment. The environment was originally designed for the Java language, but now there are 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 a BIRT Project ( english).

    Eclipse has built-in functionality to install and update plugins over the Internet.

    Popular SWT and RCP based applications

    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 on "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 site (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) (unavailable link - history) ... ???. Retrieved September 3, 2009.
    49. (English). ???. Retrieved September 3, 2009.

    Links

    • (English)
    • (English)
    • (English) - Documentation for the Eclipse SDK
    • (English)
    • (English)
    • (English) - Advanced Client Platform
    • (English)
    • (eng.) IBM
    • IBM (Russian)
    • (rus.) IBM
    • (Russian)
    • (English) - turnkey versions of Eclipse distributions for different areas of development (Expert Java, Desktop Java, Server Java, Mobile Java, etc.)
    • (rus.) Art. Lebedev Studio

    An excerpt characterizing Eclipse (development environment)

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

    Sonya's letter to Nicholas, which was the fulfillment of his prayer, was written from the Trinity. This is what caused it. The idea of \u200b\u200bNikolai's marriage to a rich bride more and more occupied the old countess. She knew that Sonya was the main obstacle to this. And Sonya's life lately, 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 occasion for an insulting or cruel hint to Sonya.
    But a few days before leaving Moscow, touched and agitated by everything that was happening, the countess, calling Sonya to her, instead of reproaches and demands, with tears turned to her with a prayer that she, having sacrificed herself, would repay for everything, what was done for her was to sever her ties with Nikolai.
    - I will not rest until you give me this promise.
    Sonya burst into tears hysterically, answered through sobs that she would do everything, that she was ready for anything, but did not give a direct promise and in her heart could not decide what was demanded of her. It was necessary to sacrifice oneself for the happiness of the family, which nurtured and raised her. It was Sonya's habit to sacrifice herself for the happiness of others. Her position in the house was such that only on the path of sacrifice could she show her virtues, and she got used to and loved to sacrifice herself. But before, in all the actions of self-sacrifice, she was gladly aware that by sacrificing herself, by this she raises her own worth in the eyes of herself and others and becomes more worthy of Nicolas, whom she loved most in life; but now her sacrifice had to consist in giving up what for her was the whole reward of sacrifice, the whole meaning of life. And for the first time in her life she felt bitterness towards those people who benefited her in order to torment her more painfully; I felt envy of Natasha, who had never experienced anything like it, who had never needed sacrifices and who forced others to sacrifice for themselves and still beloved by everyone. And for the first time Sonya felt how out of her quiet, pure love for Nicolas suddenly began to grow a passionate feeling that 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 indefinite words, avoided talking to her and decided to wait for a meeting with Nikolai so that in this meeting she would not free herself, but, on the contrary, forever tie herself to him ...
    The troubles and horror of the last days of the Rostovs' stay in Moscow drowned in Sonya the gloomy thoughts that weighed down on her. She was glad to find salvation from them in practical activities. But when she learned about the presence of Prince Andrew in their house, despite all the sincere pity that she felt for him and for Natasha, the joyful and superstitious feeling that God did not want her to be separated from Nicolas seized her. She knew that Natasha loved one prince Andrey and did not stop loving him. She knew that now, brought together in such terrible conditions, they would again love each other and that then Nicholas, due to the relationship 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 trip, this feeling, this consciousness of the intervention of Providence in her personal affairs, pleased Sonya.
    The Rostovs made their first day in the Trinity Lavra on their journey.
    In the hotel of the Lavra, the Rostovs were assigned three large rooms, one of which was occupied by Prince Andrey. The wounded man was much better that day. Natasha sat with him. In the next room sat the count and the countess, talking respectfully with the abbot, who had visited his longtime 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 sound of their voices from behind the door. The door of Prince Andrey's room opened. Natasha, with an agitated face, went out of there and, not noticing the monk who had risen up to meet her and grasped the wide sleeve of her right hand, went up to Sonya and took her hand.
    - Natasha, what are you? Come here, ”said the Countess.
    Natasha approached under the blessing, and the abbot advised to seek help from God and his saint.
    Immediately after the departure of the abbot, Nashata took her friend by the hand and went with her into the empty room.
    - Sonya, right? will he be alive? - she said. - Sonia, how happy I am and how unhappy I am! Sonya, darling, everything is the same as before. If only he was alive. He cannot ... because, because ... because ... - And Natasha burst into tears.
    - So! I knew it! Thank God, - said Sonya. - He will live!
    Sonya was as agitated as her friend - both by her fear and grief, and by her personal thoughts that were not expressed to anyone. She, sobbing, kissed, consoled Natasha. "If only he was alive!" She thought. After crying, talking and wiping away their tears, both friends went to Prince Andrew's door. Natasha, carefully opening the doors, looked into the room. Sonya stood next to her at the half-open door.
    Prince Andrew was lying high on three pillows. His pale face was calm, his eyes were closed, and one could see how he was breathing evenly.
    - Ah, Natasha! - Sonia almost screamed suddenly, grabbing the arm of her cousin and stepping back from the door.
    - What? what? Natasha asked.
    “This is this, that, that…” said Sonya with a pale face and trembling lips.
    Natasha quietly shut the door and went with Sonya to the window, not yet understanding what was being said to her.
    “Do you remember,” Sonya said with a frightened and solemn face, “do you remember when I looked in the mirror for you… In Otradnoye, on Christmas time… Do you remember what I saw? ..
    - Yes Yes! - Natasha said, opening her eyes wide, vaguely remembering that then Sonya said something about Prince Andrei, whom she saw lying.
    - Do you remember? - continued Sonya. - I saw 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 closed his eyes, and that he was covered with a pink blanket, and that he folded his hands, - said Sonya, making sure as she described the details she saw now, that these very details she saw then. Then she saw nothing, but said that she saw what came into her head; but what she invented then seemed to her as valid as any other memory. What she then said, 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, namely pink blanket, and that his eyes were closed.
    “Yes, yes, exactly pink,” said Natasha, who also now seemed to remember what was said in pink, and in this she saw the main singularity and mystery of the prediction.
    - But what does it mean? - Natasha said thoughtfully.
    “Oh, I don’t know how extraordinary it all is! - said Sonya, clutching her head.
    A few minutes later, Prince Andrei rang the bell, and Natasha went in to see him; and Sonya, experiencing the excitement and affection she 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, lifting her head from the letter as her niece passed her. - Sonya, will you write to Nikolenka? - said the Countess in a quiet, trembling voice, and in the look of her tired eyes, looking through her glasses, Sonya read everything that the Countess understood by these words. This look expressed pleading, fear of refusal, shame for what had to be asked, and readiness for irreconcilable hatred in case of refusal.
    Sonya went to the countess and, kneeling down, kissed her hand.
    “I’ll write, maman,” she said.
    Sonya was softened, agitated and touched by everything that happened that day, especially by the mysterious performance of the 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 happily 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 being aware of the accomplishment of a magnanimous act, she, several times interrupted by tears that dimmed her velvet black eyes, wrote that touching letter, the receipt of which so amazed Nicholas.

    In the guardhouse, where Pierre was taken, the officer and the soldiers who took him treated him with hostility, but at the same time and respect. One could also feel in their attitude towards him both doubt about who he was (is it not 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 officers and soldiers - it no longer had the meaning that it had for those who took it. And indeed, in this big, fat man in a peasant's caftan, the other day's guards did not see the living person who fought so desperately with the marauder and the escort soldiers and said a solemn phrase about saving the child, but they saw only the seventeenth of the contained for some reason, ordered by the higher authorities, taken by the Russians. If there was anything special about Pierre, it was only his awkward, concentratedly pensive look and French, in which he, surprisingly for the French, spoke well. Despite the fact that on the same day Pierre was connected to the other suspicious persons taken, since the officer needed a separate room that he occupied.
    All the Russians who were detained with Pierre were people of the lowest rank. And all of them, having recognized Pierre as a master, shunned him, especially since he spoke French. Pierre sadly heard mockery of himself.
    The next evening, Pierre learned that all these prisoners (and, probably, he was one) should have been tried for arson. On the third day, Pierre was taken with others to some house, where a French general with a white mustache, two colonels and other Frenchmen with scarves on their hands were sitting. Pierre, on an equal basis with others, was asked with that, allegedly exceeding human weaknesses, accuracy and definiteness, with which the defendants are usually treated, questions about who he is? where he was? for what purpose? etc.
    These questions, leaving aside the essence of life and excluding the possibility of disclosing this essence, like all the questions raised at the courts, had the purpose only of substituting that groove along which the judges wanted the answers of the defendant to flow and lead him to the desired goal, that is to the charge. As soon as he began to say something that did not satisfy the purpose of the accusation, they accepted the groove, and the water could flow wherever it pleased. In addition, Pierre experienced the same thing that the defendant experiences in all courts: bewilderment why all these questions were asked to him. He felt that it was only out of condescension or, as it were, out of courtesy that this trick of the groove was used. He knew that he was in the power of these people, that only the power 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 court. It was obvious that all the answers had to lead to guilt. When asked what he was doing when he was taken, Pierre replied with some tragedy that he was carrying a child to the parents, qu "il avait sauve des flammes [whom he saved from the flames]." Why did he fight the marauder? Pierre replied, that he defended the woman, that the protection of the offended woman is the duty of every man, that ... He was stopped: it did not go to the point. Why was he in the courtyard of the house on fire, where witnesses saw him? He answered that he went to see what was going on in They stopped him again: they didn’t ask him where he was going, but why was he near the fire? Who was he? They repeated the first question to which he said he didn’t want to answer. Again he answered that he couldn’t say that. ...
    - Write it down, this is not good. Very bad, - the general with a white mustache and a red, ruddy face told him sternly.
    On the fourth day, fires began on Zubovsky Val.
    Pierre and thirteen others were taken to Krymsky Brod, to the coach house of a merchant's house. Passing through the streets, Pierre gasped from the smoke that seemed to be standing over the whole city. Fires could be seen from different directions. Pierre did not yet understand the significance of burnt Moscow at that time and looked with horror at these fires.
    Pierre stayed in the carriage shed of a house near Krymsky Brod for four more days, and during those days, from the conversation of the French soldiers, he learned that all those contained here were expecting the marshal's decision every day. What kind of marshal, Pierre could not find out from the soldiers. For the soldier, obviously, the marshal seemed to be the highest and somewhat mysterious link of power.
    These first days, until 8 September, the day on which the prisoners were taken for a second interrogation, were the most difficult for Pierre.

    X
    On September 8, a very important officer entered the barn to the prisoners, judging by the deference with which the guards treated him. This officer, probably a staff officer, with a list in his hands, called to all Russians, calling Pierre: celui qui n "avoue pas son nom [the one who does not speak his name]. And, indifferently and lazily looking around all the prisoners, he ordered the guard the officer should dress them properly and clean them up before leading them to the marshal. An hour later a company of soldiers arrived, and Pierre and the other thirteen were led to the Maiden's Field. The day was clear, sunny after rain, and the air was unusually clear. The smoke did not drift under that day, when Pierre was taken out of the guardhouse of the Zubovsky shaft; smoke rose in columns in the clean air. The fire of the fires was nowhere to be seen, but columns of smoke rose from all directions, and all of Moscow, all that Pierre could see, was one conflagration. on all sides one could see wastelands with stoves and chimneys and occasionally burnt walls of stone houses. Pierre looked closely at the fires and did not recognize the familiar quarters of the city. In some places remained churches. face. Close by, the dome of the New Devichy Monastery gleamed merrily, and the bells were heard especially loudly from there. This message reminded Pierre that it was Sunday and the feast of the Nativity of the Virgin. But it seemed that there was no one to celebrate this holiday: everywhere there was the devastation of the conflagration, and from 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 a completely different, but firm French order had been established over this ruined nest. He felt it from the look of those, cheerfully and cheerfully, in regular rows of marching soldiers who escorted him with other criminals; he could sense it from the sight of some important French official in a steam carriage driven by a soldier, who rode towards him. He felt it by the cheerful sounds of the regimental music coming from the left side of the field, and he especially felt and understood it from the list that the French officer who had arrived this morning, having called the prisoners, read it this morning. Pierre was taken by some soldiers, taken to one place, to another with dozens of other people; it seemed they could forget about him, mix him with others. But no: his answers, given during interrogation, returned 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 led somewhere, with undoubted confidence written on their faces that all the other prisoners and he were the ones who were needed, and that they were being taken to the right place. ”Pierre felt like an insignificant chip caught in the wheels of a machine unknown to him, but correctly operating.
    Pierre and other criminals were led to the right side of the 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 previously visited the owner and in which now, as he learned from the conversation of the soldiers, there was a Marshal, Duke of Eckmühl.
    They were taken to the porch and one by one they were led into the house. Pierre was brought in sixth. Through a glass gallery, an entrance hallway, familiar to Pierre, he was led into a long low office, at the door of which was an adjutant.
    Davout was sitting at the end of the room over the table, with glasses on his nose. Pierre came close to him. Davout, without raising his eyes, apparently coped with some kind of 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 pronounce the words. Davout for Pierre was not just a French general; for Pierre Davout was a man known for his cruelty. Looking at Davout's cold face, who, like a strict teacher, agreed to have patience for a while 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 to say what he said at the first interrogation; to reveal his rank and position was both dangerous and ashamed. Pierre was silent. But before Pierre had time to decide on anything, Davout raised his head, lifted his glasses over 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 seized his head as if in a vice.
    - Mon general, vous ne pouvez pas me connaitre, je ne vous ai jamais vu ... [You could not know me, general, I have 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 Pierre had not noticed. And Davout turned away. With an unexpected clap 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 militionnaire et je n" ai pas quitte Moscou. [No, Your Highness ... No, Your Highness, you could not have known me. I am a police officer and I did not leave Moscow.]
    - Votre nom? [Your name?] Davout repeated.
    - 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 voice not offended, but pleading.
    Davout raised his eyes and looked intently at Pierre. For several seconds they looked at each other, and this look saved Pierre. In this view, in addition to all the conditions of war and trial, human relations were established between these two people. Both of them at that one minute vaguely felt an innumerable number of things and realized that they were both children of humanity, that they were brothers.
    In the first glance, for Davout, who raised only his head from his list, where human affairs and life were called numbers, Pierre was only a circumstance; and, not taking the evil deed on his conscience, Davout would have shot him; but now he saw a man 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, and his surname, and the street on which the house was.
    - Vous n "etes pas ce que vous dites, [You are not what you say.] - Davout said again.
    Pierre, in a trembling, choppy voice, began to prove the validity of his testimony.
    But at that time the adjutant entered and reported something to Davout.
    Davout suddenly beamed at the news reported by the adjutant, and began to button himself. He, apparently, completely forgot about Pierre.
    When the adjutant reminded him of the prisoner, he, frowning, nodded towards Pierre and told him to be led. But where they were supposed to take him - Pierre did not know: back to the booth or to the prepared place of execution, which, passing through the Maiden Field, his comrades showed him.
    He turned his head and saw that the adjutant was asking something again.
    - Oui, sans doute! [Yes, of course!] - said Davout, but that "yes", Pierre did not know.
    Pierre did not remember how, how long he walked and where. He, in a state of complete nonsense and dullness, not seeing anything around him, moved his legs along with the others until everyone stopped and he stopped. One thought for all this time was in Pierre's head. It was the thought of who, who, finally, sentenced him to death. These were not the people who interrogated him in the commission: none of them wanted and, obviously, could not do it. It was not Davout who looked at him so humanly. One more minute, and Davout would have realized what they were doing wrong, but this minute was interrupted by the adjutant who entered. And this adjutant, obviously, did not want anything bad, but he could not have entered. Who finally executed, killed, took his life - Pierre with all his memories, aspirations, hopes, thoughts? Who did it? And Pierre felt that it was nobody.

    Eclipse development environment

    Eclipse was originally developed by IBM as the successor to the IBM VisualAge development environment, as the corporate IDE standard for multilingual development for the IBM platform. According to IBM, the design and development cost $ 40 million. The source code was completely open source and made available after Eclipse was handed over to a community independent of IBM for further development.

    In Eclipse 3.0 (2003) the OSGi service platform specifications were chosen as the runtime architecture. Since version 3.0, Eclipse has ceased to be a monolithic IDE that supports extensions, and has become a set of extensions. It is based on the OSGi framework and SWT / JFace, 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 foundation 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 collection 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 that takes place in June. Each release includes the Eclipse platform as well as a number of other Eclipse projects.

    Eclipse is primarily a platform for developing extensions, which is why it has gained popularity: any developer can extend Eclipse with their modules. There are already Java Development Tools (JDT), C / C ++ Development Tools (CDT), developed by QNX engineers in conjunction with IBM, and tools for the Ada languages \u200b\u200b(GNATbench, Hibachi), COBOL, FORTRAN, PHP, etc. from various developers. Many 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, for other systems (for example, Subversion, MS SourceSafe) there are plugins. Also offers support for communication between the IDE and the task (bug) management system. The main package includes support for the Bugzilla bug tracker, 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 platform independent, 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 (operating system), which provides a fast and natural looking user interface, but sometimes causes compatibility and application stability issues across platforms. Eclipse is based on the rich client platform (RCP). It consists of the following components:

    OSGi (standard delivery environment for bundles);

    SWT (Portable Widget Toolkit);

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

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

    GUI in Eclipse, written using SWT toolkit. The latter, unlike Swing (which emulates graphical controls on its own), 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 a SWT-based user interface.

    The flexibility of Eclipse is provided by plug-ins, which makes it possible to develop not only in Java, but also in other languages \u200b\u200bsuch as C / C ++, Perl, Groovy, Ruby, Python, PHP, Erlang, Component Pascal, Zonnon and others.

    Did you like the article? To share with friends: