java ??

java ?? - Programmation

Marsh Posté le 08-08-2001 à 21:09:00    

C'est une question un peu space mais bon  :pt1cable: .
 
A partir de quoi à été programmé JAVA ? A partir du C ou est-ce qu'ils ont tout re-inventé en partant de l'assembleur ?
 
Autre question :), pour fonctionner sous windows et accéder aux ressources hardware utilise t'il les API windows ? Sinon comment fait-il ?
 
Voilà voilà.

Reply

Marsh Posté le 08-08-2001 à 21:09:00   

Reply

Marsh Posté le 08-08-2001 à 23:50:58    

ben...Java, c'est très spécial, de ce point de vue là : en fait, ton code java est compilé en ce qu'on appelle le byte code, qui est à son tour interprété par une machine virtuelle Java (JVM), qui elle, s'occupe des interactions avec le hard, etc...C'est pour ça que c'est multi plate form : le byte code ne dépend pas de la machine et de l'os, seulement de la JVM, donc, 2 jvm de mêm everion sous win et sous Linux ou solaris ou un autre unix, u même macos, exécuteron ton code sans recompilation.
 
voila voial.

Reply

Marsh Posté le 09-08-2001 à 00:00:20    

Par contre, la JVM fournie sous Windows est implémentée en appelant directement l'API Windows (je parle pour l'AWT). D'où gros avantage, au moins en théorie : efficacité d'exécution, tout en ayant une indépendance totale du code source vis-à-vis de la plate-forme.
 
Par ailleurs, Java est un langage suffisamment puissant pour que son compilateur et sa machine virtuelle puissent être écrit eux-mêmes en Java (c'est ce qu'on appelle le bootstraping, genre de trucs dont les informaticiens raffolent).
 
Enfin, pour la genèse du langage, je te conseille de lire cette page, qui décrit comment a démarré le "Oak", re-baptisé "Java" au sein de Sun.
Personnellement, je dirais que pour le langage pur (pas la plate-forme Java, donc), les concepteurs se sont pas mal inspirés de C++ pour la syntaxe, et d'Ada et Smalltalk pour la philosophie, le tout avec un objectif clairement orienté réseaux et systèmes embarqués (un système embarqué, c'est un système plus ou moins autonome ; ça va du lave-vaisselle et du four à micro-ondes au missile de défense en passant par l'ascenseur et le logiciel d'assistance à la conduite d'une voiture).

 

[edtdd]--Message édité par BifaceMcLeOD--[/edtdd]

Reply

Marsh Posté le 09-08-2001 à 00:07:25    

Et la JVM elle est faite en quoi ?
 
La JVM elle dépend de l'OS et n'est pas multi-os non ?

Reply

Marsh Posté le 09-08-2001 à 00:16:49    

La JVM dépend pas mal de l'OS sur laquelle elle tourne.  
Et elle peut être écrite en n'importe quoi.
De même qu'un compilo c++ peut être écrit en VB par exemple (mais j'ai pas d'exemple sous la main :D)

 

[edtdd]--Message édité par Verdoux--[/edtdd]

Reply

Marsh Posté le 09-08-2001 à 00:23:02    

J'aurais envie de dire qu'elle dépend d'autant plus de la plate-forme (OS et processeur) que les machines virtuelles récentes ne se contentent plus de simplement d'interpréter le bytecode Java, mais souvent le compilent à la volée pour générer du code machine que le processeur pourra digérer directement (le module responsable de cette tâche, c'est ce qu'on appelle un compilateur "juste-à-temps", "Just-In-Time" (ou JIT) compiler en anglais).

Reply

Marsh Posté le 09-08-2001 à 00:48:35    

BifaceMcLeOD a écrit a écrit :

Par contre, la JVM fournie sous Windows est implémentée en appelant directement l'API Windows (je parle pour l'AWT). D'où gros avantage, au moins en théorie : efficacité d'exécution, tout en ayant une indépendance totale du code source vis-à-vis de la plate-forme.
 




 
Avantage, pas toujours : l'AWT étant très fortement (relativement au reste, bien sûr) dépendant de l'OS sous jacent, on rencontre souvent des problèmes d'incohérence de comportement d'une machien à une autre...Ca a l'air de rien, comme ça, mais une scrollbar qui défile en sens inverse sous Slaris et  sous Windows ça peut être TRES chiant..

Reply

Marsh Posté le 09-08-2001 à 00:55:07    

gfive> C'est pour cela que j'ai ajouté "en théorie". Et c'est aussi pour cela que JavaSoft a développé Swing, qui lui est censé être vraiment indépendant de la plate-forme du point de vue look-and-feel. Mais là, comme c'est du 100% Java, c'est plus lourd et plus lent. Difficile d'avoir le beurre et l'argent du beurre (sans parler de la crémière)...

Reply

Marsh Posté le 09-08-2001 à 07:09:41    

Verdoux a écrit a écrit :

La JVM dépend pas mal de l'OS sur laquelle elle tourne.  
Et elle peut être écrite en n'importe quoi.
De même qu'un compilo c++ peut être écrit en VB par exemple (mais j'ai pas d'exemple sous la main :D)  
 




 
 :lol:  :lol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed