NetBeansNetBeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL (Common Development and Distribution License) et GPLv2. En plus de Java, NetBeans permet la prise en charge native de divers langages tels le C, le C++, le JavaScript, le XML, le Groovy, le PHP et le HTML, ou d'autres (dont Python et Ruby) par l'ajout de greffons. Il offre toutes les facilités d'un IDE moderne (éditeur avec coloration syntaxique, projets multi-langage, refactoring, éditeur graphique d'interfaces et de pages Web).
Java (technique)Java est une technique informatique développée initialement par Sun Microsystems puis acquise par Oracle à la suite du rachat de l'entreprise. Défini à l'origine comme un langage de programmation, Java a évolué pour devenir un ensemble cohérent d'éléments techniques et non techniques.
LinuxLinux ou GNU/Linux est une famille de systèmes d'exploitation open source de type Unix fondés sur le noyau Linux créé en 1991 par Linus Torvalds. De nombreuses distributions Linux ont depuis vu le jour et constituent un important vecteur de popularisation du mouvement du logiciel libre. Si, à l'origine, Linux a été développé pour les ordinateurs compatibles PC, il n'a jamais équipé qu'une très faible part des ordinateurs personnels.
GCJGCJ (GNU Compiler for Java) était le compilateur Java du projet GNU, sous licence libre. Il a été un des composants de GCC de la version 3 jusqu'à la version 6, avant d'en être retiré à partir de la version 7. Contrairement au compilateur du SDK Java de Sun Microsystems produisant exclusivement du bytecode Java, gcj opte pour une approche traditionnelle en produisant du code natif pour l'architecture matérielle. De plus GCJ est également capable de fonctionner comme un compilateur Java classique en produisant du bytecode, et permet également de transformer du bytecode vers du code natif.
AndroidAndroid ( , en français : ) est un système d'exploitation mobile fondé sur le noyau Linux et développé par des informaticiens sponsorisés par Google. À la suite du rachat par Google en 2005 de la startup du même nom, le système avait d'abord été lancé en juin 2007 pour les smartphones et tablettes tactiles, avant de se diversifier dans les objets connectés, ordinateurs comme les télévisions (Android TV), les voitures (Android Auto), les Chromebook (Chrome OS qui utilise les applications Android) et les smartwatch (Wear OS).
Microsoft Visual StudioMicrosoft Visual Studio est une suite de logiciels de développement pour Windows et mac OS conçue par Microsoft. La dernière version s'appelle Visual Studio 2022. Visual Studio est un ensemble complet d'outils de développement permettant de générer des applications web ASP.NET, des services web XML, des applications bureautiques et des applications mobiles. Visual Basic, Visual C++, Visual C# utilisent tous le même environnement de développement intégré (IDE), Visual Studio Code, qui leur permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages.
Rust (langage)Rust est un langage de programmation compilé multi-paradigme conçu et développé par Mozilla Research depuis 2010. Il a été conçu pour être « un langage fiable, concurrent, pratique », supportant les styles de programmation purement fonctionnel, modèle d'acteur, procédural, ainsi qu'orienté objet sous certains aspects. En 2020, ses domaines de prédilection sont la programmation système, les applications en ligne de commande, les applications Web via WebAssembly, les services réseaux et les systèmes embarqués.
EmacsEmacs est une famille d'éditeurs de texte disposant d'un ensemble extensible de fonctionnalités. Il est populaire parmi les programmeurs et plus généralement les personnes ayant des compétences techniques sur les ordinateurs. L'EMACS originel, signifiant Editing MACroS running on TECO, c'est-à-dire « macros d'édition pour TECO », a été écrit en 1976 par Richard Stallman, initialement avec Guy Steele. Il a été inspiré par les idées développées dans TECMAC et TMACS, deux jeux de macros d'édition pour TECO, notamment écrits par Guy Steele, David Moon, Richard Greenblatt et Charles Frankston.
D (langage)Le D est un langage de programmation impératif orienté objet et multi-paradigmes conçu pour la programmation système. Il s’inspire de nombreux langages, dont C++, Java (avec lequel il a en commun l'utilisation d'un ramasse-miettes et l'existence d'un héritage simple), Eiffel (pour le paradigme de programmation par contrat). D est en version 2.x, abrégé « D2 » (depuis le 17 juin 2007), et subit ponctuellement de légères modifications de spécification.
Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
Scala (langage)Scala est un langage de programmation multi-paradigme conçu à l'École polytechnique fédérale de Lausanne (EPFL) pour exprimer les modèles de programmation courants dans une forme concise et élégante. Son nom vient de l'anglais Scalable language qui signifie à peu près « langage adaptable » ou « langage qui peut être mis à l'échelle ». Il peut en effet être vu comme un métalangage. Scala intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.
Open sourceOpen source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized software development model that encourages open collaboration. A main principle of open-source software development is peer production, with products such as source code, blueprints, and documentation freely available to the public.
Environnement de développementEn programmation informatique, un environnement de développement est un ensemble d'outils qui permet d'augmenter la productivité des programmeurs qui développent des logiciels. Il comporte un éditeur de texte destiné à la programmation, des fonctions qui permettent, par pression sur un bouton, de démarrer le compilateur ou l'éditeur de liens ainsi qu'un débogueur en ligne, qui permet d'exécuter ligne par ligne le programme en cours de construction. Certains environnements sont dédiés à un langage de programmation en particulier.
Logiciel multiplateformeUn logiciel multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plateformes informatiques. De nombreux langages de programmation sont considérés être multiplateformes . En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs qu’on désire utiliser. On aurait donc : un seul langage de programmation et un compilateur par type de processeur (des processeurs seraient considérés de même type s'ils sont identiquement structurés).
GitGit est un logiciel de gestion de versions décentralisé. C'est un logiciel libre et gratuit, créé en 2005 par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Le principal contributeur actuel de Git, et ce depuis plus de 16 ans, est Junio C Hamano. Depuis les années 2010, il s’agit du logiciel de gestion de versions le plus populaire dans le développement logiciel et web, qui est utilisé par des dizaines de millions de personnes, sur tous les environnements (Windows, Mac, Linux).
Réusinage de codeLe réusinage de code est l'opération consistant à retravailler le code source d'un programme informatique – sans toutefois y ajouter des fonctionnalités ni en corriger les bogues – de façon à en améliorer la lisibilité et, par voie de conséquence, la maintenance, ou à le rendre plus générique (afin par exemple de faciliter le passage de simple en multiple précision) ; on parle aussi de « remaniement ». Cette technique utilise quelques méthodes propres à l'optimisation de code, avec des objectifs différents.
Mozilla (communauté)thumb|Logotype de Mozilla. Mozilla est une communauté développant des logiciels libres sous la direction de la Fondation Mozilla. Elle développe et publie les produits Mozilla, tous libres d'accès et respectant le Manifeste Mozilla émis en 2007 par Mitchell Baker afin d'améliorer l'internet. Les logiciels sont entre autres le navigateur internet Firefox ordinateurs et mobiles, le logiciel de courrier Thunderbird, l'OS Firefox mobile et le gestionnaire de bugs Bugzilla.
Julia (langage)Julia est un langage de programmation de haut niveau, performant et dynamique pour le calcul scientifique, avec une syntaxe familière aux utilisateurs d'autres environnements de développement similaires (Matlab, R, Scilab, Python, etc.). Il fournit un compilateur sophistiqué, un système de types dynamiques avec polymorphisme paramétré, une exécution parallèle distribuée, des appels directs de fonctions C, Fortran et Python.
R (langage)R est un langage de programmation et un logiciel libre destiné aux statistiques et à la science des données soutenu par la R Foundation for Statistical Computing. Il fait partie de la liste des paquets GNU et est écrit en C, Fortran et R. GNU R est un logiciel libre distribué selon les termes de la licence GNU GPL. Le site officiel fournit des binaires pour Linux, Windows et macOS, et des portages existent pour d'autres systèmes d'exploitation.
Groovy (langage)Groovy est le nom d'un langage de programmation orienté objet destiné à la plate-forme Java. Il constitue un substitut au langage Java pour cette plate-forme et est inspiré de Python, Ruby et Smalltalk. Il est l'objet de la spécification JSR 241. Groovy utilise une syntaxe très proche de Java, avec des accolades, et est directement compilé, soit à la volée dynamiquement, soit classiquement avec un compilateur en bytecode. Groovy s'intègre et est entièrement compatible avec la JVM étant donné que le bytecode est le même.