Sur cette page, je vais exposer les différents outils nécessaires à chaque type de langage
Outils en commun
Certains logiciels sont indispensables pour commencer à programmer. Voici la liste de ce que vous aurez besoin, classée par type de besoin.
IDE
Il existe plusieurs IDE disponibles pour les logiciels libres. Souvent, il n'est pas facile de trouver celui qui vous convient le mieux. Je vais donc vous en proposer quelques-uns. A vous de faire votre choix.
-
VSCodium est un IDE open source tiré de l'IDE non libre VSCode. Un peu comme pour les navigateurs Chrome et Chromium. Il est très complet mais possède quelques limitations par rapport à VSCode.
Il est configurable grâce à des extensions disponibles sur leur plateforme
Je le trouve également très lourd en termes de ressources.
Il doit être installé via un dépôt tiers
-
Anjuta est un IDE open source réalisé par Gnome. Il peut se construire, selon les langages de programmation que vous souhaitez, via des plugins
Il est installable via les dépôts de votre distribution
-
Bluefish est un IDE open source développé par une équipe communautaire de développeurs. C'est un IDE léger écrit en C++ grâce à la bibliothèque GTK.
Il est installable directement depuis les dépôts de la distribution.
-
Eclipse est un IDE Open Source développé par la fondation Eclipse regroupant plusieurs entreprises de l'informatique (IBM, Google, Oracle). Il est écrit en Java et gère un nombre important de langage.
Eclipse n'est pas dans les dépôts. Il faudra l'installer à partir de l'installeur Eclipse.
-
Geany est un IDE open source écrit en C avec la bibliothèque GTK et supportant un grand nombre de langage. Il est très léger et est disponible dans les dépôts de votre distribution.
-
KDevelop est un IDE open source écrit en C++ à l'aide de la bibliothèque QT. Il est donc plutôt destiné à l'environnement de bureau KDE. Il est également disponible dans les dépôts de votre distribution.
-
Netbeans est un IDE open source écrit en java par la société Oracle. Il permet de coder pour différents type de langages
Il n'est pas disponible dans les dépôts Debian. Il faudra l'installer via le fichier .deb.
-
Qt Creator est l'environnement de programmation officielle pour la bibliothèque QT. Il est spécialement conçu pour les applications de la bibliothèque QT.
Il est installable directement depuis les dépôts de votre distribution.
-
Theia est une plateforme de programmation créée par la fondation Eclipse. Cet IDE est écrit en langage Typescript.
Il intègre toutes les fonctionnalités courantes d'un IDE moderne. Pour l'installer vous devez télécharger un snap ou Appimage sur le site du projet.
-
Emacs à la base n'est pas un IDE mais un éditeur de texte programmable, modifiable en créant du code LISP.
C'est cette modularité extraordinaire qui permet de pouvoir faire ce que vous voulez avec ce logiciel.
Pour ma part, je l'utilise pour programmer, interagir avec les dépôts git, lire les mails, regarder mon fil de feed, utiliser comme todo list, taper des lignes de commande sur le terminal, etc .. (j'en passe)
Il est extrêmement puissant, il faut juste prendre un peu de son temps pour le configurer pour qu'il fasse ce que vous souhaitez
Il s'utilise essentiellement via le clavier ce qui permet de lancer des actions très rapidement
Bien sûr, il est installable via les dépôts
-
Vim est un peu le pendant d'Emacs, un autre éditeur de texte très configurable. La guerre des éditeurs de texte n'aura pas lieu sur ce site.
Libre à vous de choisir entre Emacs et Vim. Vous pouvez également l'installer via la bibliothèque des logiciels de votre distribution.
Déploiements des logiciels
Lorsque vous aurez terminé la partie programmation, il faudra penser à comment le déployer c'est à dire automatiser la compilation, assurer la traduction et dans quels dossiers copier les fichiers
Pour cela vous avez à disposition des outils de déploiement
-
Make permet d'établir des règles pour le déploiement des fichiers (compilation, traduction, copie des fichiers) via des fichiers makefile et autotools
-
CMake est certainement plus facile à prendre en main que make.
-
Meson moins répandu que les deux premiers
-
Scons est assez facile à prendre en main mais peu de personnes l'utilisent
Versions des logiciels
Vous aurez besoin de logiciels pour le suivi des versions des logiciels et le suivi des bugs.
-
Git, créé par Linus Torvalds, est sans doute le logiciel le plus employé pour le suivi des versions. Emacs possède un module extraordinaire : magit
-
Subversion est encore utilisé de nos jours et à une vision plus centralisée du projet
-
Mercurial ressemble à git dans son utilisation
Outils spécifiques
C - C++
Les langages de programmation C et C++ ont besoin des mêmes outils pour pouvoir compiler les sources
Les compilateurs disponibles :
-
GCC est le compilateur le plus utilisé et le plus répandu
-
CLang est très utilisé pour l'emploi de LSP (Langage Server Protocole)
Vous aurez également besoin d'un debugger pour traquer vos erreurs de codage :
-
GDB qui est le debogueur de référence dans les distributions Linux
Python
Ce que vous avez besoin pour coder en Python est également un debogueur :
-
PDB qui a des limites et l'impossibilité de deboguer un segmentation fault
-
GDB qui peut trouver les segmentation fault en invoquant
gdb python
Java
Il faudra installer un environnement de développement pour Java
-
OpenJdk possède tout ce dont vous avez besoin. Il est dans les dépôts de votre distribution
JavaScript
Il faut évidemment un navigateur pour interagir avec le code développé. Je prévilégie Firefox car c'est le navigateur le plus complet dans l'open source
Il vous permet de débugger votre code et inspecter les variables