Date de première publication : 2015-10-13
Licence : CC BY-NC-SA
Java et C# sont deux technologies ayant suffisamment de points communs pour que l'on puisse dresser un tableau de similitudes. L'objectif de ce tableau est de connaitre les « termes » utilisés pour chacun des composants entre ces deux technologies.
Composant |
Java |
C# |
Machine virtuelle : programme qui interprète un code intermédiaire (bytecode) et le transforme en langage machine (native code). Contient un compilateur Just In Time (JIT), et un système de ramasse-miettes (Garbage Collector) |
JVM (Java Virtual Machine) | CLR (Common Language Runtime) |
Les bibliothèques du langage | JRE (Java Runtime Environment) La JCL (Java Class Library) contient les classes du package java.* mais aussi d’autres classes comme celles d’une implémentation CORBA. Ces classes sont situées dans le jar « rt.jar » de l’implémentation officielle OpenJDK. |
.NET Framework La FCL (Framework Class Library) contient les classes de l’implémentation officielle Microsoft du .NET Framework. La BCL (Base Class Library) représente les classes du namespace System.* |
Compilateur : Programme qui transforme le code source en binaire interprétable par une machine virtuelle. | JDK (Java Development Kit) Compilation en ligne de commande avec « javac » (Sun/Oracle) |
.NET Compiler Platform (alias Roslyn). Compilation en ligne de commande avec « csc » (Microsoft) |
Le binaire créé lors de la compilation du code source | bytecode | Connu sous plusieurs noms : MSIL, CIL ou IL. MSIL : Microsoft Intermediate Language. CIL : Common Intermediate Language. IL : Intermediate Language. |
Ensemble de classes compressées dans un fichier | Extension : « .jar » (Java ARchive) Un « .jar » peut être un programme exécutable. |
Extension : « .dll » (Dynamic Link Library). Un « .exe » pour les programmes exécutables. |
Les spécifications du langage | JSR (Java Specification Requests) | CLS (Common Language Specification) |
Les IDE les plus connus (de nom) | Eclipse, Netbeans, IntelliJ | Visual Studio (pour Windows, ouverture vers Linux et Mac) MonoDevelop (pour Linux et Mac principalement) |
Vos remarques sont les bienvenues.
Pas de combat fratricide Java vs C# svp.