Dois-je apprendre C++ et Java simultanément? [fermé]


J'aimerais commencer à écrire des applications Android. C'est apparemment tout en Java. Les travaux de programmation sur Craigslist sont au moins 100 Java à 1 C++. Je veux apprendre Java.

Malheureusement, le programme CS que j'envisage enseigne C++ plutôt que Java, donc C++ est ce que j'apprends. (Je suis sûr que l'apprentissage de C++ m'apprendra à bien coder, mais Java aussi, et ensuite je pourrais trouver un emploi. Il est frustrant que les programmes CS s'en tiennent aux langues qu'ils utilisent depuis 20 ans au lieu d'enseigner les langues cela aidera leurs élèves à réussir.)

Ma question est de savoir si c'est une bonne idée d'ouvrir les livres Java sur mon étagère après avoir terminé mes devoirs C++. Vais-je juste finir confus, ou vais-je finir meilleur dans les deux? Quelqu'un a-t-il appris à la fois C++ et Java simultanément?

Edit: Merci pour toutes les réponses rapides! J'ai fait de la programmation et je prends facilement des langues, je pense. Comparer côte à côte me plaît. Mais j'ai aussi tendance à mordre plus que je ne peux mâcher, et apprendre C++ et Java semble être le genre de gros repas qui pourrait me causer des ennuis.

Author: Coral Doe, 2009-02-01

15 answers

Je ne vois pas de vrai problème avec cela. En prime, vous pourrez lire les sections pertinentes des livres côte à côte et voir comment ils comparent et contrastent les différences dans la façon dont les langues gèrent les choses.

Par exemple, lorsque vous lisez sur les pointeurs en C++, cela peut vous aider à visualiser le fonctionnement des types de référence Java dans une certaine mesure.

Ne soyez pas frustré votre école enseigne C++, soyez reconnaissant. Lire, Les périls des écoles Java. Tu n'es pas dans une école de technologie vous cherchez à apprendre la langue la plus chaude du moment. Vous êtes là pour apprendre l'informatique. Mon école enseigne Java comme langue d'introduction et je pense que c'est une énorme erreur. Nous devrions plutôt apprendre C, donc au moment où nous serons initiés à Java (disons, classe orientée objet), nous saurons ce qui se passe réellement et rien de "magique" ne se passe pour nous.

Les connaissances que vous acquérez dans votre diplôme, et même en utilisant C ou C++, transcendront le dernier langage "populaire".

 25
Author: mmcdole, 2009-01-31 22:54:20

C++ est un langage qui prend des semaines à apprendre et des années à maîtriser. Donc, le plus tôt vous entrez dans le plus tôt vous le maîtriserez.

Ne soyez pas confus par les mesures du nombre de tâches. Le rapport des emplois ennuyeux aux emplois intéressants est probablement aussi 100 à 1 comme vous l'avez dit. Aussi en ces jours de choses de haut niveau sachant bas niveau paie.

IMHO les emplois (programmation) les plus intéressants sont les emplois C++. Bien qu'il puisse y avoir des projets intéressants en Java ou c#, la plupart d'entre eux traitent de déplacement des données (de la base de données vers html ou gui, retour à la base de données...). Cela dépend de ce que vous voulez programmer pour vivre; -).

Si vous êtes intéressé par la robotique, la vision par ordinateur, l'infographie... vous devriez certainement aller en C++.

 8
Author: davidnr, 2009-02-01 11:12:32

Apprenez d'abord C++. Apprendre le C, trop. Apprenez Lisp ou Scheme. Java va être un morceau de gâteau après cela.

 5
Author: ubiyubix, 2009-01-31 23:00:44

Voici un article que j'ai trouvé inspirant.

Même si c'est un peu long et pas vraiment adapté à votre question, j'espère que vous y verrez une réponse. Assurez-vous de lire à la fin. Il est intéressant de lire.

 5
Author: AlexDrenea, 2009-02-01 00:04:05

Si vous n'avez pas programmé auparavant, apprenez simplement c++. Il a la plupart des choses de base que JAVA a plus un peu plus. Lorsque vous aurez à faire face à C++ JAVA sera facile.

 4
Author: Johnno Nolan, 2009-01-31 22:50:17

Il n'y a pas nécessairement plus de jobs Java que de jobs C++, cela varie considérablement d'une région à l'autre; où cherchez-vous?

Je pense que C++ est une excellente base, et que l'apprentissage de Java serait plus facile une fois que vous connaissez C++, et que c'est généralement un langage plus facile à apprendre. Si vous avez les aptitudes pour la programmation, vous pouvez apprendre les deux langues en même temps.

Cependant (et c'est un gros cependant), si la plupart de la programmation réelle que vous faites à l'école est en C++ (devoirs, projets, etc.), et Java est quelque chose que vous ferez comme un passe-temps et moins fréquemment, vous finirez par être meilleur en C++.

Lorsque vous allez aux entretiens d'embauche, il vaut mieux être bon dans une langue que médiocre dans les deux.

 4
Author: Uri, 2009-01-31 22:50:57

100 Java à 1 C++? Je viens de chercher à dice.com et il a renvoyé 9322 pour Java et 4777 pour C++. Certes, Java est plus en demande mais le ratio est proche de 2:1. En outre, il y a aussi le côté "approvisionnement" de l'équation - il y a plus de programmeurs Java en compétition pour les postes.

 3
Author: Nemanja Trifunovic, 2009-01-31 23:55:29

En tant qu'étudiant et programmeur, je dois dire qu'il est trop facile de se laisser distraire par différentes technologies.

Si vous faites du c++, vous devriez étudier dur pour cela, sinon vous procrastinez à peu près en apprenant Java.

C++ a tout un tas de choses que Java n'a pas, et si vous étudiez - vous n'obtiendrez pas de notes si vous commencez à écrire Java dans vos tests c++!

Mon conseil est de trouver un projet pour lequel vous pouvez utiliser c++ (peut-être certains opengl?)- peut-être qu'il y a de meilleures suggestions ( je ne code pas en c++ ). De cette façon, vous vous amuserez tout en apprenant ce que vous devriez apprendre:)

 3
Author: Louis Sayers, 2009-02-01 01:19:53

Si vous êtes intelligent, vous ne serez pas confus.

En fait, je dirais - apprenez également une autre langue, Perl ou Python.

 2
Author: Fortyrunner, 2009-01-31 23:21:06

Apprendre n'importe quel nombre de langues différentes est toujours une bonne pratique. Il peut vous aider à mieux absorber les concepts et la théorie derrière ce que vous apprenez plutôt que de vous concentrer sur la syntaxe et les mots clés. Cela étant dit, les idées sont assez similaires, mais il peut être frustrant d'apprendre les deux simultanément car vous pouvez transposer la syntaxe au fur et à mesure.

La principale différence est la collecte des ordures, et je pense qu'une fois que vous apprenez C++ , vous apprenez à comprendre et à apprécier le les avantages d'un garbage collector système. Essayer d'apprendre Java en même temps peut vous dérouter ou vous frustrer. Apprenez les concepts clés, obtenez une bonne base solide avec C++, puis passez à Java lorsque vous êtes prêt.

 1
Author: Mark Renouf, 2009-01-31 22:51:11

Demandez-vous à quel point il est facile d'apprendre les concepts pour vous actuellement. Quelle est la profondeur de la compréhension que vous obtenez?

Si vous comprenez bien, il vous sera facile de les distinguer et de les séparer. Si c'est un peu difficile pour vous, vous pouvez probablement être confus.

 1
Author: ypnos, 2009-01-31 22:55:17

Apprenez simplement C++ dès maintenant si vous pensez que vous pourriez être confus en apprenant les deux langues en même temps. Vous ne voulez pas compromettre vos notes.

Plus tard, vers la fin du semestre ou après, prenez quelques jours pour apprendre Java. C'est pas une grosse affaire. Une fois que vous connaissez C++, il sera facile et rapide d'apprendre Java. Et vous avez quelque chose à espérer: Java a une syntaxe plus propre et est plus facile à comprendre (pas de pointeurs, etc.).

 1
Author: Frank, 2009-01-31 23:31:57

Comment se fait-il que je ne vois aucune recommandation pour apprendre C#? Si quoi que ce soit, j'apprendrais C++ et C# simultanément. Je pense que vous ne devriez pas miser sur une ou deux langues, cependant. Apprendre un nouveau chaque année. Une fois que vous avez une emprise sur la POO et les modèles de conception, les langues deviennent triviales (la plupart du temps). Ensuite, vous pouvez avoir plus d'un résumé. Vous devez également penser à ce que vous voulez faire exactement...développement web? faible niveau de stuff? Faire des pilotes de périphériques? Élargissez un peu vos horizons et explorez ce qui VOUS fait, en tant que programmeur, tick.

 1
Author: BBetances, 2009-02-01 00:27:20

J'ai passé des années chacun à travailler en C -> C++ -> Java et maintenant C#.

IMO, C++ est un excellent premier langage car vous en apprenez beaucoup plus sur ce qui se passe sous le capot (des choses comme des pointeurs et des tas qui sont cachés en Java et C#) tout en utilisant un langage orienté objet. Je recommande de vous immerger dans C++ tant que vous êtes dans des classes C++.

Je suis également un défenseur de l'apprentissage d'un langage d'assemblage. Même en Java ou C#, il y a des occasions où il est utile de plonger au niveau de l'assemblage dans le débogueur.

Une fois que vous connaissez bien C++, Java et C# et d'autres langages statiques vous seront faciles. La partie la plus difficile sera d'apprendre à tirer parti efficacement des bibliothèques qui viennent avec ces langues.

Je vais laisser le sujet des langues dynamiques à d'autres car je n'ai aucune expérience à parler.

 1
Author: Joe Erickson, 2009-02-01 03:21:59

Je vous recommande de regarder certainement dans les deux. Si votre cours C++ est terminé, vous serez un meilleur programmeur Java et travaillerez avec. Si vous êtes toujours confus, vous pouvez toujours arrêter de lire les livres Java jusqu'à ce que le cours soit terminé.

Je suis toujours à apprendre le C++ et d'autres langages en même temps et à m'amuser avec. Je dirais certainement que j'apprends quelque chose plutôt que d'être confus par cela.

 1
Author: Johannes Schaub - litb, 2009-02-19 23:43:41