Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Integrated Development Environment (IDE)

Par Nirvan Chittresh BAHADOOR Publié le 10/10/2019 à 15:36:56 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

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 hand.

Features of IDEs

The three main features of an IDE are:

  1. A code editor

  2. A compiler or an interpreter

  3. A debugger

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:

  1. Unit testing: automated tests written to verify if a specific unit of the program run as designed

  2. Class browser: gives the ability to view the properties of an object oriented class structure

  3. Object browser: gives the ability to examine objects which were instantiated in the current program being developed

  4. 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 easier.

  • Ability to add external plugin.

  • Provides a console window which can be useful when debugging errors.

  • Auto-completion of keywords like function name and variable names, hence allowing faster development.

Some popular IDEs

Microsoft Visual Studio

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 Studio.

  • Solution Explorer: allows the developer to have an overview of the files within the project, and organization can be done easily.

  • Team Explorer: used for tracking and version of current work with technologies like Git and Team Foundation Version Control.

Visual Studio supports 36 different programming languages. Some example of built-in languages are C, C++, C++/CLI, Visual Basic .Net, C#, F#, JavaScript, TypeScript, XML, XSLT, HTML, and 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 Enterprise.

Popular features in Visual Studio are:

  • Code Cleanup: with just a click you can allow Visual Studio to format your code and apply code fixes that the analyzer has suggested.

  • 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 Studio.

  • 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 language.

Pycharm

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.

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 for students.

Features of Pycharm:

  • Python refactoring: renaming, introduce variable, extract method

  • Code completion and analysis, quick fixes

  • Web frameworks are supported such as Django, Flask and web2py

  • Unit testing

  • Version control, with user interface for Git, Mercurial, Perforce

PhpStorm

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 JavaScript editor. Like other IDEs it has real time syntax highlighting, 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, TypeScript, Emmet, and JavaScript, with features like refactoring, 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 PhpStorm directly

  • Database Support: PhpStorm provides tools for working with SQL and other databases in projects.

IntelliJ IDEA

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 via plugins.

While there are some programming languages that are only available in the Ultimate Edition: ActionScript, CoffeeScript, HTML/XHTML/CSS, JavaScript, PHP, Ruby, SQL, TypeScript.

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 also supported.

  • Large plugin ecosystem: as mentioned above there are lot of programming languages that can be added to IntelliJ via plugins.

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

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.

Conclusion

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.

Reference

https://en.wikipedia.org/wiki/Integrated_development_environment

Google images

Some images are from docs.microsoft.com

Wikipedia – pycharm, phpstorm, intellij, xcode

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels