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. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut [debat] Une question à mille réponses.... L'utilité du Java!
    Bonjour,

    j'aimerais avoir une réponse des programmeurs chevronnés et expériementés en Java.



    Jusqu'à quel niveau, ou plutôt jusqu'où le langage Java peut vous amener en programmation?




    Je m'explique:

    Je suis en train d'étudier quel langage de programmation je devrais utiliser. Avant d'entreprendre n'importe quel langage, j'aimerais savoir d'abord où celui-ci va m'amener.

    Je sait par exemple que le C++ sans être un langage de bas niveau me permet de programmer beaucoup de choses et il est aussi utilisable avec Linux que Windows. Mais qu'en est-il du Java? Il me semble que celui-ci est utilisé énormément sur le Net, mais pas ailleur (je m'avance, ne prenez rien pour acquis, ce n'est qu'une simple opinion).




    Autrement dit: Qu'est-ce que le Java me permet de faire?

    Est-ce que vous avez des exemples (liens Internet, base de données, programmes, applets, etc.)?




    Question importante: Quelle est la limite maximale du Java (est-ce qu'on pourrait créer un système d'exploitation en Java)? Où s'arrête ce langage?




    Merci!

    Soyez sûr que toutes les réponses seront appréciées!

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Hello,


    Java est un langage de haut niveau, il n'est pas vraiment adapté au codage de pilotes matériel ou de systèmes d'exploitation, il ne descend pas "si bas". En fait, un programme java contient un code intermédiaire (bytecode) qui tourne dans la JVM (transforme le bytecode en code natif).

    Par contre, c'est l'un des langages les plus modernes, autant dans la "propreté" du langage que de celle des API standard. Tout est bien normalisé, puissant et semble naturel en Java: tu n'as pas besoin d'apprendre des notions barbares de pointeurs et autres joyeusetés en java. La gestion de la mémoire est très sûre et performante, puisque automatique ou presque (pas de libération manuelle des ressources mémoires).

    - Java est fortement orienté objet
    - Typage fort des variables
    - Multiplateforme: le même fichier .class tourne indifférement sous Win, Mac, Linux, ...
    - Communauté très active
    - Multi-thread (multi-tâche interne dans un programme java)
    - Orienté Web serveur/client: Applets, Servlets, Java Web Start, ...
    - Disponible pour beaucoup de matériel (PC, PDA, Téléphones, ...)
    - Les dernières JVM avec compilateur JIT ont des performances approchant celles d'un code natif


    On pourrait dire encore beaucoup de choses mais je vais m'arrêter là

    Je laisse à d'autres le soin de complèter...

    Une chose est certaine: java est une valeur sûre, son seul concurrent réel est peut-être C# en .NET...



  3. #3
    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
    Citation Envoyé par implosion
    est-ce qu'on pourrait créer un système d'exploitation en Java
    Un projet existe : JNode
    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

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    un petit classement

    Pour résumer et pour ne pas répéter ce qui a déjà été dit:Si tu veux faire de l'OO, java est à mon humble avis le meilleur choix.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut
    Rebonjour,


    Programmer en orienté objet? Ce n'est pas le but de ma question... Peut-être que je me suis fait mal comprendre... désolé!

    Je sais que ça va vous demander plus de travail, mais ce que j'aimerais comme réponse serait comme suit:


    exemple:

    J'ai utilisé du Java pour faire un programme d'édition de dessin. Java m'a permis d'être extrêmement précis à cause de ces classes et librairies disponibles contrairement au C++ ou C#.

    Je connais aussi des programmeurs qui utilisent Java pour l'interaction avec une base de données en SQL avec des milliers de clients. Les connexions sont beaucoup plus rapides en Java. C'est son avantage.

    Ou encore, nous avons un besoins de programmeurs sur du code ouvert pour la réalisation d'un projet 3D. Java est en plein développement et même s'il fait la compétition au .Net de Microsoft, celui-ci ne disparaîtra pas à cause de ...


    Ce que je me suis rendu compte c'est que sans but réel, la programmation peut-être un cul de sac; On peut bien programmer des calculs mathématiques ou s'amuser à créer de nouvelles classes, mais sans projet, le langage est voué à l'échec.... Qu'est-ce que vous faites avec Java?

    On ne parle pas ici d'HTML, où le résultat de ce dernier est de faire apparaître une page web, mais de Java...

    si HTML = page web, JAVA = ?

    Ou autrement, définisser à quelqu'un qui n'a jamais programmer ce que le Java peut faire! Phil_S était bien partie!

    Donnez-moi des exemples!!!! C'est ce que je veux!!!!

    merci!

  6. #6
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Java = presque tout.

    Tu ne vas pas ecrire un driver en Java ou meme un OS (meme si certaines personnes ecrivent des OS en Java) mais tu peux faire presque tout ce que tu veux avec. Que ce soit du serveur, du desktop, de l'embarque, du PDA, du telephone, des set top boxes...

    Pour te donner une idee il y a 4,5 millions de developpeurs Java dans le monde aujourd'hui et 43% d'entre eux font du developpement Java EE (Web en gros). Et le reste ? Ben le reste ils font des applications pour le desktop, pour les telephones, pour des robots (la NASA en a mis dans des robots, Boeing a fait des avions drones en Java...), pour des voitures, pour des cartes a puce, pour des PDA... Il y a meme eu un grille-pain programme en Java pour dessiner la meteo sur tes toasts le matin.

    Java ne va pas disparaitre car c'est une plateforme soutenue par des boites comme Oracle, IBM, Sun (forcement), etc. et qui compte des millions d'utilisateurs dans le monde.

    Une des grandes forces de Java est sa communaute, tres ouverte, qui offre un ensemble impressionant de bibliotheque et de composants pour faire a peu pres tout et n'importe quoi.

    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.

    N'oublie pas que Java te permet de developper et deployer sur les plateformes majeures qui sont Windows, Linux et MacOS X sans (trop) de problemes. Tu peux deployer des applications avec un installeur, via WebStart avec mises a jour automatiques et installation en un clic, avec des applets, juste avec une archive... sur toutes ces plateformes.

    J'apprecie beaucoup Java parce que tu as toujours le choix : de la plateforme, du langage et des outils (tu veux faire du Java EE ? Tu as le choix entre Glassfish, JOnAS, JBoss, WebSphere, WebLogic... Tu veux un IDE ? Tu as le choix entre IntelliJ IDEA, NetBeans, Eclipse, JBuilder, JDeveloper...). Encore une fois le tout avec une liberte incroyables. La plupart des outils sont gratuits (NetBeans et Eclipse par exemple, mais aussi des serveurs Java EE comme Glassfish) et l'Open Source tient une place preponderante. Sans compter le JCP qui permet a la communaute de s'accorder sur des standards definits par des JSR (l'API OpenGL JOGL disponible pour Windows, Mac et Linux est par exemple definie par une JSR, donc standardisee en plus d'etre Open Source). Tu peux contribuer des correctifs pour le kit de developpement. Tu as meme le droit de modifier le code des API pour usage interne a ton entreprise. Tu peux aussi le faire pour redistribuer ta version modifiee a tes clients a conditions de passer des tests de comptabilite.



    Personnellement, j'ai developpe en Java sur telephone mobile, sur PDA (PocketPC, Zaurus et Palm Pilot), sur postes clients (Solaris, Mac, Linux et Windows), sur serveur et meme sur carte a puce en utilisant toujours le meme langage et une API commune ou tres peu differente.

  7. #7
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par implosion
    Programmer en orienté objet? Ce n'est pas le but de ma question... Peut-être que je me suis fait mal comprendre... désolé!
    De toute façon, programmation moderne = programmation objets

    Aujourd'hui, c'est devenu le standard

    GFX => entièrement d'accord

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut
    Merci!!!

    C'est exactement ce genre de réponses que j'attendais......

    Ça me donne une bonne idée du Java! Je veux vraiment être sûre avant de faire le grand saut...

    Une dernière petite question: Pill_S a parlé que le Java n'était pas vraiment adapté au codage de pilotes matériel... par contre Gfx a parlé de robotic... hummm est-ce seulement l'interface qui est en Java ou il est possible de programmer par exemple un microcontrolleur sur le port série ou parallèle d'un PC?


    Gracias!

  9. #9
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Il existe une JSR pour le Java temps reel. Je ne connais pas les details des implementations mais j'ai vu des robots ecrits en Java. Et je ne parle pas de l'interface. De toute maniere Java propose des API pour certaines choses comme la communication sur un port parallele (API JavaComm). Si quelque chose manque DANS Java on peut ecrire du code natif qui peut etre invoque depuis Java (et inversement).

  10. #10
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut
    Je suis tout a fait d'accord avec ce qui est dit ici...

    java = avenir...



    ce que j'ai fais en java: (c'était a titre personnel ou scolaire)

    - Controle d'un modem gsm branché sur le port RS232 qui permettais de controler une web cam avec des SMS envoyé depuis un téléphone portable (Natel pour les suisse)

    - Un jeu en 2d du style "Mario bros" (je n'ai pas encore eu le temps de finir)

    - un chat qui ressemble à l'ancien chat de "caramail" pour ceux qui connaisse... (client et serveur) entièrement en java

    - en cours de développement: Un programme de comptabilité pour ma mère (pcq celui qu'elle utilise actuellement supporte seulement 1000 écritures)

    - et plein d'autre petit programme inutile...


    Ou c'est que tu auras des problèmes en java c'est si tu as envie de controler des instructions propre à un système d'exploitation... Comme il est dit plus haut, java est un langage de haut niveau...

    mais il vaut la peine d'etre appris...


  11. #11
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut
    Merci à tous!

  12. #12
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Ah j'avais oublie : j'ai recemment programme des Lego Mindstorm en Java

  13. #13
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Par défaut
    Hé... je vais me coucher un moins stupide ce soir!!!


    Je viens d'aller voir le site de Lego Mindstorm... assez incroyable ces petits robots!

    Gfx tu as réussi à mettre la main sur ces bidules (il l'annonce pour l'automne 2006)
    ?!??

    C'est vraiment super!

    Merci Gfx!

  14. #14
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    En fait ce qui est annonce pour l'ete 2006 est la nouvelle version. J'ai le model precedent qui est deja super sympa mais j'avoue que les ameliorations prevues sont vraiment impressionantes.

  15. #15
    Membre confirmé Avatar de lunart
    Homme Profil pro
    Administrateur système et réseau
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur système et réseau

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Par défaut Utiliser des algos de lisp dans un programme java
    Citation Envoyé par Gfx
    Java = presque tout.

    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.
    est-ce que ça signifie que je peux inclure du code Lisp à mon code java?
    Quel est le meilleur moyen de profiter des force du language Lisp en profitant des forces de java?
    Java dans lisp ou lisp dans java?

    Merci d'avance
    Pierre

  16. #16
    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,

    J'ajoute mon grain de sel !
    Pour moi, Java est un des meilleurs langages dans le sens ou il est portable.
    Tu peux programmer une appli qui tournera sans problème sur n'importe quelle plateforme (ou prèsque) sans encombrer ton code de compilation conditionnelle (aaah, mes projets C++ de DUT, j'ai apprécié ).
    Alors pour les applis que j'ai réalisées en java :
    -un jeu d'abalone en tour par tour
    -un jeu type space invaders en temps réél
    -un jeu type snake
    -un jeu puissance 4 (bon ok c'est beaucoup de jeux)
    mais aussi actuellement, dans mes developpements personnels :
    -un browser
    -un editeur de texte

    Ce ne sont que des exemples, actuellement je suis en stage et je fais du EE, donc du web. c'est assez impressionnant à utiliser, tant par sa simplicité que par sa puissance au niveau dynamique.
    Voila voila, pour moi Java est un langage majeur, qui à terme deviendra un langage extremmement utilisé.
    Le seul inconveignant est la lenteur, qui ne permet pas comme l'a dit gfx de faire un OS par exemple... ENfin si on peut, mais quel interet ? Il faut aussi choisir selon ses besoins ...

    bien à toi !

    mavina

  17. #17
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Citation Envoyé par lunart
    est-ce que ça signifie que je peux inclure du code Lisp à mon code java?
    Quel est le meilleur moyen de profiter des force du language Lisp en profitant des forces de java?
    Java dans lisp ou lisp dans java?

    Merci d'avance
    Pierre
    pour moi "L.ot of I.nsipid and S.tupid P.arentheses" et "JAVA" n'ont pas la même vocation. Mélanger les deux, apparament c'est possible, mais pourquoi ??

  18. #18
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Par défaut
    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 ? Car dans ce cas là ça rend pas très "ouvert" la page web.

    Bonne soirée

  19. #19
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Citation Envoyé par iohack
    pour moi "L.ot of I.nsipid and S.tupid P.arentheses" et "JAVA" n'ont pas la même vocation. Mélanger les deux, apparament c'est possible, mais pourquoi ??
    Le fait de pouvoir mélanger plusieurs langage permet d'utiliser un langage pour ce a quoi il aspire. Le java est un langage objet, donc on l'utilise pour un développement object (je sais c'est con a dire mais voyons la suite). Un langage comme lisp est un langage fonctionnel, lisp n'a absolument pas la vocation de creer des programmes qui utilisent des fonctionnalités objet.
    Bon maintenant on pourrait immaginer un programme qui modelise le cycle de vie d'un neurone et sa proliferation, où en lisp on s'occupe de toute la partie décisionnel de la chose, en c on s'occupe de la partie calcul, et en java de la partie affichage (C'est une possibilité ^^)

  20. #20
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    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 ? Car dans ce cas là ça rend pas très "ouvert" la page web.
    Je pense que oui car l'applet s'execute coté client(j'espère que je ne dis pas de bétises et donc faut avoir la JVM.
    En passant, avec java, je n'ai jamais trouvé de questions sans réponses

Discussions similaires

  1. Encore une question licence
    Par Neilos dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/01/2005, 09h48
  2. Encore une question sur malloc
    Par IG88 dans le forum C
    Réponses: 5
    Dernier message: 23/06/2004, 15h35
  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, 10h07
  4. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

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