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