Puisque vous devez apprendre C / C ++ et dans le cadre de «Apprendre autant de langues que possible», j'ai décidé d'apprendre C ++ en profondeur. P>
mon système d'exploitation est Windows et ma question est de ré-installer Linux comme double démarrage pour apprendre C ++ sur Linux? P>
Est-ce que je manque quelque chose si je développe en C ++ uniquement sur la plate-forme Windows? p>
(duplicate possible: https://stackoverflow.com/cetions / 1128050 / Best-Office-System-System-for-C-Développement-and-Learning-and-Learning ) P>
11 Réponses :
Pas vraiment si vous n'utilisez pas d'appels ou de libs spécifiques au système d'exploitation. p>
Si vous posez des idées, des compilateurs, etc., c'est un Metter de vos préférences à ce sujet. P>
Peu importe la plate-forme que vous écrivez votre code. P>
Si vous souhaitez vérifier que votre code est portable, vous pouvez installer Cygwin et GCC ainsi que Visual Studio. P>
alors vous pourriez compiler avec les deux compilateurs sans avoir à Dualboot p>
Si vous souhaitez pratiquer / tester sous Linux, vous pouvez simplement créer une machine virtuelle, par exemple avec Virtualbox a >. p>
Parce que je suis un joueur hardcore et j'ai besoin de C # pour mon travail;) Permet de ne pas commencer une guerre de flamme (a)
@Liranuna: Parce qu'il a déjà installé Windows?
Si, dans le processus d'apprentissage C et C ++, vous souhaitez voir comment les bibliothèques et le système fonctionnent réellement, Linux est le choix évident que vous pouvez jeter un coup d'oeil à l'ensemble du code source du système. P>
IMHO, qui peut être assez instructif. p>
Tout d'abord, apprendre "autant de langues que possible" est moins important que d'apprendre au moins une langue de programmation en profondeur en premier. P>
À mon avis, vous devriez apprendre la programmation sur la plate-forme que vous connaissez le plus. Si vous n'êtes pas familiarisé avec Linux et ses fonctionnalités, il n'est pas utile de commencer à apprendre la programmation avec elle parce que vous ne sauriez pas quoi faire. Vous pouvez également vous attendre à ce que la documentation MS soit un peu plus cohérente que les documents Linux. P>
Quelque plus de choses à considérer: p>
Je suis familier avec Linux et je ne suis pas débutant. Mais si vous envisagez des descriptions de travail, vous voyez souvent C ++ en combinaison avec Linux, donc je me demandais si C ++ Linux est différent, puis Windows C ++. Toute chose que Linux est meilleure, par exemple: la mise en réseau.
OSS est comme des langues, il n'y en a pas mieux. Il devrait être sélectionné comme meilleur outil pour un emploi donné ...
@Panic Gaming sur Linux n'est pas aller, mais je vois votre point de vue, chaque projet doit être abordé différemment.
@ReDaer: Les systèmes sont différents, mais vous ne pouvez pas dire que Linux est "meilleur" en général (bien que Linux Geeks puissent la voir différemment ;-)). Je dirais que je prends une décision que le système que vous souhaitez apprendre d'abord, a peut-être choisi un projet à mettre en œuvre et de le terminer. Après cela, vous pouvez faire la même chose sur l'autre plate-forme pour en savoir plus sur les différences. Si vous souhaitez effectuer une programmation de réseau, je vous suggère de commencer par Linux car dans cette zone, les API UNIX correspondantes sont la norme de plate-forme multiplate-forme de facto et Windows est un système "exotique" (où les libs émulant les API UNIX correspondant) .
Merci, mh. Donc, UNIX est meilleur si vous voulez en savoir plus sur la programmation de réseautage. En tant que projet, j'essaie de faire un éditeur de texte dans la console, quelque chose comme Nano.
@ReDaer sur UNIX et Windows, le code pour contrôler la sortie du terminal (par exemple, déplacez le curseur, sortie quelque chose à une position spécifique, ...) est totalement différente. Je me souviens que des trucs terminaux soient documentés mal sous Windows, ce qui pourrait donc être une raison de le faire avec Linux en premier, mais c'était il y a de nombreuses années que j'étais programmée dans ce domaine, il pourrait donc s'être amélioré entre-temps.
J'ai commencé à travailler dessus aujourd'hui, si vous êtes intéressé: Pastebin.com/f356B0274
Si votre objectif est simplement de
Depuis avec C ++ seul, vous ne ferez pas beaucoup, vous devez utiliser à la fois l'OSS (et plus) pour comprendre ce qui est à votre disposition en termes de bibliothèques, de compilateurs et d'IDes (même des philosophies de développement varient d'OS au système d'exploitation), N'est pas vraiment important pour vos premiers pas dans C ++, à ce stade, il est plus important de choisir le compilateur / IDE que vous sélectionnez ... P>
Zed ci-dessus vous indique à juste titre que vous êtes sur l'option de la machine virtuelle, VirtualBox est génial. P>
Personnellement, je vous conseillerais d'éviter d'utiliser Visual Studio comme premier IDE / compilateur, il ajoutera une complexité accrue et tentera de vous blesser de manière cervelle. Il vous fera également difficile pour vous de passer à d'autres configurations ... P>
Démarrer avec un simple éditeur de texte (Notepad ++ sous Windows) et en utilisant la ligne de commande pour compilations. P>
D'autre part, un bon IDE (être que Visual Studio, Qt Creator, d'autres que vous pouvez trouver dans d'autres questions ici) aide lorsque vous commencez. Il vous donne une carte des classes, aident à l'achèvement, a une aide intégrée, permet de repérer les erreurs après la compilation ... Je ne ferais pas cela.
Je pense que sans utiliser d'IDE, lorsque l'on compile ou la liaison via la ligne de commande donne manuellement plus de perspectives sur les différentes options / drapeaux de compilateur, ce qui, à son tour, jette plus de lumière vers les nuances des langues. Bien sûr, il est facile d'utiliser une IDE, mais cela résume tous ceux-ci et je connais des personnes qui ont 3 ans d'expérience sans savoir lorsque les options du compilateur sont invoquées.
@Redglyph - Ne me fais pas mal, Visual Studio même après avoir été ballonné tel qu'il est (après le V6) est le meilleur compilateur l'un des meilleurs et a le meilleur IDE (même s'il a beaucoup de problèmes) le Le majeur étant en train de pousser .NET et de tenter d'essayer de vous enfermer dans la plate-forme. Un de mes pépins d'animaux sur les postes sur Stackoverflow.com Voir les gens se réfèrent à C ++ comme non gérés C ++ ...
Est-ce que je manque quelque chose si je développe dans C ++ uniquement sur la plate-forme Windows? P> blockQuote>
Valgrind . P>
Il y a beaucoup d'autres outils vraiment utiles sur Linux. Dans l'ensemble, ces outils rendent Linux assez développeurs amicaux ... contrairement aux fenêtres.
Je dirais que les outils rendent Linux Expert-EXPERDICAL, mais pas à la libération des débutants.
Je vous recommande de rester avec Windows pendant un moment jusqu'à ce que vous obteniez une certaine familiarité avec la langue. Ensuite, vous pouvez passer à Linux si vous le souhaitez. Je dis cela parce que sur Windows, vous pouvez utiliser Visual Studio (l'édition Express peut être téléchargée gratuitement). Sa convivialité consacrera une partie de la douleur causée par les haies initiaux lors de l'apprentissage de C ++. P>
Finalement, vous devriez également apprendre la voie Linux / Unix à l'aide de GCC, de makefiles et d'un éditeur avancé comme VI / Emacs / Wonde. p>
D'autre part, commencer avec Visual Studio vous donnera des trucs non standard comme "stdafx.h" ainsi que toutes les déclarations particulières de "#pragma" de Visual Studio (par exemple "#pragma Avertissement").
+1 Vous n'êtes pas sûr de savoir pourquoi vous étiez voté sur le bon sens ... Il utilise déjà Windows, déclare qu'il utilise C # (Studio visuel le plus probable) et utilisant des trucs non standard est en option i>
@Michael Aaron Safyan: non si vous vérifiez le paramètre "Projet vide" lors de la création de votre solution. Les choses non standard n'ont jamais posé de problème pour moi.
Tant que vous vous tenez avec des bibliothèques multiples-plates (par exemple, la bibliothèque standard C ++, le Boost c ++ bibliothèques a >, et le CADRE QT ), au lieu d'utiliser des appels spécifiques à la plate-forme (par exemple, l'API Win32), et en supposant également que vous utilisiez un système de construction croisé-plate-forme (par exemple, CMAKE ), au lieu d'un système spécifique à la plate-forme (par exemple, Visual Studio), alors cela n'aura pas d'importance. Cela dit, il est beaucoup plus facile de
Pourquoi sur Terre étiperiez-vous "l'environnement de développement équivalent sur Windows"? Essayez de configurer l'équivalent de l'environnement Windows Dev, sur * Nix. En d'autres termes, vous supposiez votre conclusion.
Même question que je me suis posée avant de commencer à apprendre. C'est à ce que je dois avoir une double démarrage? Non. Si vous avez installé VC ++ avec Visual Studio, vous pouvez utiliser le compilateur Visual Studio fourni et est plus facile à utiliser également. En dehors de cela, vous pouvez télécharger et installer Cygwin et veiller à vérifier le GCC et ses composants associés. Vous pouvez lancer Cygwin, comme votre DOS, mais il vous fournit un environnement Unix pour travailler avec l'environnement Windows. Ensuite, il suffit de CD dans le dossier contenant .CPP et compilez à l'aide des commandes UNIX. Aussi simple que cela. Codage heureux ... (pour les passionnés du RPC qui atterrissent ici) ... P>
Les accessoires d'apprentissage autant de langues que possible. Puisse votre entreprise dans C ++ être un coffre-fort (et pouvez-vous retrouver rapidement votre chemin du bâtiment). [C ++ ne serait pas mon choix: il est plutôt fade dans des concepts.]
C'est aussi la langue utilisée pour presque tous les projets open source.
Pas vraiment. C est beaucoup plus populaire que c ++ dans le monde open-source.
YOUTGISTER.CO.UK/2009/01/21/OPEN_SOURCE_PROJECTS_08 C est la langue la plus populaire suivie de Java
Vous manquez tellement amusant quand vous développez sur Windows :)
@Piligrim Avez-vous de véritables arguments pour cela?
Est-ce vraiment important ce qui est plus populaire? Le lecteur veut apprendre c ++ !!