8 votes

C++ venant de Java et d'Objective-C

Ainsi, je connais assez bien Java et Objective-C, mais (peut-être étrangement) je n'ai jamais vraiment appris le C++. Il est évident que les langages sont tous liés, mais il existe des différences syntaxiques que je ne comprends pas entièrement. Existe-t-il un bon document qui décrit les bases du C++, tout en supposant que l'apprenant connaît un langage de programmation ? Peut-être même un tutoriel qui vise à décrire les différences entre les langages. Voici ce que je recherche.

Par ailleurs, existe-t-il un bon tutoriel sur la manière d'utiliser du code C++ dans une application Mac ou iOS ? La raison pour laquelle je ressens le besoin d'apprendre le C++ est que j'essaie de porter un programme C++, et j'ai entendu dire que l'on peut utiliser du code C++ et l'envelopper dans une interface graphique Obj-C. Quelqu'un pourrait-il m'indiquer de la documentation ou des didacticiels sur la façon de faire cela ?

Gracias.

6voto

Kerrek SB Points 194696

Même si les langues de cette famille sont toutes apparentées, cela ne signifie pas que vous pouvez passer de l'une à l'autre avec désinvolture et vous attendre à écrire du beau code. Vous devez apprendre les idiomes et les idiosyncrasies du langage, et expérimenter ses forces et sa façon de penser.

Je vous recommande de lire le livre original de Stroustrup (une édition moderne, bien sûr). C'est la référence la plus définitive (à part la norme actuelle) et il est très clairement écrit. L'avantage de cette approche est qu'elle vous apprend à penser "comment faire ceci en C++", plutôt que "comment translittérer ce morceau de code Java pour le faire compiler". (Cette approche élimine également tout risque que vous pourriez avoir de penser que vous devriez ) "Apprenez d'abord le C" . Ne le faites pas.)

Sous MacOSX, vous pouvez soit télécharger et construire le GCC gratuit, soit obtenir XCode (qui est fourni avec GCC). Pour iOS, je ne sais pas, j'ai le sentiment que vous ne pouvez pas déployer de code natif sur ce système.

2voto

Captain Giraffe Points 5907

J'opterais pour une voie purement C++, la qualité du matériel étant le guide plutôt que de trouver du matériel ObjC+Java->C++.

À l'université où je travaille, nous avons essayé les deux méthodes pour enseigner le C++ aux étudiants ayant une grande expérience de la programmation, en particulier de Java, pour des raisons évidentes.

La conclusion est que le cours spécialisé n'a pas mieux réussi à enseigner le C++ que le cours générique avec quelques exercices supplémentaires. C'est la qualité du matériel pédagogique qui compte.

Edit : Vous recevrez probablement beaucoup de bonnes réponses sur les différences réelles, aussi le commentaire de Voo sur votre question est pertinent.

2voto

KumarM Points 284

Je sais ce que vous ressentez - avoir déjà travaillé sur quelques langues et apprendre le C++. J'étais aussi dans le même bateau. Pendant un moment, j'ai pensé qu'il devrait être facile pour moi de l'apprendre tout de suite, mais ce n'était pas si facile. Je suis donc revenu à la base et j'ai commencé à apprendre le C++ comme un débutant. C++ Primer" est un très bon livre pour commencer. Puisque vous connaissez la plupart des bases de la programmation, certains des premiers chapitres peuvent être survolés. Une fois que vous avez terminé, je vous recommande le livre "Effective C++" et la FAQ C++ maintenue ici [http://www.parashift.com/c++-faq-lite/].

En fait, vous pourriez d'abord parcourir cette FAQ et voir dans quelle mesure elle a du sens, et vous en servir comme guide pour déterminer où faire une plongée en profondeur.

HTH, K

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X