Development environment. What is it? Which one to choose and why?

5 min read

Software development environments are a combination of software tools that are designed to write (create) software products. The development environment includes compiler, interpreter, debugger, build automation tools, as well as text editor.

A compiler is a program that reads source code written by a programmer and converts that code into a program.

An interpreter is a program that reads commands in the source code and executes them immediately.

When a software development environment contains all of the above components, then it is called an integrated environment. Such development environments increase the pace and convenience of development due to: automation, the ability to produce the entire cycle of creation and development of software.

Typically, a software development environment is designed for development in only one programming language. And such a development environment as an integrated one gives the right to choose a programming language for development, convenient for the developer (from the languages supported by this environment). Examples are: Visual Studio, Komodo, Geany, Kylix, NetBeans, Eclipse.

The most important element in the application development process is the choice of the right development (DE), which depends not only on the platform, but also on the level of your own knowledge. Let's get acquainted with the most popular of them presenting not so much their advantages as the most common reproaches from the developers.

Let's start with the official representatives of the mobile market leaders: Windows, Google and Apple.

Visual Studio 2015

Description: one of the oldest software products for creating both console applications and having a graphical interface. Adding third-party plug-ins allows you to seriously extend the functionality of the environment, including to the cross-platform state.

Disadvantages: it will be simply impossible for a beginner to understand Visual Studio on his own without taking special courses and reading literature. This product is more for experienced developers who pay attention to the quality of the editor and testing functions.

Android Studio

Description: a relatively young and rapidly growing DE focused on Android application developers.

Disadvantages: sparse personalization features are shown in the code editor and General settings. A trifle, but unpleasant.

XCode

Description: this DE is focused on creating apps for OS X and iOS. For the use of Objective C and Swift languages today this DE is the best option, and for some tasks it is the only solution at all.

Disadvantages: many developers complain about the stability of the environment, forcing to make additional changes to their projects after the release of the next version. In addition, XCode is a relatively complex IDE for a beginner to learn on his own.

Let's move from official representatives to universal cross-platform development environments:

Xamarin Studio

Description: a popular tool for developing applications for Windows Phone, Android and iOS, using essentially only one language — C#. In addition to Xamarin Studio itself, you can also use the Visual Studio plugin.

Disadvantages: minor, but nevertheless regular errors, both directly in the DE itself and in the output code. Also, despite the reputation of a cross-platform environment, porting ready-made applications to Xamarin is quite difficult.

IntelliJ IDEA

Description: DE is developed by JetBrains, which allows you to create programs in a variety of popular languages, including Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.

Disadvantages: performance. The tedious waiting for compilation, recompilation and testing is sometimes really annoying.

Appcelerator Titanium

Description: a platform for quickly creating console and graphical applications for all the devices at hand.

Disadvantages: the features provided by Appcelerator Titanium have a downside: generated errors in the code, artificial limitations, insufficient quality documentation.

Eclipse

Description: the development environment, initially focused on working with Java, has become famous for a large number of external modules that significantly expand its functionality (including the number of supported languages).

Disadvantages: a significant lack of documentation, there is no unified community of developers.

Netbeans

Description: a powerful DE for developing applications in Java, JavaScript, Python, PHP, C, C++ and even Ada.

Disadvantages: it shows low performance due to the of "all in one" concept. Some plugins (including those for Android app development) have significant functionality limitations.

PhoneGap

Description: unusual cross-platform application development environment that does not require knowledge of native languages. That is, in order to create an application for Android, you do not need knowledge of Java. JavaScript is used in conjunction with HTML5 and CSS3.

Disadvantages: limited functionality caused directly by the main idea of a non-target development environment.

Select spelling error with mouse and press Ctrl + Enter

Система Orphus
Go to Instagram