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 :

[debat] Une question à mille réponses.... L'utilité du Java!


Sujet :

Langage Java

  1. #21
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Salut,

    Citation Envoyé par philippe13
    Salut,
    je m'escuse de m'inserrer dans la conversation, mais j'ai une question sur le java et le net. Si l'on fait une page web en html avec une applet dedans la personne telechargeant la page doit elle avoir la machine virtuelle ?
    Oui... C'est plutôt logique, si ca s'executait coté server, on perd la portativité...
    Citation Envoyé par philippe13
    Car dans ce cas là ça rend pas très "ouvert" la page web.

    Bonne soirée
    C'est là qu'on peut voire à l'envers... Là ou certains navigateurs pourraient interpreter différemment certaines choses, pour l'applet java pas de soucis, la JVM interprette tout par rapport au systeme du client, ce qui nous donne la meme chose peu importe le browser du client...

    bien à toi

    mavina

  2. #22
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    Merci de cette réponse qui m'éclaire bien.
    En abusant un peu plus, quelle est la difference entre un site fait en j2EE ou en flach ? Pour le client et le serveur.

  3. #23
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    Et puis Java ce n'est pas que le langage Java, tu as des dizaines et des dizaines de langages disponibles pour la plateforme Java : Python, Ruby, Perl, COBOL, Lisp, Smalltalk, Fortran, Basic, Prolog, etc.
    Moi, en tant que non-spécialiste java bien sûr, je voudrais comprendre quel est l'intérêt de tous ces "ponts" entre Java et les différents langages cités ?
    (Ce n'est pas une critique, juste une question...)

    Si quelqu'un pouvait m'éclairer sur la raison d'exister de ces liens...

  4. #24
    Membre éprouvé
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Par défaut
    Citation Envoyé par calogerogigante
    Moi, en tant que non-spécialiste java bien sûr, je voudrais comprendre quel est l'intérêt de tous ces "ponts" entre Java et les différents langages cités ?
    (Ce n'est pas une critique, juste une question...)

    Si quelqu'un pouvait m'éclairer sur la raison d'exister de ces liens...
    A mon humble avis, et sans être un grand spécialiste de ce genre de choses, je dirai : il existe un pont entre tous ces langages et java parceque... Java ne fait pas ce que ces langages font ? C'est une sorte de complément, ca permet d'utiliser Java pour des choses pour lesquelles il n'est pas prévu tout en gardant la portativité ?

    Ce n'est qu'une hypothèse...

    mavina

  5. #25
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par philippe13
    En abusant un peu plus, quelle est la difference entre un site fait en j2EE ou en flach ? Pour le client et le serveur.
    Il n'y a rien de comparable entre ces deux technologies...
    J2EE est un framework qui facilite la création d'application serveur quel qu'il soit, même si dans la plupart du temps il s'agit de serveur d'application web...
    Dans ce dernier cas l'appli J2EE exécutera du code Java coté serveur, qui enverra des documents dynamiquements généré aux clients. Cela peut très bien être de l'HTML, XHTML, PDF, etc... Le client n'a donc pas besoin de JVM (mis à part si on y ajoute des Applets).
    En bref un peu comme PHP (même si J2EE offre beaucoup plus de possibilité).


    Citation Envoyé par calogerogigante
    Moi, en tant que non-spécialiste java bien sûr, je voudrais comprendre quel est l'intérêt de tous ces "ponts" entre Java et les différents langages cités ?
    (Ce n'est pas une critique, juste une question...)
    Cela permet à la fois d'utiliser le langage le plus adapté à tes besoins, et de les faire cohabiter facilement...
    Chaque langage a ses avantages et ses inconviénients, et au sein d'un même projet tu peux être amené à les faire cohabiter...

    Les intérêts sont multiples : prenons l'exemple de Firefox :
    • Il est développé en C++.
    • Son interface graphique est écrite en XUL couplé avec des CSS.
    • Il utilise également du Javascript (en particulier pour les extensions).
    • etc...
    Les intérêts sont multiples et cela offre une grande souplesse (pourquoi s'embêter avec un code complexe lorsque deux lignes de Javascript peuvent faire l'affaire ?).

    Bref : même s'il est possible de tout faire en Java, il ne faut pas pour autant ignorer les autres langages, et en particuliers les langages de scripts...

    D'ailleurs Java SE 6 améliorera encore plus cela en proposant une API standard de scripting permettant de faire "communiquer" Java et différents langages de scripts (cf Blog : Java et les langages de script...).


    a++

  6. #26
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    C'est très clair, Adiguba.

    Mais je n'ai aucune idée (pour l'instant) comment un code, autre que java, pourrait être intégré au sein de sources java ??

    J'ai l'impression que ça revient à parler 30 secondes en chinois (non compréhensible) dans un discours anglais (compréhensible).

    Sans vouloir abuser, aurais-tu un petit exemple très simple d'un code java qui englobe un code en C, par exemple ? (car le C, je connais assez bien).

    Merci d'avance si tu peux...

  7. #27
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par calogerogigante
    Mais je n'ai aucune idée (pour l'instant) comment un code, autre que java, pourrait être intégré au sein de sources java ??

    J'ai l'impression que ça revient à parler 30 secondes en chinois (non compréhensible) dans un discours anglais (compréhensible).
    On ne parle pas de mélanger les langages dans le même fichier, mais d'utiliser les deux conjointement...
    Tu peux par exemple exécuter un script PERL depuis Java (avec Runtime.exec() par exemple).

    L'API de script de Mustang proposera par exemple une série de méthode eval() permettant d'exécuter du code depuis une String ou un flux de donnée (via un Reader), tout en permettant une association entre tes classes Java et ton langage de script... (cet article en anglais explique brievement le principe : http://www.ociweb.com/jnb/jnbFeb2006.html )


    Citation Envoyé par calogerogigante
    Sans vouloir abuser, aurais-tu un petit exemple très simple d'un code java qui englobe un code en C, par exemple ? (car le C, je connais assez bien).
    Ici c'est un cas particulier puisqu'il s'agit d'un langage compilé, et non pas d'un langage de script... mais c'est possible avec JNI.

    a++

  8. #28
    Membre Expert
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Par défaut
    Je sais que ce n'est pas tout à fait une réponse à la question initiale, cependant, même si c'est une vision plus commerciale et fonctionnelle, je pense qu'il est important de dire qu'une des forces de java est le potentiel ressource qu'il représente actuellement, potentiel qui a d'ailleurs tendance à s'accroitre.
    Par potentiel ressource, comprenez nombre de personnes maitrisant la techno sur le marché actuel.
    En effet, un langage peut se développer et donc évoluer, apporter de nouvelles possibilités... s'il est utilisé. Pour qu'il soit utilisé, une techno doit être choisie par les entreprises. Or le fait de trouver "facilement" et sur le long terme des personnes qui soient capables de développer et maintenir des applications dans un certain langage entre largement en compte dans le choix de la techno.
    Pour preuve, les technologies gros système perdurent depuis bien longtemps et finalement, la seule chose qui fait que quelques boites tentent une transition est qu'il devient difficile de trouver des ressources pour maintenir et faire évoluer ces systemes.

    Sinon, je suis tout à fait d'accord avec l'ensemble des informations qui ont été fournies. J'ajouterais juste que java est tres prisés pour les architectures complexes (inter opérabilité, accés à différentes base, interfaces personnalibles...) et les "gros" projets (en terme basement quantitatif de code) car il est fortement orienté objet et permet de découper le programme de facon clair, ce qu'il lui donne de gros avantages en matiere de maintenabilité, d'évolutivité et de reprise de code.

  9. #29
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par viena
    je pense qu'il est important de dire qu'une des forces de java est le potentiel ressource qu'il représente actuellement, potentiel qui a d'ailleurs tendance à s'accroitre.
    Par potentiel ressource, comprenez nombre de personnes maitrisant la techno sur le marché actuel.
    En effet, un langage peut se développer et donc évoluer, apporter de nouvelles possibilités... s'il est utilisé. Pour qu'il soit utilisé, une techno doit être choisie par les entreprises. Or le fait de trouver "facilement" et sur le long terme des personnes qui soient capables de développer et maintenir des applications dans un certain langage entre largement en compte dans le choix de la techno.
    Et en plus Java est maintenant LE language principal de développement enseigné en études supérieures d'informatique...
    Ca permet aussi de faire s'installer java dans les entreprises

    Sinon, au niveau avantages inconvénients d'après moi:
    Avantages:
    - Multiplateforme
    - Facilité de développement / maintenance
    - Structuration et mécanismes du langage qui en font le language le plus complet et le plus évolué
    - JIT permettant d'avoir des performances proches du code natif
    - Interfaces graphiques Swing très complètes, jolies et skinnables, et faciles à mettre en oeuvre
    - Librairies standard très complètes, permettant de faire un peu tout (JDBC, AWT/Swing, parseXML, pattern matching, collections...)

    Bon les inconvénients, il y en a quand même quelques uns...
    Les plus génants pour moi sont:
    - la compatibilité ascendante, c'est un avantage car les anciens programmes tournent sur les nouvelles jvm, mais ça limite les possibilités des nouvelles classes.
    - l'héritage multiple indisponible (ça aurait été plus pratique de ne pas avoir d'interface, mais que des classes abstraites, avec un nombre illimité de superclasses pour une classe donnée, mais bon c'est sûr après faut résoudre les conflits).

    Autre petit inconvénient:
    - Swing, il faut bien le reconnaître, est plus lent qu'une interface d'un programme C++ (mais c normal, c plus joli), et avant la version 6.0 de java, il y a des petits problèmes lorsqu'une fenêtre passe au-dessus d'une autre (un rectangle gris).


    Donc en gros, java c'est simple (une fois qu'on a compris lol), facile à maintenir, performant, très complet, très bien documenté, enlève beaucoup de risque d'erreurs (gestion mémoire) et multiplateforme... Que demande le peuple ?

  10. #30
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ®om
    - la compatibilité ascendante, c'est un avantage car les anciens programmes tournent sur les nouvelles jvm, mais ça limite les possibilités des nouvelles classes.
    En même temps c'est un peu ce qui a fait son succès en entreprise : on sait que les applications développées ne deviendrons pas obsolète du jour au lendemain parce que l'éditeur a décidé de tout changer...
    Et malgré cela les entreprises ont encore du mal à passer à Java 5.0 !!!

    Citation Envoyé par ®om
    - l'héritage multiple indisponible (ça aurait été plus pratique de ne pas avoir d'interface, mais que des classes abstraites, avec un nombre illimité de superclasses pour une classe donnée, mais bon c'est sûr après faut résoudre les conflits).
    Je suis sceptique sur ce point : l'héritage multiple "pur" peut poser de nombreux problèmes, et c'est généralement déconseillé...

    Citation Envoyé par ®om
    Autre petit inconvénient:
    - Swing, il faut bien le reconnaître, est plus lent qu'une interface d'un programme C++ (mais c normal, c plus joli), et avant la version 6.0 de java, il y a des petits problèmes lorsqu'une fenêtre passe au-dessus d'une autre (un rectangle gris).
    Swing souffre aussi de nombreuses méconnaissances de ses mécanismes qui aboutissent à des erreurs de programmation... Je pense en particulier à la gestion de l'Event Dispatch Thread qui est parfois méconnu (alors qu'il doit servier à mettre à jour l'affichage)...

    a++

  11. #31
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par adiGuba
    Swing souffre aussi de nombreuses méconnaissances de ses mécanismes qui aboutissent à des erreurs de programmation... Je pense en particulier à la gestion de l'Event Dispatch Thread qui est parfois méconnu (alors qu'il doit servier à mettre à jour l'affichage)...
    D'ailleurs, je ne connais pas Event Dispatch Thread
    Tu peux m'en dire un peu plus ^^

  12. #32
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Un lien qui devrait t'être utile:


    http://www.progx.org/index.php?secti...ies&newsid=673

  13. #33
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Tu trouveras un exellent article de Gfx sur l'Event Dispatch Thread ici

    [edit]grillé[/edit]
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  14. #34
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    L'EDT est en fait le thread d'affichage des composants Swing, car les composants Swing n'étant pas thread safe, tu ne peut pas y accéder depuis plusieurs threads en même temps, et tu dois y accéder par le biais de l'event dispatch thread.

    Ce thread fonctionne comme une file d'attente, un ajoute chaque nouvel evenement graphique à sa liste et effectue les actions les unes après les autres. Si tu fais une action dans l'EDT qui dure 2 minutes, tu peut t'attendre à ce que ton application soit bloqué pendant 2 minutes. Il faut donc dans ton programme différencier les traitements graphiques (que tu vas traiter dans l'EDT), des autres traitements (qu'il faudrait traiter dans un thread à part pour éviter de bloquer l'EDT).

    Pour modifier un composant Swing depuis un autre thread, il te faut utiliser une des 2 méthodes que propose SwingUtilities, c'est à dire invokeLater ou invokeAndWait, qui vont ajouter ces événements dans la liste d'attente de l'EDT.

    Je crois que j'ai dit la plupart ce qu'il y a à dire

    Si tu veut plus d'infos et des exemples, j'ai touvé ce site qui est pas mal : http://www.progx.org, dans la page principale, il y a un sujet Swing et l'Event Dispatch Thread

    [EDIT]Très grillé [/EDIT]

  15. #35
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Ah intéressant comme article...
    Car j'utilisais ce genre de méthode (l'exemple donné):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void actionPerformed(ActionEvent e) {
      new Thread(new Runnable() {
          public void run() {
            String text = readHugeFile();
            textArea.setText(text);
          }
      }).start();
    }
    et non un invokeLater... C'est bon à savoir

  16. #36
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    On apprend vraiment plien de trucs très très interressant!!!!!

  17. #37
    Membre averti
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 16
    Par défaut
    Citation Envoyé par le y@m's Voir le message
    Un projet existe : JNode
    Oui, je confirme JNode existe et il est toujours actif .
    Depuis plus de 3 ans et demi, je participe activement à ce projet auquel je crois beaucoup.

    Nous avons besoin de toutes les bonnes volontés. Alors, si vous voulez nous aider, vener nous aider ou discuter sur notre canal irc #JNode.org (serveur irc.oftc.net).

    D'autre part, nous venons de sortir la version 0.2.5

Discussions similaires

  1. Encore une question licence
    Par Neilos dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/01/2005, 10h48
  2. Encore une question sur malloc
    Par IG88 dans le forum C
    Réponses: 5
    Dernier message: 23/06/2004, 16h35
  3. [.NET] Une question technique a propos du mode asynchrone
    Par nicknolt dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/06/2004, 11h07
  4. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 15h03

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