The best Integrated Development Environments (IDEs)
Tags: ide, visualstudio, intellij, androidstudio
Published: 2021-03-09 17:31:40

I'll be honest, the first time I wrote code, I thought it was just going to be a macro course in Excel, using Visual Basic for 4 months and then moving on with my life. I never imagined the feelings that this course would generate, and it was like that, generating a statistics table with a simple click of a button, that I could not stop finding out about other languages.

*"We think basically you watch television to turn your brain off, and you work on your computer when you want to turn your brain on." Steve Jobs.*

This is the beginning of a blog series about development, and today I will talk about the first headache, Integrated Development Environments. At the beginning, when we don't know too much about the languages ​​in which we're going to program, a robust text editor is required, with a lot of visual help of what we are doing and, of course, many code templates on which we can make our first changes until we understand above all the structure of the language. I went through this stage and I tell you, it is okay to want help, it is the most logical thing to do when starting anything in life, let's talk about the best editors of this class.

#**INTEGRATED DEVELOPMENT ENVIRONMENTS - IDEs**

An integrated development environment (IDE) is an application that provides a source code editor, automatic build tools, and a debugger. Here is a list of the best IDEs that I tried, their requirements and main features.

##**[Visual studio](https://visualstudio.microsoft.com/es/vs/express/)**
You can check all the [System Requirements](https://docs.microsoft.com/en-us/visualstudio/releases/2019/system-requirements?view=vs-2019#visual-studio-2019-system-requirements) on Microsoft's home page. Here the most important.

* 1.8 GHz or faster processor. Quad core or better is recommended.
* 2 GB of RAM; 8 GB of RAM is recommended (minimum 2.5 GB if running in a virtual machine)
* Hard disk space: 800 MB minimum up to 210 GB available space, depending on installed features; typical installations require 20 to 50 GB of free space.

Visual Studio is a very complete IDE, you can compile desktop and web projects and package them into solutions. Through [Nuget](https://www.nuget.org/), Microsoft shares with us multiple packages and ready-made templates to make starting programming as simple as possible. Not only does it manage projects in Microsoft languages, it also allows us to manage projects in [Angular](https://angular.io/), [React](https://reactjs.org/), as well as in [Laravel](https://laravel.com/), among others.

Marina Serrano Montes, Lead Application Developer at Vonage, co-founder of BeByDoing and Girls in Tech Spain said in an [interview for Xataca](https://www.xataka.com/otros/editor-codigo-favorito-programadores-profesionales-nos-dan-su-respuesta):

*"It remains a robust programming environment, with many built-in functionalities, with a large library of extensions to support different programming languages, environment customization, performance analysis and visualization, seamless workflow and tools for automation." Although he assures that performance "can be compromised in some scenarios with projects with many controls, extensions ...", so he believes that, in these cases, "it is necessary to optimize the environment configuration to avoid errors and make better use of the memory of the system".*

##**[IntelliJ](https://www.jetbrains.com/idea/download/#section=windows)**
The requirements for its installation are as follows.

* Windows 10, 8 64-bit versions of Microsoft (Windows)
* MacOS 10.13 or higher (Mac)
* GNOME or KDE desktop (Linux)
* 2GB RAM minimum, 8GB RAM recommended
* 2.5 GB of hard drive space, SSD recommended
* 1024x768 minimum screen resolution

IntelliJ is an IDE designed for Java projects, just like Eclipse, but it also includes support for Android, Kotlin, Groovy, Scala projects and in its Ultimate version it adds support for Javascript and Typescript projects. On its [features page](https://www.jetbrains.com/idea/features/), it helps us understand why we should choose this IDE and it helps us from start to finish, thanks to its interpretation and great analysis of files in the project, just like Visual Studio.

He was also chosen by Marina Serrano Montes and this is what she said in the [interview for Xataca](https://www.xataka.com/otros/editor-codigo-favorito-programadores-profesionales-nos-dan-su-respuesta):

*"It remains a robust programming environment, with many built-in functionalities, with a large library of extensions to support different programming languages, environment customization, performance analysis and visualization, seamless workflow and tools for automation." Although he assures that performance "can be compromised in some scenarios with projects with many controls, extensions ...", he therefore believes that, in these cases, "it is necessary to optimize the environment configuration to avoid errors and make better use of the memory of system".*

##**[Eclipse](https://www.eclipse.org/downloads/)**
You can see the [comparison between all the Eclipse frameworks here](https://www.eclipse.org/downloads/packages/compare), to be able to see the one that should be downloaded and installed. It is an Integrated Development Environment (IDE) much lighter than Visual Studio, so the experience will be much faster and smoother. It has a very complete visual aid for both desktop applications and web applications, however, Eclipse has always opted for JAVA, so much so that it is among the best IDE for this language.
I only found this requirement for its installation:

* A Java Runtime Environment (JRE) to use Eclipse (Java SE 11 or higher recommended). Some of the packages come with a JRE.

This is an [opinion of Cristian Henao](http://codejavu.blogspot.com/2013/10/eclipse-o-netbeans.html), creator of [CoDejaVu](http://codejavu.blogspot.com/2013/10/eclipse-o-netbeans.html), one of the best consultation pages about projects in Java.

*"Initially Eclipse is one of the most robust IDE's given the ease of linking different plugins, in addition to its stable versions and few errors recorded compared to NetBeans, giving us the freedom to configure our own environments by installing what we really need ... in addition to be one of the most used in software development companies that I know."*

##**[Android Studio](https://developer.android.com/studio)**
The requirements for its installation are as follows.

####Windows
* Microsoft Windows 7/8/10 (32-64 bits).
* 8 GB of RAM recommended (2 GB minimum).
* 4 GB of hard disk space (2 GB minimum).
* Screen with a minimum resolution of 1280 × 800 pixels.
* Intel processor.
* Java 8.

####MAC
* Mac OS X 10.8.5 or higher.
* 8 GB of RAM recommended (2 GB minimum).
* 4 GB of hard disk space (4 GB minimum).
* Screen with a minimum resolution of 1280 × 800 pixels.
* Java 6.

####Linux
* Ubuntu.
* KDE Desktop or GNOME.
* 64/32 bit processor.
* GNU 2.1 or higher.
* 8 GB of RAM recommended (2 GB minimum).
* 4 GB of hard disk space (2 GB minimum).
* Screen with a minimum resolution of 1280 × 800 pixels.
* Java 8.
* Intel processor.

Android Studio is the official Integrated Development Environment (IDE) for Android app development and is based on IntelliJ IDEA. In addition to IntelliJ's powerful code editor and developer tools, Android Studio offers even more features that increase your productivity when developing Android apps, such as the following.

* A flexible build system based on Gradle
* A fast and feature-laden emulator
* A unified environment where you can develop for all Android devices
* App Changes to push code and resource changes to the running app without restarting it
* GitHub integration and code templates to help you compile common app functions and also import sample code
* Variety of testing frameworks and tools
* Lint tools to identify performance, usability, and version compatibility issues, among others
* C ++ and NDK support
* Built-in support for Google Cloud Platform, which makes it easy to integrate with Google Cloud Messaging and App Engine

Txema Rodríguez, Android Lead at jobandtalent and editor at Genbeta Dev said in the [interview for Xataca](https://www.xataka.com/otros/editor-codigo-favorito-programadores-profesionales-nos-dan-su-respuesta):

*Txema Rodríguez claims to be "trapped" in Android Studio. "It is the IDE that integrates all Android development based on the well-known IntelliJ", he explains. "Android Studio is a free environment of an incredibly powerful tool." However, he regrets that despite being based on IntelliJ, Android developers like him are "subject to updates from Google, both on the Android platform and on having the latest news from the base IntelliJ, usually more advanced" . But "we can't complain about a free environment being an incredibly powerful tool." Of course, since he yearns for something, Rodríguez talks about having alternative tools "so as not to be eternally married to this IDE to develop Android applications."*