CodeGym /Cours /Syntaxe Java /Que sont les compilateurs ?

Que sont les compilateurs ?

Syntaxe Java
Niveau 0 , Leçon 5
Disponible
image-fr-FR-00-18

« Salut, Amigo. Je suis le professeur Jean Brainiac. Je suis le directeur du Conseil scientifique du Voyageur interstellaire. Je supervise également nos efforts pour t'enseigner la programmation du langage Java. »

« Bonjour, professeur Brainiac. »

« Je voudrais t'expliquer pourquoi Java est un langage de programmation vraiment très cool. »

« Tu entendras souvent que l'avantage incomparable de Java est son indépendance vis-à-vis de la plateforme. Qu'est-ce que ça veut dire et à quoi ça sert, me diras-tu ? Laisse-moi t'expliquer de façon détournée. »

« Un ordinateur peut exécuter uniquement des commandes numériques simples. Pour dresser des chiens, nous utilisons des commandes comme « Au pied », « Assis », etc., pour qu'un chien fasse ce que nous voulons de lui. »

« Pour les ordinateurs, les nombres jouent le rôle de ces ordres. Chaque commande est représentée par un certain nombre ou code (parfois appelé code machine). »

« Mais il est vraiment difficile d'écrire un programme en utilisant uniquement des nombres, donc les gens ont inventé les langages de programmation et les compilateurs. Un langage de programmation peut être compris par les humains et les compilateurs. Un compilateur est un programme spécial qui convertit un programme écrit dans un langage de programmation en une série de codes machine. »

« En général, un programmeur écrit un programme dans un langage de programmation, puis exécute un compilateur, qui transforme les fichiers de code écrits par le programmeur en un fichier unique avec du code machine : le programme final (compilé). »

  • Programme en C++
  • Compilateur
  • Code machine

« Le programme résultant peut être exécuté par l'ordinateur immédiatement. La mauvaise nouvelle, c'est que le code du programme final dépend fortement du processeur et du système d'exploitation. Cela signifie qu'un programme compilé pour Windows ne fonctionnera pas sur un smartphone Android. »

« Alors, si j'écris un programme et que je le compile pour Android, il ne fonctionnera pas sous Windows ? »

« Exactement. »

« Oui, je vois. »

« Heureusement, Java utilise une approche beaucoup plus innovante. »

  • Programme en Java
  • Compilateur Java
  • Code spécial indépendant de la plateforme (bytecode)
  • JVM
  • Code machine

« Un compilateur Java ne compile pas toutes les classes en un seul programme de code machine. Au lieu de cela, il compile toutes les classes de manière indépendante et, qui plus est, pas en code machine, mais dans un code intermédiaire spécial (bytecode). Le bytecode est compilé en code machine lorsque le programme est lancé. »

« Alors qui compile le programme en code machine quand il est lancé ? »

« Il existe un programme spécial appelé Machine virtuelle Java (JVM). Il doit être lancé d'abord si tu as besoin d'exécuter un programme en bytecode. La machine virtuelle Java compilera le bytecode en code machine avant que le programme soit exécuté. »

« Intéressant. Mais à quoi ça sert ? »

« C'est une approche très puissante et l'une des raisons de la domination totale de Java. »

« Cette approche permet à d'exécuter des programmes écrits en Java sur pratiquement tous les appareils : ordinateurs, smartphones, distributeurs automatiques de billets, grille-pains et même cartes de crédit ! »

« Cool ! »

« Cette approche présente de nombreux avantages. C'est la raison pour laquelle tous les programmes Android sont également écrits en Java. Grâce à la croissance rapide de l'industrie du téléphone mobile, Java domine les domaines suivants de la programmation :

1) Entreprise : applications orientées serveur lourdes pour les banques, les grandes entreprises, les fonds d'investissement, etc.

2) Mobile : développement mobile (smartphones, tablettes), grâce à Android.

3) Web : PHP reste en tête, mais Java occupe une part croissante du marché.

4) Big Data : informatique distribuée dans des clusters (grappes) comprenant des milliers de serveurs.

5) Appareils connectés : programmes pour maisons connectées, appareils électroniques, réfrigérateurs IoT, etc. »

« Java est plus qu'un langage ; c'est une sorte d'écosystème : des millions de modules prêts à l'emploi que tu peux utiliser dans ton programme, et des milliers de communautés en ligne et de forums où tu peux obtenir de l'aide ou des conseils. »

« Plus tu écris de programmes en Java, plus tu trouveras de réponses à la question 'Pourquoi Java ?'. Ce sera tout pour aujourd'hui. »

« Merci professeur. C'était vraiment intéressant et stimulant. »

Commentaires (19)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Pape ibra Biteye niveau 1, Senegal
7 novembre 2024
mercie beaucoup c'est vraiment intressante et innovante cette application.
cantrelle niveau 1, AMIENS, France
17 juillet 2024
hmmm que choisir... si java ne compile pas pour ios, alors que le framework xamarin en C# peux compiler pour ios et android... qu'elle casse tête, bon, la bonne nouvelle est que java est POO et sa syntaxe ressemble de très très prêt à C#. pour l'instant les cours sont très intéressant, je m'amuse même a mettre des réponse un peu plus avancé comme celle ci : public class Solution { static String a = "Ellie est trop intelligente"; public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println(a); // 'main' peut accéder à 'a' parce que 'a' est statique } } }😇 je ne vous dit pas c'est qu'elle question héhé
Anonymous #11541605 niveau 1, Yaounde, Cameroon
16 juillet 2024
vraiment apprendre en jouant c'est vraiment cool suis nouvelle et le rythme est vraiment genial😉
maniema niveau 1, Matadi, Congo, The Democratic Republic of The
12 juin 2024
vraimenr cool
Anonymous #11504796 niveau 1, Paris, Senegal
19 avril 2024
Merci
Tasnim Kappa niveau 0, France
12 mars 2024
tu vas me sauver ma scolarité ! super je detestait java et là je commence à reviser même si ds demain lol
Mikha Kimpolo niveau 1, Saint Paul, United States
30 janvier 2024
Super travail, franchement !!
Mathieu Heurley niveau 1, Montpellier, France
21 janvier 2024
Vraiment top pour le moment ! Super pédagogique!
Anonymous #11410665 niveau 1, Morocco
19 octobre 2023
c'est agréable , je commence à comprendre le principe
Anonymous #11336966 niveau 2, Congo, The Democratic Republic of The
30 avril 2023
Amusant jusque là, je commence à comprendre les principes de la programmation