IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Avec quel langage Java a été développé ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Avec quel langage Java a été développé ?
    Bonjour

    En lisant les tutos, je tombe généralement sur ce genre de phrases :

    Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe est proche du C
    Mais aucun ne dit exactement avec quel langage de programmation Java a été créé .

    Merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ça n'a pas vraiment de sens comme question parce qu'un langage n'est pas un programme. Ce sont des symboles assemblés suivant certaines règles. Java est un langage formel de haut niveau avec des mots et des assemblages lisibles relativement facilement, utilisant des structures pour mettre en place facilement certaines logiques d'exécution (comme les boucles par exemple).

    En revanche, il existe différents programmes pour "convertir" un langage de haut niveau en langage machine, le seul langage que le processeur sait comprendre et, donc, exécuter. Certains langages sont exécutés par un interpréteur, qui converti à la volée, et d'autres sont compilés (transformés) directement en langage machine. Le langage Java est converti, par un programme donc, appelé compilateur (javac.exe), dans un langage intermédiaire, le ByteCode, qui est "interprété" par un programme, la JVM (Java Virtual Machine).

    Par ailleurs, Java est un langage relativement limité dans sa syntaxe et s'appuie pour permettre de faire tout ce qu'on peut faire sur des bibliothèques, écrites elles en Java, ou éventuellement en C ou C++ en utilisant JNI/JNA, un système de pont entre Java et C/C++.

    La JVM, le compilateur, etc sont des programmes qui peuvent être écrits dans n'importe quel langage. La première JVM de Sun par exemple était écrite en C, HotSpot en C/C++. La JVM d'IBM VisualAge est écrite à priori en Smalltalk. Il y a Jikes, une JVM écrite en Java et même BicaVM une JVM écrite en JavaScript...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Ok donc en résumé, un programme est différent d'un langage, et java est un langage qui est un ensemble de symboles suivant certaines règles. Mais avec quoi ces symboles ont été assemblés? Et comment? Je sais que le langage Assembleur existe mais j'ai jamais su comment ça marchait. Ya t il un lien entre Java et Assembleur?

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par momjunior Voir le message
    Mais avec quoi ces symboles ont été assemblés? Et comment?
    Avec des cerveaux, du papier et des crayons...

    Un langage informatique c'est comme n'importe quel langage. Comme le français ou le klingon, ou les panneaux du code de la route. C'est du blabla, des mots, des symboles, des concepts, une grammaire qui indique comment on les assemble. Ta question n'a pas de sens. C'est comme demander qui a inventé l'eau, si les mathématiques ont une masse, ou la différence entre un pigeon.

    Il faut distinguer le langage de programmation proprement dit de ce qui permet à partir de ce langage d'obtenir programme qui sera exécuté au final par le processeur de la machine (l'éditeur, l'interpréteur, le compilateur, etc).
    C'est comme les feux tricolores : c'est un langage à base de couleurs qui ont un sens, une signification. Quelqu'un (Garrett Augustus Morgan pour ne pas le citer) a un jour inventé un système (le feu rouge) qui s'est développé pour devenir les feux tricolores entre autres qu'on voit entre autres sur le bord de route.
    Les appareils qui produisent ces couleurs (souvent des lumières, mais pas forcément) n'est pas le système qui consiste à considérer que rouge veut dire "attendez" et vert "allez-y". Ce sont deux choses distinctes. Autant que que celui qui interprète ces signaux et décide d'y réagir conformément ou pas.

    Je n'ai jamais parlé d'assembleur. J'ai utilisé le mot assembler, qui a sa propre signification en français qui est indépendante de la notion d'assembleur en informatique. On parle de langage assembleur au sujet de ce langage formel simple qui permet d'éviter d'avoir à se taper les nombres qui sont le seul langage que comprend le processeur d'un ordinateur : ce qu'on appelle le langage machine. Un "assembleur" c'est en fait un programme qui traduit ce langage en langage machine. Le lien avec Java,
    • c'est que ce sont deux langages
    • au final le code exécuté est toujours du langage machine (des nombres)
    • qu'il faut des programmes pour pour "convertir" les sources écrits avec ces langages en suite de nombres compréhensible par le processeur


    Et ces symboles n'ont pas été assemblés. Cette assertion est aussi absconse que ta question. Tu assembles ces symboles chaque fois que tu écris un programme source (tu les mets dans un certain ordre qui en donne une signification particulière). Quand tu écris ta question dans le forum tu assembles des mots du langage "français" pour faire des phrases. C'est pareil.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Au vu des remarques, je me pose surtout une question : pourquoi ? Que souhaites tu à savoir à travers cette question ? Quel(le) est ton besoin ou interrogation ?
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Au vu des remarques, je me pose surtout une question : pourquoi ? Que souhaites tu à savoir à travers cette question ? Quel(le) est ton besoin ou interrogation ?
    Je trouve juste qu'il est normal et logique qu'un développeur Java sache au moins d'où provient java.

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Avec des cerveaux, du papier et des crayons...
    Non sérieux ????

    Et désolé de te dire ça, et je te remercie pour ton aide, mais si ma question n'avait pas de sens tu m'aurais donné une simple explication qui tiendrait en une phrase. Tu me parles de Garrett machin, de feux tricolore, de panneaux etc... Si tu peux pas me donner une explication concrète alors je pense que ma question est pertinente.

    Et tu dis que c'est comme demander qui a inventé l'eau. Je te réponds en un mot : "Dieu".

    Ensuite tu dis que ces symboles n'ont pas été assemblés...Pourtant tu l'as bien dit:
    Citation Envoyé par joel.drigo Voir le message
    Ça n'a pas vraiment de sens comme question parce qu'un langage n'est pas un programme. Ce sont des symboles assemblés suivant certaines règles
    Merci

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par momjunior Voir le message
    Non sérieux ????
    Justement, ma réponse est très sérieuse. Un jour des gens se sont mis autour d'une table et se sont dit : on va créer un nouveau langage qui correspond à telles intentions et tels besoins et ont noté ça sur du papier avec des crayons, les seuls outils réellement indispensables à des informaticiens.

    Citation Envoyé par momjunior Voir le message
    Et désolé de te dire ça, et je te remercie pour ton aide, mais si ma question n'avait pas de sens tu m'aurais donné une simple explication qui tiendrait en une phrase.
    Je ne vois pas le rapport. Oui j'aurais pu simplement te répondre "Ta question n'a aucun sens." et c'est tout. Et tu aurais été pas plus avancé. J'essaye juste de te faire comprendre en quoi cette question n'a pas de sens et ça ne tient pas en une seule phrase. Il y a beaucoup de concepts simples qui ne s'expliquent pas en une seule phrase.

    Citation Envoyé par momjunior Voir le message
    Si tu peux pas me donner une explication concrète alors je pense que ma question est pertinente.
    Il n'y a pas plus concret que mon explication. Si je n'avais pas voulu être concret, je t'aurais donné une définition litérale genre "un langage est un système de signes permettant la communication", ou encore des définitions mathématiques à la Σ = {a, b, c}, Γ = {♥, ♦, ♣, ♠}, ∆ = {0, 1}, Φ = {→,←, ↑, ↓} (cf Douglas Hofstadter (et pas machin)).

    Citation Envoyé par momjunior Voir le message
    Et tu dis que c'est comme demander qui a inventé l'eau. Je te réponds en un mot : "Dieu".
    Si on admet qu'il existe, il l'a créé pas inventé, ce qui n'a rien à voir.

    Ensuite tu dis que ces symboles n'ont pas été assemblés...Pourtant tu l'as bien dit:
    Ça n'a pas vraiment de sens comme question parce qu'un langage n'est pas un programme. Ce sont des symboles assemblés suivant certaines règles
    Oui, et ça ne dit pas que ces symboles ont été assemblés. Justement, en français, comme en Java, ou tous les langages, la grammaire (la façon d'assembler les mots entre eux et l'action que cet assemblage a sur les mots eux mêmes) donne un sens aux mots. Des "symboles assemblés", ce ne sont pas des symboles "qui ont été assemblés" (et là je ne suis pas concret et je me contente d'une seule phrase, parce que je n'ai pas envie de donner un cours de grammaire ici sur la différence entre un adjectif et un verbe conjugué).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre Expert
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Par défaut
    Citation Envoyé par momjunior Voir le message
    qui a inventé l'eau.
    la langue "naturelle" nous oblige aussi à regarder de plus près quelques précisions sémantiques: "inventer" du latin "in venio" c'est aussi découvrir (par ex. l'inventeur d'un trésor), il en est de même avec le mot "existe" (nous ne lui donnons pas nécessairement le même sens quand on dit "X existe")

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déterminer avec quel langage un .exe a été programmé
    Par Chatbour dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 30/08/2007, 23h57
  2. Apprendre à programmer un système d'exploitation : avec quel langage ?
    Par overon dans le forum Langages de programmation
    Réponses: 107
    Dernier message: 27/08/2007, 09h46
  3. Avec quel langage puis-je débuter facilement ?
    Par TONY STRAY dans le forum Débuter
    Réponses: 27
    Dernier message: 20/08/2007, 23h27
  4. Commencer la programmation avec le langage Java ?
    Par von_magnus dans le forum Débuter
    Réponses: 14
    Dernier message: 09/03/2004, 22h19
  5. Avec quel langage débuter en programmation ?
    Par spectrum1984 dans le forum Débuter
    Réponses: 10
    Dernier message: 28/12/2003, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo