Articles - Étudiants SUPINFO
What is an IDE?
An Integrated Development Environment (IDE) is a software suite that
consolidates basic tools to allow programmers to write and test software.
An IDE is a graphical user interface specifically designed to help
developers having every features needed to develop their programs at
The three main features of an IDE are:
A code editor
A compiler or an interpreter
A code editor is used by developer to write and edit source codes.
The source code is then converted by the compiler or the interpreter into
a readable language for the computer, and finally the debugger is designed
to test the software to solve any bugs or issues.
Other features of an IDE:
Unit testing: automated tests written to verify if a specific
unit of the program run as designed
Class browser: gives the ability to view the properties of an
object oriented class structure
Object browser: gives the ability to examine objects which
were instantiated in the current program being developed
Class hierarchy diagram: a visual representation of the
structure of object oriented programming code
Advantages of using IDEs:
Some IDEs comes with pre-installed libraries which facilitate
development in specific programming languages.
Syntax highlight features, making development of software
Ability to add external plugin.
Provides a console window which can be useful when debugging
Auto-completion of keywords like function name and variable
names, hence allowing faster development.
In the screenshot above we can see a project with
different tool windows:
Editor window: it is the main window in the center where a
developer will spend majority of time, editing code or designing a
UI (user interface) with the tools available on Visual
Solution Explorer: allows the developer to have an overview
of the files within the project, and organization can be done
Team Explorer: used for tracking and version of current work
with technologies like Git and Team Foundation Version
Visual Studio supports 36 different programming
languages. Some example of built-in languages are C, C++, C++/CLI,
CSS. There are other programming languages that can be used on Visual
Studio via plugins, such as Python, Ruby, Node.js and M.
Visual Studio is available on Windows and Mac. There are three
editions of Visual Studio: Community, Professional and
Popular features in Visual Studio
Code Cleanup: with just a click you can allow Visual Studio
to format your code and apply code fixes that the analyzer has
Squiggles and Quick action: squiggles are visual
representation of errors in the code editor, if the analyzer finds
error, there are wavy underlines that will alert the developer.
Hovering over a squiggle will display information about the
problem and potential fixes. The Quick action is the ability to
fix problem just by click on the suggested solution by Visual
IntelliSense: is a feature in Visual Studio that displays
small information about your code allowing the developer to skip
the hassle of looking through the documentation of the programing
Pycharm is an IDE tool kit basically meant for
developing software in python. Pycharm was developed by a Czech company
named Jetbrains, which owns other IDEs which will be discussed later in
this article. Pycharm has an integrated graphical debugger, a unit
tester, code analyzer and a version control system. Web development with
Django and Data science with Anaconda can also be done on
Pycharm is available in several editions: Community edition
distributed under Apache 2 license, professional edition with additional
features but more expensive, and an academic license also is available
Features of Pycharm:
Python refactoring: renaming, introduce variable, extract
Code completion and analysis, quick fixes
Web frameworks are supported such as Django, Flask and
Version control, with user interface for Git, Mercurial,
PhpStorm is a Java-based integrated development
environment (IDE) for PHP development, and built by the same company as
PyCharm which is JetBrains. It supports PHP 5.3/5.4/5.5/5.6/7.0/7.1/7.2,
provides auto-completion, refactoring, and an extended HTML, CSS and
error checking, and supports language mixtures and more.
With PhpStorm programmers can use the latest front-end
technologies, such as HTML5, CSS, Sass, Less, Stylus, CoffeeScript,
debugging, and unit testing. The ability to see the changes instantly in
the browser thanks to Live Edit. All the features in WebStorm are
included into PhpStorm, with full-fledged support for PHP and Databases
support added on top.
Features of PhpStorm:
Support several PHP framework: it integrates easily with
Symfony2, CakePHP, Laravel and Yii.
Version control: developers can branch and merge from
Database Support: PhpStorm provides tools for working with
SQL and other databases in projects.
IntelliJ forms part of the same family as PyCharm and
PhpStorm, it was created by JetBrains. There is a community edition
which is licensed by Apache 2 and a commercial edition also known as the
Ultimate Edition. IntelliJ is easy to use, is flexible and has a really
solid design which makes it a good choice compared to other IDEs.
In the Community and Ultimate edition the following programming
languages are supported: Clojure, CloudSlang, Dart, Elm, Erlang, Go,
Gosu, Groovy, Haskell, Haxe, Java, Julia, Kotlin, Lua, Perl, Python,
Rust, Scala, XML, and R. The majority of these are available in IntelliJ
While there are some programming languages that are only available
in the Ultimate Edition: ActionScript, CoffeeScript, HTML/XHTML/CSS,
Features of IntelliJ:
Code completion along with an analyzer, code refactoring by
correcting mistakes via the suggestions in the editor.
Built in tools and integration: integration with packaging
tools like gradle, grunt and bower. Version control systems are
Large plugin ecosystem: as mentioned above there are lot of
programming languages that can be added to IntelliJ via
Technologies and framework supported in both the
Community and Ultimate Edition are: Android, Ant, Gradle, JUnit, JavaFX,
Maven, Python, SBT, and TestNG.
While the one below are available only in the Ultimate Edition:
Django, EJB, FreeMarker, Geronimo, GlassFish, Google App Engine, Google,
Web Toolkit, Grails.
Xcode is an integrated development environment (IDE) for
MacOS only. It is a development suite designed by Apple for developing
software for MacOS, and applications for IOS, iPadOS, watchOS and tvOS.
Xcode is a free IDE and available directly via the Mac App Store.
Xcode supports the following programming languages: C, C++,
Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit,
and Swift. The IOS SDK allows Xcode to compile and debug applications
for IOS that run on ARM architecture processors.
Features of Xcode:
Apple’s developer documentation
Built-in Interface Builder which allows developers to create
graphical interface for applications
In-depth testing: allows developers to simulate users’
environment, by running applications in slow network or in extreme
heat for example.
SwiftUI: a simpler way to build user interface of
applications across all targeted Apple platforms.
In this article, I covered some popular integrated development
environment (IDE) and their features, but there is still lot of other
IDEs. It all depends on your desired programming language and the plugins
needed to develop your future idea. A good start would be breaking your
idea into small blocks for easy understanding how to start and what is
needed to start coding. Hence one can decide what programming language and
tools would facilitate the programming process. Integrated development
environment (IDE) nowadays tries to keep on with the fast changing world
of technology, so we can only make good use of the features available to
us to ease development.
Some images are from docs.microsoft.com
Wikipedia – pycharm, phpstorm, intellij, xcode