loading gif

Java and C# (Microsoft .NET) environment comparison

Author: Gokan EKINCI
First publication date: 2015-10-13
License: CC BY-NC-SA

Java and C # are two technologies that have enough common points that we can build a table of similarity. The purpose of this table is to learn the "words" used for each component between these two technologies.

Component Java C#
Virtual machine: Program which interprets a bytecode and transforms it to machine code (native code). Contains a Just In Time (JIT) and a Garbage Collector. JVM (Java Virtual Machine) CLR (Common Language Runtime)
Language library JRE (Java Runtime Environment) .NET Framework
The JCL (Java Class Library) contains classes from java.* package but also classes from CORBA implementation. Those classes are in the "rt.jar" of the official OpenJDK implementation. The FCL (Framework Class Library) contains classes from Microsoft's official implementation of the .NET Framework. The BCL (Base Class Library) represents classes from the System.* namespace.
Compiler: Program which transforms source code to binary file (bytecode) that is understandable by a virtual machine. JDK (Java Development Kit) .NET Compiler Platform (alias Roslyn)
Command line compiler: "javac" (Sun/Oracle) Command line compiler: "csc" (Microsoft)
Created binary file when compiling source code bytecode Has several names: MSIL (Microsoft Intermediate Language), CIL (Common Intermediate Language) or IL (Intermediate Language).
A set of classes inside a file Extension: ".jar" (Java ARchive). Extension: ".dll" (Dynamic Link Library).
A ".jar" file may be an executable program. An ".exe" file for executable program.
Language specifications JSR (Java Specification Requests) CLS (Common Language Specification)
Most known IDE (by name) Eclipse, Netbeans, IntelliJ Visual Studio (for Windows, opening to Linux and Mac). MonoDevelop (mainly for Linux and Mac).