7
votes

Que devrais-je apprendre avant de vous rendre à C ++?

J'apprends C, mais après cela ou dans le même temps, que dois-je apprendre d'abord et ensuite avant d'entrer dans C ++? COMPILES, STRUCTURES DE DONNÉES, MOTIFS UML OU DE DESIGN? (Aussi lorsque vous commencez à apprendre à apprendre Win32 API?) Je ne suis pas pressé du tout, je peux donc saisir les exigences du début le plus profond. Je ne veux tout simplement pas me perdre pour être cursorial et négligent.

En plus de cela, quels sujets sur les mathématiques ont le plus d'impact sur le codage très bien? Algèbre linéaire, mathématiques discrètes, calcul?

Je serai reconnaissant si quelqu'un me guide à travers ce voyage. Il y a beaucoup de questions que je voudrais connaître les réponses. Merci.


1 commentaires

Aussi absurdiquement que cela puisse sonner, mais apprendre ce qui est aujourd'hui considéré comme le bien C ++ est généralement entravé par l'expérience de C. Si vous souhaitez apprendre C ++, ignorez C. Si vous souhaitez apprendre les deux, soyez prêt à avoir à désapprendre beaucoup de c afin d'écrire de bon C ++.


3 Réponses :


3
votes

compilateurs, structures de données, motifs UML ou design?

Structures de données et algorithmes.

En plus de cela, quels sujets sur les mathématiques ont le plus d'impact sur le codage très bien? Algèbre linéaire, mathématiques discrètes, calcul?

Mathématiques discrètes et théorie numérique.


0 commentaires

15
votes

Tout d'abord, vous devriez apprendre que c ++ est pas une langue supérieure. C a ses utilisations comme plus qu'un tremplin en C ++. C et "c-style" C ++ sont utilisés car ils:

  • Générez des fichiers binaires plus petits
  • Utilisez moins de mémoire
  • Compilez plus rapidement
  • ne nécessite pas de support sur le système d'exploitation
  • sont plus simples et plus faciles à mettre en œuvre

    Les structures de données sont de loin les plus utiles de la liste à apprendre, suivies d'algorithmes. Si vous avez l'intention d'entrer dans C ++, il est également utile (obligatoire?) Pour avoir de bonnes compétences de conception.

    Vous ne devriez pas nécessairement apprendre Win32 du tout. Envisagez d'apprendre le Posix API, GTK + et boost , comme ils sont plus portables et fonctionnent sur des plates-formes autres que les fenêtres.

    La meilleure décision que vous puissiez faire est de apprendre C approfondirement comme une compétence distincte sur une plate-forme UNIX, avant de béquille vous-même en ne pouvant pas voir la différence entre C et C ++.

    des disciplines de mathématiques énumérées, je n'ai utilisé que des mathématiques discrètes. L'algèbre linéaire est également utile, mais de loin, la meilleure discipline de la programmation est définie et la théorie des numéros.

    Profitez de votre temps en C, ne dépendez pas de Windows / Visual Studio, et ne vous précipitez pas dans C ++.

    update00

    presque oublié! Vous êtes absolument Doit utiliser un compilateur C décent. Une raison centrale de l'utilisation large de C ++ sur l'entreprise et la mauvaise réputation C contient des développeurs Windows est Visual Studio. Visual Studio est facilement le meilleur IDE C ++, mais c'est aussi le pire compilateur C que je connaisse. Assurez-vous d'utiliser un compilateur C avec le support C99, tel que GCC , mingw ou clang . Ma première expérience avec C utilisait LCC , qui était très facile à utiliser sur Windows, mais je n'ai pas. t Utilisé car puis-je passer à Linux, donc je ne peux pas commenter sur son statut C99.


2 commentaires

Pourriez-vous élaborer sur ne pas nécessiter que la prise en charge du système d'exploitation , est plus simple et plus facile à mettre en œuvre et pourquoi c est une bonne étape pour C ++ lorsque le code C est complètement différent de celui-ci. Bon code C ++?


De plus, je pense que d'abord, vous devez apprendre que c ++ n'est pas une langue supérieure est pure pov. Je générerais cela à si une langue est une superieuour toujours et à tout moment dépend totalement de ce que vous aimez et que vous voulez atteindre . E.G., Haskell est totalement superiour à c car vous pouvez écrire de nombreux algorithmes complexes dans les 2 ou 3 lignes de code. Au même C, c'est Superiour à C ++ car il est disponible pour plus de plates-formes et il est plus facile d'embaucher des programmeurs C. C ++ est supérieur à Haskell car en moyenne, cela conduit à un code plus rapide.



1
votes

Vous devriez apprendre à programmer en une langue bien structurée: OCAML est recommandé, HASKELL est également bon mais un peu plus difficile d'obtenir un compilateur de travail et plus difficile à apprendre car il est purement fonctionnel.

Les mathématiques sont peu utilisées dans la programmation (les mathématiques utiles sont trop difficiles, à savoir la théorie de la catégorie). Cependant, une certaine théorie de type de base est utile.

Vous ne pouvez pas apprendre une bonne programmation dans des langues telles que c, les choses importantes sont trop profondément enterrées dans les tâches d'entretien ménager et les stupides historiques.


1 commentaires

Vous apprenez certainement des choses à propos de l'ordinateur et de votre système d'exploitation. Je dirais que cela est tout aussi important. Les programmeurs bloqués dans l'espace utilisateur avec une plate-forme de cuillère ne sont pas particulièrement utiles.