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 :

du C++ au Java


Sujet :

C++

  1. #1
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut du C++ au Java
    Quand on connait et qu'on a des bases en C++
    est-il difficile d'apprendre le Java?

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je dirais que non. C'est surtout l'inverse qui est compliqu�.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut
    quant au principe de programmation, de la syntaxe,
    du langage objet, est-ce similaire?

    en fait, je pose cette question parce que j'ai dit que je savais programm� en Java pdt un entretien, et c'est faux
    Alors j'ai deux semaines pour apprendre les bases du java
    est-ce possible.

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    97
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 97
    Par d�faut
    Lol bien sur, c'est tres simple de passer de C++ a Java.
    En 2 semaines tu devrais avoir le temps de revoire toutes les bases + faire le tour
    des bibliotheques equivalentes a la STL et bien plus.

    Ce que tu peux difficilement apprendre en 2 semaines c'est le langage + le framework utilise. Que vas-tu faire ? du devellopement web, serveur, graphique, ....

    Java est un vaste langage. Ce n'est pas le langage qui est dur a apprendre. Ce sont les milliers d'environements et frameworks differents.

  5. #5
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut
    en ce qui concerne les framework j'en sais absolument rien.
    je veux deja apprendre les bases de Java, la syntaxe quoi.

    Ensuite, je crois que dans les offres d'emplois, c'est le truc JSEE ou JS2EE qui est souvent demand�.

  6. #6
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Java est tr�s demand� sur le march� effectivement.

    Aller de C++ � Java est bien moins dur effectivement que de passer de Java � C++.

    Toutefois, cela d�pend du niveau que tu as en C++. Si tu connais � peine les classes, tu n'auras pas beaucoup d'avance sur l'apprentissage de Java. Si tu maitrises la POO en C++, �a ira sans trop d'encombres.

    Mais dans tous les cas, faudra bosser, pratiquer beaucoup, comme d'habitude.

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

    De mon avis personnel, on a surement plus facile � passer de C++ � java que l'inverse... De l� � dire que cela se fait sans emb�ches ni cris, il y a surement �norm�ment de marge

    S'agissant de deux langages utilisant le m�me vocable de "Langage Orient� Objet", il est surement tr�s facile de faire une liste des points communs que l'on rencontre, parmi lesquels une approche s�quentielle de la programmation et donc un approche similaire en ce qui concerne les structures de contr�le (tests vrai/faux ou � choix multiples, boucles en tous genres, r�cursivit�,...) et, malgr� tout, une certaine concordance au sujet de ce qu'est un langage orient� objet, avec un syst�me permettant de "s�parer" un groupe d'objet (namespace en C++, packetages en Java, m�me si, de m�moire, ce n'est pas tout � fait �quivalent...), de faire cohabiter des fonctions et des variables au sein d'un objet, la possibilit� de d�clarer (d�finir) des variables et des fonctions de classes (statiques) ou des variables et des fonctions d'instances, etc...

    Mais, pour notre malheur, il y a au moins autant de diff�rences entre le C++ et Java qu'il n'y a de similitudes (je serais presque tent� qu'il y en a m�me plus)...

    Par exemple, il faut savoir que, m�me si tu n'indique rien explicitement, toute classe en java sera consid�r�e comme descendant de ... la classe Object, qu'il n'autorise pas l'h�ritage multiple, et qu'il fait une distinction entre ce qui est h�rit� et ce qui vient d'une interface.

    Nous pourrions aussi nous attarder sur le fait que C++ est un langage a priori compil� alors que Java est plut�t (m�me si ce n'est pas tout � fait vrai) un langage interpr�t�, ou du moins en partie, sur le fait que lorsque le programmeur d�cide de prendre la responsabilit� de g�rer lui-m�me l'allocation de la m�moire en C++, il reste responsable de la lib�ration de la ressource, alors que Java dispose de son "ramasse miettes" ou qu'un javaiste ne s'�tonnerait qu'� moiti� de trouver un code proche de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    zippe(crypte(read("Fichier.txt")));
    ce qui pourrait surprendre un codeur en C++...

    Et je suis trop fatigu� aujourd'hui pour cr�er une liste exhaustive des diff�rences

    Au final...

    Je crois qu'avec une bonne connaissance de la conception, tu devrais avoir facile � passer de l'un � l'autre.

    Comme je l'ai dit, j'estime qu'il est surement plus facile de passer de C++ � Java que l'inverse, mais, mon avis personnel est que, si tu n'a pas pris l'habitude de r�fl�chir 30 secondes � la logique ou � la conception de tes besoins, le seul fait de connaitre le C++ ne te permettra ni de faire quelque chose de correct en C++ ni d'apprendre � faire quelque chose de correcte en java
    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

  8. #8
    R�dacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par d�faut
    Citation Envoy� par koala01 Voir le message
    Au final...

    Je crois qu'avec une bonne connaissance de la conception, tu devrais avoir facile � passer de l'un � l'autre.

    Comme je l'ai dit, j'estime qu'il est surement plus facile de passer de C++ � Java que l'inverse, mais, mon avis personnel est que, si tu n'a pas pris l'habitude de r�fl�chir 30 secondes � la logique ou � la conception de tes besoins, le seul fait de connaitre le C++ ne te permettra ni de faire quelque chose de correct en C++ ni d'apprendre � faire quelque chose de correcte en java
    +++
    Le noeud du probl�me est l� : java, C++, C# ou n'importe quel autre langage, la premi�re ma�trise vient d'une aisance en conception logicielle et d'une bonne compr�hension des concepts qui sous-tendent l'approche objet. Ensuite, ce n'est que s'adapter � un langage particulier avec ses plus et ses limites.

  9. #9
    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 ne suis pas d'accord avec vous.

    C'est tr�s difficile de passer de C++ � Java, c'est tr�s frustrant .

  10. #10
    Membre �clair� Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Par d�faut
    Tes bases (solides ?) en C++
    +
    un bon bouquin parcouru dans les grandes lignes et/ou la FAQ de dvp (d�pend de si tu as d�j� quelques notion de Java)
    = un niveau th�orique suffisant en peu de temps

    S'il te reste du temps tu pourras approfondir sur les BD/applets/JavaMe/... selon le profil recherch�.

    Apr�s reste le probl�me qu' avoir juste un bon niveau th�orique n'a jamais fait un bon programmeur. Mais ton exp�rience et ta logique en C++ peut palier temporairement � �a.

    Bonne chance

    Ps: pour ton entretien je vois bien le genre de question A quoi sert le mot cl� final ?

  11. #11
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Citation Envoy� par white_tentacle Voir le message
    Je ne suis pas d'accord avec vous.

    C'est tr�s difficile de passer de C++ � Java, c'est tr�s frustrant .
    C'est effectivement une tr�s mauvaise d�cision

    Par contre, j'ai eu plusieurs retours de javaistes qui se sont mis au C++, et beaucoup de choses les g�naient. Il en ressort qu'en C++ on est "trop libres", que ce soit de faire des b�tises (notamment en gestion de m�moire) ou de r�aliser des choses fantastiques.

  12. #12
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par d�faut
    Personnellement, ayant fait du VB .net pendant mon BTS et du C++ je n'ai pas eu de r�elle difficult� � me mettre � Java pour le master.

    Ce qui peut surprendre au d�but ce sont les diff�rences d'habitudes entre les 2 langages. Par exemple, le prof utilisait les casts � tire-larigo. La copie est lente en Java, alors les param�tres se passent par r�f�rence, il y a peu de constructeurs par copie dans la biblioth�que de base, pour copier des objets il faut recourir explicitement au clonage (interface Clonable). Les interfaces sont tr�s utilis�es en conception. Il y a le garbage collector pour g�rer la m�moire. Comme tout est objet, il n'y a pas de fonctions globales, pour pallier � �a on cr�e des classes pour servir de bo�te � outil avec des fonctions static : par exemple, si vous avez une classe Graph, vous aurez peut-�tre une classe Graphes avec des fonctions static pour manipuler les Graph.

    Et tout �a sans compter les diff�rences de technologie et d'emploi de ce langage.

    Et j'en passe et des meilleures...

  13. #13
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut
    Tes bases (solides ?) en C++
    J'en sais rien en fait. Je maitrise pas les templates, je maitrise un peu les classes et les objets, les struct, les typedef struct. les libraries boost et wxwidgets.

    Mais je me sers du C++ surtout pour la rapidit� de calcul et donc ca demande pas vraiment de faire de la conception objet

  14. #14
    Membre �clair� Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Par d�faut
    Citation Envoy� par deubelte Voir le message
    Je maitrise pas les templates
    pas tr�s grave vu que �a n'existe pas en Java
    Citation Envoy� par deubelte Voir le message
    je maitrise un peu les classes et les objets
    Plus emb�tant puisque tout est Objet. Mais ce sont des concepts relativement naturel et donc facile � appr�hender (encore plus en Java : pas d'h�ritage multiples, notion d'interface, ...)

  15. #15
    Membre �prouv�
    Inscrit en
    Novembre 2006
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Par d�faut
    merci
    existe il un IDE gratuit de microsoft comme Visual C++ expres qui permet de faire du java?

  16. #16
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par d�faut
    Crosoft a sa propre version de Java, J#, qui fait partie des langages .net, disponible dans visual studio. Il n'y a par contre pas d'EDI d�di� dans les version express (il faudrait voir si ce n'est pas disponible par exemple dans visual C# express ou vb express, je ne suis sur de rien).

    Pour Java, les outils traditionels, disponibles sous windows, sont eclipse et netbeans (consulter leurs sites respectifs).

  17. #17
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Netbeans et Eclipse sont les deux qui sont les plus en vogue dans le monde Java.

    Mais pour des questions purement Java, je te conseille de te rendre sur le forum Java de Developpez, tu auras plus de r�ponses et des plus pertinentes

  18. #18
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Citation Envoy� par befalimpertinent Voir le message
    Plus emb�tant puisque tout est Objet. Mais ce sont des concepts relativement naturel et donc facile � appr�hender (encore plus en Java : pas d'h�ritage multiples, notion d'interface, ...)
    Nope. int n'est pas un objet.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  19. #19
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    lorsque le programmeur d�cide de prendre la responsabilit� de g�rer lui-m�me l'allocation de la m�moire en C++, il reste responsable de la lib�ration de la ressource
    Sauf qu'en C++ tu fais pas d'allocations que tu lib�res ensuite quand tu veux. Tu utilises le RAII.

    zippe(crypte(read("Fichier.txt")));
    C'est quoi le probl�me avec ce code en C++ ?
    C'est pas pire en C++ qu'en Java. En C++ il serait intelligent de faire des expressions templates, mais en Java tu dois pouvoir faire un truc plus ou moins �quivalent, bien que moins efficace.

    Sinon a priori, passer de C++ � Java, �a prend une journ�e � tout casser. Le plus compliqu� �tant de comprendre les restrictions d�biles des g�n�riques.

  20. #20
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Citation Envoy� par loufoque Voir le message
    Sinon a priori, passer de C++ � Java, �a prend une journ�e � tout casser. Le plus compliqu� �tant de comprendre les restrictions d�biles des g�n�riques.
    C++ et Java n'ont pas les m�mes objectifs. En C++ on a une libert� qui est in�gal�e de mon point de vue. En Java, c'est plus restreint. Les g�n�rique sont surtout pour les containers et diminuer la duplication de code. On ne peut pas travailler sur la g�n�ration de code & compagnie.

    Et quelques heures � tout casser pour le langage lui-m�me. Pour sa biblioth�que standard et les biblioth�ques importantes �a prend plus de temps

Discussions similaires

  1. le Java est la continuit� du C++ ???
    Par Vincent PETIT dans le forum D�bats sur le d�veloppement - Le Best Of
    R�ponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum D�veloppement
    R�ponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    R�ponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de d�veloppement
    R�ponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    R�ponses: 3
    Dernier message: 15/04/2002, 12h48

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