Quand on connait et qu'on a des bases en C++
est-il difficile d'apprendre le Java?
Quand on connait et qu'on a des bases en C++
est-il difficile d'apprendre le Java?
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.
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.
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.
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�.
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.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveaut�s - Conseils sur le C++ - La meilleure FAQ du monde - Avant de cr�er des classes que vous r�utiliserez, regardez si �a n'existe pas d�j� - Le site du comit� de normalisation du C++
Le guide pour bien d�buter en C++ - Cours et tutoriels pour apprendre C++
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
ce qui pourrait surprendre un codeur en C++...
Code : S�lectionner tout - Visualiser dans une fen�tre � part zippe(crypte(read("Fichier.txt")));
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
+++
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.
Ressources propos�es par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Je ne suis pas d'accord avec vous.
C'est tr�s difficile de passer de C++ � Java, c'est tr�s frustrant.
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 ?
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.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveaut�s - Conseils sur le C++ - La meilleure FAQ du monde - Avant de cr�er des classes que vous r�utiliserez, regardez si �a n'existe pas d�j� - Le site du comit� de normalisation du C++
Le guide pour bien d�buter en C++ - Cours et tutoriels pour apprendre C++
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...
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.Tes bases (solides ?) en C++
Mais je me sers du C++ surtout pour la rapidit� de calcul et donc ca demande pas vraiment de faire de la conception objet
merci
existe il un IDE gratuit de microsoft comme Visual C++ expres qui permet de faire du java?
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).
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![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveaut�s - Conseils sur le C++ - La meilleure FAQ du monde - Avant de cr�er des classes que vous r�utiliserez, regardez si �a n'existe pas d�j� - Le site du comit� de normalisation du C++
Le guide pour bien d�buter en C++ - Cours et tutoriels pour apprendre C++
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...
Sauf qu'en C++ tu fais pas d'allocations que tu lib�res ensuite quand tu veux. Tu utilises le RAII.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
C'est quoi le probl�me avec ce code en C++ ?zippe(crypte(read("Fichier.txt")));
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.
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![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveaut�s - Conseils sur le C++ - La meilleure FAQ du monde - Avant de cr�er des classes que vous r�utiliserez, regardez si �a n'existe pas d�j� - Le site du comit� de normalisation du C++
Le guide pour bien d�buter en C++ - Cours et tutoriels pour apprendre C++
Partager