IDE stands for Integrated Development Environment. It's a coding tool which allows you to write, test and debug your code in an easier way, as they typically offer code completion or code insight by highlighting, resource management, debugging tools,... And even though the IDE is a strictly defined concept, it's starting to be redefined as other tools such as notebooks start gaining more and more features that traditionally belong to IDEs. For example, debugging your code is also possible in Jupyter Notebook.
You can probably most clearly see this evolution in the results of the Stack Overflow Developer Survey
below, which also includes these new tools, next to the traditional IDEs that you might already know; They all fall under the section "development environment".
Because of all the features that IDEs have to offer, they are extremely useful for development: they make your coding more comfortable and this is no different for data science. However, given the fact that there aren't only the traditional IDEs to consider, but also new tools, such as notebooks, you might be wondering which development environment to use when you're just starting out with data science.
IDEs Versus Text Editors
The truth is that you can code in almost any software, from prompt command to Windows notepad, but you may also want a proper programming environment which combines coding facility with a debugging environment.
So why would or do you choose a traditional IDE instead of, for example, a notepad?
The answer would be practicality. For instance, imagine that you are coding in any text editor like Windows notepad. When your code is ready, you'll need to run it. You can't execute your program in a text editor like this, so you must use a prompt command to do it. Rather than use two different programs, wouldn't better have it all in just one place? That's what an IDE is ready for.
But, take a closer look at the image above. Notepad++, which is a text editor in its essence, is one of the tools most used by Stack Overflow community.
Isn't that weird?
Well, many text editors can be used as a development environment if you make use of plugins: when you're working with Notepad++, for example, you can use these plugins such as the DBGP for Notepad++ to install a debugger in the application, allowing you to run and analyze your code directly in your favorite text editor.
And this immediately explains why text editors can be so popular: they not only offer you the blank slate, but they also give you the option to add features that you might need. This stands in clear contrast with IDEs such as Visual Studio, Spyder, and Rodeo, where these features are built in and you don't need to install anything else to start developing, but where the learning curve might be a little bit steeper for users.
The Top 5 Development Environments
Creating a list with just five development environments for data science with Python is a hard task: you might not only want to consider the possible learning curve, price or built-in/downloadable features, but you also might want to take into account the possibility to visualize and report on your results, or how easy a certain the environment is to collaborate with others.
You'll see that your choice will balance all of these things and that the â??best' development environment for you will be the one which makes your life easier and your work more comfortable. This means that you could potentially also switch between IDE, notebook and text editor according to whatever is more useful for you!
That's why it's best to see this list as a guide of software to test before you pick your favorite.
If you have the Anaconda distribution installed on your computer, you probably already know Spyder. It's an open source cross-platform IDE for data science. If you have never worked with an IDE, Spyder could perfectly be your first approach. It integrates the essentials libraries for data science, such as NumPy, SciPy, Matplotlib and IPython, besides that, it can be extended with plugins.
You should try it out because... Different of most of IDEs around the web, Spyder was built specifically for data science. It may not be as charming as another IDEs such as Visual Studio or Atom, but give it a try! The learning curve is so smooth that you will master it in a blink of an eye. If you are a beginner, you'll like to use features like the online help, which allows you search for specific information about libraries.
Note also how this interface is quite similar to RStudio; That's why, if you're switching between Matlab or R to Python, this is the way to go.
Features Spyder contains features like a text editor with syntax highlighting, code completion and variable exploring, which you can edit its values using a Graphical User Interface (GUI).
Data science enthusiasts say...
"If you are switching from Matlab or Rstudio to Python; Spyder is the way to go, It very intuitive for scientific computing."
â??Download Spyder is free and it's available for Windows, MacOS and major Linux distributions, like Debian, Fedora, and Ubuntu. You can install Spyder by downloading Anaconda
https://www.continuum.io/downloads on Continuum's website.
PyCharm is an IDE made by the folks at JetBrain, a team responsible for one of the most famous Java IDE, the IntelliJ IDEA.
You should try it out because... PyCharm is perfect for those who already have experience using another JetBrain's IDE, due to the fact that the interface and features be similar. Also, if you like IPython or Anaconda distribution, it's nice for you to know that PyCharm integrates its tools and libraries such as NumPy and Matplotlib, allowing you work with array viewers and interactive plots.
Features Just like other IDEs, PyCharm has interesting features such as a code editor, errors highlighting, a powerful debugger with a graphical interface, besides of Git integration, SVN, and Mercurial. You can also customize your IDE, choosing between different themes, color schemes, and key-binding. Additionally, you can expand PyCharm's features by adding plugins; You can take a look at the PyCharm Plugins Library here.
Data science enthusiasts say...
"I have tried most of the popular IDE's for Python and hands down the best one in my opinion is PyCharm. It has a very nice debugger, plays nicely with git, and works easily with the use of multiple Python versions with virtualenv. Reindexing is relatively fast, and I like the interface. The community version is free and does not at all feel like it is lacking."
Download You can download the Lightweight PyCharm IDE for Python and scientific development for free here. It's available for free for Windows, macOS and Linux.
You should try it out because... This IDE, which is clearly distinguishable from the logo with the orange hat was built specifically for data analysis.
Apart from that, you'll find that Rodeo is pretty similar to RStudio, which is by far the most popular IDE for the R language, not just because of its appearance, but also for its features: for instance, when you first open up Rodeo, the IDE's window is divided into four groups: text editor, console, environment for variable visualization and plot/libraries/files, just like RStudio. You can clearly see this in the above image.
This makes it a great idea for R users who are migrating to Python! Note that also people who have worked with Matlab before will feel right at home, as both RStudio and Rodeo look and feel similar to the Matlab interface.
Nevertheless, that doesn't mind that this user-friendly environment can not be used by newbies; Quite the opposite, because Rodeo allows you to see and explore what you create, and it comes with helper material such as cheat sheets and built-in tutorials, which is a great thing to have as a beginner!
Features The main advantage of this IDE is its customization. You can easily see and explore what you are creating, either by inspecting variable's values and interacting with plots and data frames. Apart from that, you'll find that the Rodeo IDE comes with autocomplete, syntax highlighting and IPython support, which helps you to write code better and faster.