IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Gugelhupf

[Actualité] Similitudes des environnements Java et C# .NET (Microsoft)

Note : 6 votes pour une moyenne de 3,00.
par , 13/10/2015 à 21h50 (1690 Affichages)
Auteur : Gokan EKINCI
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.

Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Viadeo Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Twitter Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Google Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Facebook Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Digg Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Delicious Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog MySpace Envoyer le billet « Similitudes des environnements Java et C# .NET (Microsoft) » dans le blog Yahoo

Mis à jour 01/01/2016 à 09h39 par Michael Guilloux

Catégories
Java , DotNET , C#

Commentaires

  1. Avatar de kolodz
    • |
    • permalink
    Un « .jar » peut être un programme exécutable.
    Cette phrase me perturbe, car cela suppose que celui-ci est capable de s'exécuter seul. Or, c'est bien la machine virtuelle Java qui lit ce fichier. Un fichier ".jar" sans JVM est autant exécutable qu'un fichier ".xls" sans Excle !

    Cordialement,
    Patrick Kolodziejczyk.
  2. Avatar de Gugelhupf
    • |
    • permalink
    Citation Envoyé par kolodz
    Cette phrase me perturbe, car cela suppose que celui-ci est capable de s'exécuter seul. Or, c'est bien la machine virtuelle Java qui lit ce fichier. Un fichier ".jar" sans JVM est autant exécutable qu'un fichier ".xls" sans Excle !

    Cordialement,
    Patrick Kolodziejczyk.
    Bonjour @kolodz et merci pour ton retour,

    Je ne connais pas de programme qui s'exécute tout seul, pour ce qui est du déclenchement il faut minimum un double clic dessus (opération manuelle), prévoir une tâche planifiée (opération automatisée) ou autre programme qui exécute une ligne de commande, pour ce qui est de l'environnement il est nécessaire d'avoir une JVM/JRE pour exécuter un bytecode Java, tout comme une CLR/.NET Framework pour un MSIL, mais bizarrement ma phrase du tableau ne me perturbe pas tant que ça (peut-être parce que je suis parti pris avec moi-même ).
  3. Avatar de RyzenOC
    • |
    • permalink
    executer seul => qui peut s'exécuter de maniéré natif sans rien installer.

    Un code hello world en C s'exécute seul par exemple sans rien n'installer.
  4. Avatar de laerne
    • |
    • permalink
    Peut-être qu'il fallait dire "qui s'éxécute nativement". De nos jours, je ne connais pas beaucoup de programmes qui tourne sur un ordinateur sans avoir besoin d'un OS qui gère les allocations de mémoires, l'accès au disque, les interruptions de la clock, …
  5. Avatar de Aiekick
    • |
    • permalink
    je n'en connais aucun personnellement. mais on s'égare un peu du sujet non ?

    pour ma part c'est logique que C# soit similaire a jave. c’était la 2eme tentative de Microsoft de faire son java ( il s'en morde les doigts de pas avoir vu le filon ).
    et soit dit en passant, je hais java pour les ui la ou c# excelle. ( sans jeu de mot)
  6. Avatar de Jiji66
    • |
    • permalink
    Si il faut une machine virtuelle au dessus de l'OS pour faire tourner le programme, alors ce n'est pas du natif.
    Java est typiquement dans ce cas; certains me dirons que c'est du natif Java mais a ma connaissance il n'y a pas d'OS Java.
  7. Avatar de Gugelhupf
    • |
    • permalink
    Bonjour tout le monde, merci pour vos retours

    @sazearte, si on fait référence aux dépendances (Java => JVM, C# => CLR), un programme écrit en C ou C++ (même standard et très basique) compilé sur une plateforme peut ne pas fonctionner sous une autre plateforme identique (processeur et OS) si ce dernier n'a pas le C++ Redistribuable Package requis pour ce qui est de Windows par exemple.

    @Jiji66, il existe des OS écrit en Java (avec un minimum d'assembleur), de nom je connais JavaOS, il en existe plusieurs même si leur statut peut être abandonné (JexeOS, JX, SavaJe, Vino, JNode etc)
  8. Avatar de Bono_BX
    • |
    • permalink
    Le binaire créé lors de la compilation du code source.
    Je ne sais pas s'il y a l'équivalent en JAVA, mais en C# on peut maintenant compiler en binaire.
  9. Avatar de Gugelhupf
    • |
    • permalink
    Oui tu peux directement compiler en natif avec Java aussi, en utilisant des outils comme GCJ.
  10. Avatar de marc.collin
    • |
    • permalink
    Citation Envoyé par Gugelhupf
    Oui tu peux directement compiler en natif avec Java aussi, en utilisant des outils comme GCJ.

    il y a pu trop de nouveauté pour GCJ depuis un moment
    il y a excelsiorjet mais c'est très cher