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

C++ Discussion :

java ou c++ ou autre


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut java ou c++ ou autre
    bonsoir
    je suis un �tudiant en g�nie informatique
    je veux me concenter dans l'apprentissage d'un langage de programmation orient� objet . A l'�cole on �tudie plusieurs langages superficiellement comme java c++ vb.net .Comme je viens de dire je veux choisir un seul langage pour la ma�triser. Aidez moi � faire le bon choix.
    Merci

  2. #2
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Citation Envoy� par louzorios Voir le message
    bonsoir
    je suis un �tudiant en g�nie informatique
    je veux me concenter dans l'apprentissage d'un langage de programmation orient� objet . A l'�cole on �tudie plusieurs langages superficiellement comme java c++ vb.net .Comme je viens de dire je veux choisir un seul langage pour la ma�triser. Aidez moi � faire le bon choix.
    Merci
    Salut, et bienvenue sur le forum.

    S'il y a bien une question pi�ge, c'est sans doute celle-l�...

    Le fait est que de nombreux programmeurs connaissent plusieurs langages et sont au moins capables de se d�brouiller chacun de ceux que tu as cit�s (en plus, tu as oubli� C# ), mais pr�f�rent l'un ou l'autre, pour toute une s�rie de raisons, parfois tr�s subjectives.

    Il y a de fortes chances que tu obtienne en moyenne autant de r�ponses en faveur de chaque langage, si tu "joue le jeu" et que tu pose la question dans une partie du forum "g�n�raliste".

    Mais, comme tu pose la question dans la section C++, il faut bien te dire que tu "pipes un peu les d�s" car, il y a de fortes chances que ceux qui te r�pondront aient un gout prononc� pour... C++...

    Il existe d'ailleurs un nombre important de d�bats dans une des sections voisines qui tentent de mettre deux langages en comp�tition, et on remarque g�n�ralement toujours la m�me chose : il y a autant de "pro l'un, anti l'autre" que l'inverse

    A titre personnel, je crois que tu devrais en fait profiter des cours sur chaque langage pour te faire ta propre id�e, ton propre ressenti et pour voir si la "mentalit�" du langage est en accord avec la tienne ou non...

    Il faut savoir que tous les langages ont leurs avantages, qui, curieusement, se transforment souvent en inconv�nients lorsqu'ils sont utilis�s dans la bouche de leurs d�tracteurs.

    Cette r�ponse ne t'aidera surement pas � faire ton choix, et ce n'est pas son but. Son but est, tout simplement, de te faire comprendre qu'au final le choix doit venir de toi, comme devrait venir de toi le choix d'entrer en religion
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  3. #3
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut
    Merci � vous
    Mais si vous pouvez me dire si vous �tes un d�veloppeur c++ pourquoi tu l'as choisit et non pas java

  4. #4
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Je dirais quand m�me, bien que d'accord avec Koala, que les domaines d'application classiques sont quand m�me assez disjoints (pour des raisons au moins autant historiques que techniques). web, gestion, applis pour t�l�phone... : Java/C#. Calcul scientifique, jeux, temps r�el... : C++
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par d�faut
    Pour compl�ter ce qui a d�j� �tait dit, il y'a un autre facteur � prendre en compte : le temps. (de formation). En gros tu deviendras plus vite productif en java qu'en C++, mais le passage java => C++ demande un gros effort (y'a qu'a voir les codes C++ des gens qui viennent du java)...

  6. #6
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut
    je vous remercie , s'il y a encore d'autres choses qui peuvent m'aider � faire le bon choix n'h�sitez pas de me les dire , je suis tr�s reconnaissant .

  7. #7
    Membre chevronn� Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par d�faut
    Le c++ c'est plus plus \o/ ! -_-'

    En bien ou en mal :
    Le c++ est un langage de "bidouille" qui ne t'emp�che pas de te "tirer une balle dans le pied", mais du coup est un peu plus "libre".

  8. #8
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par d�faut
    Je pense que pour apprendre, il vaut mieux apprendre le C++. Cela te permettra d'�tudier un plus grand panel de paradigmes de programmation, contrairement � java qui va t'enfermer dans une vision tout objet beaucoup plus restrictive.

    Apr�s, il faut aussi bien apprendre le C++. La section Tutoriels et Livres de ce site te donnera de bonnes bases .

  9. #9
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut
    je n'ai pas compris les m�taphores que vous avez fait.
    Expliquez moi plus simplement si �a ne vous d�range pas
    merci

  10. #10
    Membre chevronn� Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Par d�faut
    En gros, il y a moins de restriction en c++ (utilisation des pointeurs par exemple), ce qui peut �tre parfois dangereux, mais parfois bien pratique aussi...

  11. #11
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    D�tails du profil
    Informations personnelles :
    �ge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par d�faut
    Et le fait est que si tu te lances dans du C++ m�me si �a va demander un effort plus consid�rable que java/C#, passez � ces derniers par la suite, se fera comme sur des roulettes...

  12. #12
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Citation Envoy� par louzorios Voir le message
    je n'ai pas compris les m�taphores que vous avez fait.
    Expliquez moi plus simplement si �a ne vous d�range pas
    merci
    Je pr�sumes que cela fait suite � l'intervention de Lavock
    En bien ou en mal :
    Le c++ est un langage de "bidouille" qui ne t'emp�che pas de te "tirer une balle dans le pied", mais du coup est un peu plus "libre".
    En fait, il faut se dire que java est du genre � admettre la m�diocrit�:

    C'est un langage exclusivement orient� objet qui se base m�me sur le "tout objet" (toute classe h�rite implicitement d'une classe Object).

    Il a �t� con�u de mani�re � emp�cher ou d�charger le programmeur de certaines pratiques consid�r�es comme "dangereuses".

    Les deux grands exemples sont l'h�ritage multiple qui est interdit et le garbage collector qui s'occupe de tout ce qui a trait � la gestion de la m�moire.

    Un autre exemple que nous pourrions citer de sa tol�rance de la m�diocrit�, bien qu'il ne s'agisse pas d'une pratique dangereuse, c'est la d�cision qui a �t� faite de consid�rer toute fonction membre comme �tant virtuelle, point, barre.

    Et nous pourrions citer plein d'autres exemples du m�me cru

    Le r�sultat est un langage, certes, facile � apprendre, mais, c'est pour la raison principale qu'il a plac� des restrictions artificielles afin de permettre au programmeur ou au concepteur d'ignorer purement et simplement des probl�mes tels que la gestion de la m�moire, ceux qui pourraient �tre induits par l'h�ritage multiple ou encore le surcout que peut impliquer la virtualit� des fonctions membres.

    De ce fait, m�me un programmeur "m�diocre" peut tr�s bien s'en sortir avec un raisonnement bancal ou une conception insuffisante voire inadapt�e et obtenir malgr� tout quelque chose qui, en premi�re analyse, pourrait sembler "tenir la route".

    Java est donc, certes, s�curisant � utiliser, mais, d'un autre cot�, tu dois prendre ces restrictions en compte d�s l'�tape de conception, ce qui fait que tu perd en libert� et en souplesse au niveau du travail pr�liminaire � l'�criture du code.

    Pire encore, on constate qu'il aborde certains principes (comme le principe de substition de liskov) et lois sous un angle assez particulier:

    Bien sur, il n'est pas faux de dire que "tout est un objet", mais il est malgr� tout difficile de trouver des propri�t�s commune � une feuille de papier, une pommes et une voiture (et je ne parle m�me pas des chiens et des chats )

    Or, lorsque l'on regarde la classe Object, on remarque, entre autres, les fonction toString et equals.

    Si nous devions respecter Liskov, nous ne pourrions d�cemment pas envisager de faire d�river FeuilleDePapier, Voiture ou Pomme de Object, d'abord parce qu'il est impossible de comparer une feuille de papier ou une pomme � une voiture, ensuite parce que la propri�t� toString n'a aucun sens pour de tels objets...

    L'autre exemple � mettre en avant est la loi demeter qui est joyeusement bafou�e par certains environnements de d�veloppement qui nous �mettent joyeusement un avertissement si par malheur on ne place pas un accesseur, ou pire encore, un mutateur sur chaque membre d'une classe...

    C++ quant � lui est entre autres un langage orient� objet...

    En effet, c'est un langage qui supporte et qui int�gre naturellement trois paradigmes distincts:
    • Le paradigme proc�dural pur et simple
    • Le paradigme orient� objet
    • Le paradigme de programmation g�n�rique
    Et, surtout, C++ a pris d�s le d�part de ne placer aucune restriction artificielle:
    L'h�ritage multiple est autoris�
    • L'utilisateur peut g�rer lui-m�me la dur�e de vie des objets qu'il utilise
    • les fonctions membres peuvent �tre virtuelles mais ne le sont pas d'office
    • Il n'existe aucune classe qui serve de base � toutes les autres
    • ... la liste des diff�rences est encore longue
    Le r�sultat est un langage finalement bien plus complexe � l'apprentissage, si, du moins, il est question de le ma�triser, mais qui laisse une libert� et une souplesse bien plus importante au programmeur ou au d�veloppeur.

    La souplesse dont il est question est celle de ne pas �tre limit� dans les possibilit�s de d�veloppement: si tu as besoin d'un h�ritage multiple, tu ne va pas te retrouver � essayer de le contourner en mettant un quelconque processus bancal bas� sur l'agr�gation au point: tu utilisera effectivement l'h�ritage multiple.

    Le revers de la m�daille, c'est que si le programmeur ou le d�veloppeur sont m�diocre, la libert� que C++ leur donne va jusqu'�... celle de faire d'�normes boulettes... de se "tirer une balle dans le pied"

    Car toute erreur commise se payera t�t ou tard au "prix fort", par l'obtention d'un r�sultat aberrant, par un plantage magistral ou par la n�cessit� de "tout casser" pour permettre l'�volution au del� d'un certain point (mais cette n�cessit� apparait aussi en java ).

    Autrement dit, un programmeur m�diocre ne pourra jamais obtenir qu'un r�sultat m�diocre, mais un programmeur (ou un concepteur) pr�sentant un haut degr� d'excellence sera en mesure de fournir un r�sultat pr�sentant un haut degr� d'excellence et d'efficacit�
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  13. #13
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut
    apparemment le choix est difficile � faire mais apr�s vos r�ponses je me sens plus alaise avec le c++ malgr� ses exigences.Dans un autre forum quelqu'un m'a dit que trouver un travail de d�veloppeur JEE est plus facile et mieux rentable que C++.
    Comment trouvez vous cet avis?
    Merci

  14. #14
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par d�faut
    J'en pense qu'en tant que d�butant, ce ne sont pas tes comp�tences qui seront regard�es, mais le plus souvent ton dipl�me. Si tu ma�trise bien C++, tu pourras toujours t'adapter � Java pour gagner ta cro�te.

    L'inverse est moins vrai, par contre.

  15. #15
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 159
    Par d�faut
    Le plus important c'est:
    - C'est de conna�tre la programmation orient�e objet et la g�n�ricit�.
    - Pouvoir vendre ses connaissances sur le march� de l'emploi.

  16. #16
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Ao�t 2004
    Messages
    1 717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 717
    Par d�faut
    J'en pense qu'en tant que d�butant, ce ne sont pas tes comp�tences qui seront regard�es, mais le plus souvent ton dipl�me. Si tu ma�trise bien C++, tu pourras toujours t'adapter � Java pour gagner ta cro�te.

    L'inverse est moins vrai, par contre.
    De mon experience, l'exp�rience m�me personelle est plus importante que les diplomes dans les milieux requ�rant C++. Pour ce qui est du Java, visiblement, si l'employeur se base plus sur le diplome que sur un test ou les projets persos, il y a de fortes chances pour que la qualit� du code soit m�diocre (m�me si certainement suffisante).

    Enfin c'est une autre discussion.

    Sinon, �a a �t� sous entendu sans �tre dit : en C++ pour �tre vraiment efficace tu dois comprendre les "tripes" des diff�rentes possibilit�es du language; c'est en grande partie ce qui fait qu'une fois dans un autre language tu peux imaginer facilement (avec de l'experience en C++) comment est impl�ment� ce qui est g�r� automatiquement par ce language (comme un garbage collector, ou bien les r�f�rences d'objets).

  17. #17
    Membre confirm�
    Inscrit en
    Juillet 2009
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Par d�faut
    je vous remercie pour vos r�ponses
    Maintenant si on regarde les 2 langages de point vue Domaines d'applications , on connait qu'une application java peut �tre soit une application client (j2se) soit une applet soit une servlet(j2ee) mais aussi j2me .Je me demande ici : C++ peut il affronter java dans tous ces domaines?
    Merci

  18. #18
    R�dacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supa�ro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Ing Supa�ro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par d�faut
    Y'avait pas eu plus de 100 pages de troll java vs C++ ?
    Je le retrouve plus

    Edit: ah ba si. Il est ici .

    Enjoy
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une tr�s bonne doc sur le C++ (en) Why linux is better (fr)

  19. #19
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    D�veloppeur de jeux vid�o
    Inscrit en
    Ao�t 2004
    Messages
    1 717
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur de jeux vid�o
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 1 717
    Par d�faut
    louzorios> Th�oriquement, C++ peut �tre utilis� pour faire n'importe quel type d'applications et Java presque n'importe quel type d'application, juste pas tout ce qui touche directement a la machine comme des drivers.

    Dans la pratique on retrouve souvent C++ dans l'embarqu�, dans les jeux vid�o, dans les applications de traitement a haute performance, Java dans les applications Web, et les deux pour des applications "outil" (avec un GUI).

    En gros.

  20. #20
    Expert confirm�
    Avatar de Melem
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par d�faut
    Citation Envoy� par Klaim
    Dans la pratique on retrouve souvent C++ dans l'embarqu�, dans les jeux vid�o, dans les applications de traitement a haute performance, Java dans les applications Web, et les deux pour des applications "outil" (avec un GUI).
    Dans l'embarqu� ? Pas si s�r.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 4 1234 Derni�reDerni�re

Discussions similaires

  1. Communication entre deux programmes Java. http ? Rmi ? WS ? Autres ?
    Par tiboudchou dans le forum Entr�e/Sortie
    R�ponses: 8
    Dernier message: 26/03/2009, 12h50
  2. Comment tuer un java.exe individuellement des autres ?
    Par Battosaiii dans le forum Windows XP
    R�ponses: 3
    Dernier message: 18/11/2008, 09h43
  3. R�ponses: 13
    Dernier message: 27/02/2008, 16h01
  4. G�n�rer une classe java � partir d'une autre
    Par hebmaster dans le forum G�n�ral Java
    R�ponses: 5
    Dernier message: 29/05/2006, 16h09
  5. appel d'une class java en javascript ou autre
    Par tit_oune dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 04/04/2006, 15h24

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