C++ est un langage de programmation généraliste conçu pour rendre la programmation plus agréable pour les programmeurs sérieux. En plus des fonctionnalités fournies par C, Cpp offre des fonctionnalités flexibles et efficaces pour définir de nouveaux types. Un programmeur peut partitionner une application en morceaux gérables en définissant de nouveaux types qui correspondent étroitement aux concepts de l'application. Cette technique de construction de programme est souvent appelée abstraction de données. Les objets de certains types définis par l'utilisateur contiennent des informations de type. De tels objets peuvent être utilisés de manière pratique et sûre dans des contextes dans lesquels leur type ne peut pas être déterminé au moment de la compilation. La technique de programmation orienté objet se traduit par des programmes plus courts, plus faciles à comprendre et plus faciles à maintenir
Le concept de base du language C++
Le concept clé en C++ est la classe. Une classe est un type défini par l'utilisateur. Les classes fournissent le masquage des données, l'initialisation garantie des données, la conversion de type implicite pour les types définis par l'utilisateur, le typage dynamique, la gestion de la mémoire contrôlée par l'utilisateur et les mécanismes de surcharge des opérateurs. Cpp fournit de bien meilleures possibilités de vérification de type et d'expression de la modularité que C. Il contient également des améliorations qui ne sont pas directement liées aux classes, notamment les constantes symboliques, la substitution en ligne de fonctions, les arguments de fonction par défaut, les noms de fonctions surchargés, les opérateurs de gestion de magasin libre et un type de référence. C++ conserve la capacité de C à traiter efficacement les objets fondamentaux du matériel (bits, octets, mots, adresses, etc.). Cela permet de mettre en œuvre les types définis par l'utilisateur avec un degré d'efficacité satisfaisant.
La simplicité était un critère de conception important: là où il y avait un choix entre simplifier la définition du langage et simplifier le compilateur, le premier était choisi. Cependant, une grande importance a été attachée à la conservation de la compatibilité avec C; ceci excluait le nettoyage de la syntaxe C.
Comment apprendre Cpp
La chose la plus importante à faire lors de l'apprentissage du C++ est de se concentrer sur les concepts et de ne pas se perdre dans les détails techniques. Le but de l'apprentissage d'un langage de programmation est de devenir un meilleur programmeur; c'est-à-dire, devenir plus efficace dans la conception et la mise en œuvre de nouveaux systèmes et dans le maintien des anciens. Pour cela, une appréciation des techniques de programmation et de conception est bien plus importante qu'une compréhension des détails; cette compréhension vient avec le temps et la pratique.
C++ prend en charge une variété de styles de programmation. Tous sont basés sur une forte vérification de type statique, et la plupart visent à atteindre un haut niveau d'abstraction et une représentation directe des idées du programmeur. Chaque style peut atteindre ses objectifs efficacement tout en préservant l'efficacité de l'exécution et de l'espace. Un programmeur venant d'un langage différent (disons C, Fortran, Smalltalk, Lisp, ML, Ada, Eiffel, Pascal, ou Modula-2) devrait réaliser que pour gagner les bénéfices de Cpp, ils doivent passer du temps à apprendre et à intérioriser les styles de programmation. techniques adaptées à C++. La même chose s'applique aux programmeurs habitués à une version antérieure et moins expressive de C++.
En appliquant sans effort des techniques efficaces dans une langue à une autre, on aboutit généralement à un code maladroit, peu performant et difficile à maintenir. Cependant, les idées doivent être transformées en quelque chose qui correspond à la structure générale et au système de types de C++.
Dans le débat continu sur la nécessité d'apprendre C avant Cpp, je suis fermement convaincu qu'il est préférable d'aller directement au C++. En fait, C++ supporte une approche progressive de l'apprentissage. Votre approche de l'apprentissage d'un nouveau langage de programmation dépend de ce que vous savez déjà et de ce que vous voulez apprendre. Il n'y a pas une approche unique qui convient à tout le monde. Supposons que vous apprenez le Cpp pour devenir un meilleur programmeur et concepteur. Cela doit être fait graduellement parce que l'acquisition de toute nouvelle compétence importante prend du temps et nécessite de la pratique. Il s'ensuit que vous utiliserez souvent le C++ pour construire des systèmes réels avant de comprendre chaque caractéristique et chaque technique du langage.
En supportant plusieurs paradigmes de programmation, C++ supporte une programmation productive à plusieurs niveaux d'expertise. Chaque nouveau style de programmation ajoute un autre outil à votre boîte à outils, mais chacun est efficace en soi et chacun ajoute à votre efficacité en tant que programmeur. C++ est organisé de sorte que vous puissiez apprendre ses concepts dans un ordre à peu près linéaire et obtenir des avantages pratiques en cours de route. Ceci est important car cela vous permet d'obtenir des bénéfices à peu près proportionnellement à l'effort dépensé
Utilisation de C++
C++ est utilisé par des centaines de milliers de programmeurs dans pratiquement tous les domaines d'application. Cette utilisation est soutenue par une douzaine d'implémentations indépendantes, des centaines de bibliothèques, des centaines de manuels, plusieurs revues techniques, de nombreuses conférences et d'innombrables consultants. La formation et l'éducation à divers niveaux sont largement disponibles.
Comme C, C++ n'a pas été spécialement conçu pour le calcul numérique. Cependant, il est largement utilisé pour l'enseignement et la recherche et beaucoup de calcul numérique, scientifique et d'ingénierie est fait en C++. Une raison majeure à cela est que le travail numérique traditionnel doit souvent être combiné avec des graphiques et des calculs reposant sur des structures de données qui ne rentrent pas dans le moule Fortran traditionnel.
C++ et ses bibliothèques standard sont conçus pour la portabilité. L'implémentation actuelle sera exécutée sur la plupart des systèmes qui supportent C. Les bibliothèques C peuvent être utilisées à partir d'un programme C++, et la plupart des outils qui supportent la programmation en C peuvent être utilisés avec C++.
Je trouve l'utilisation de C++ plus agréable que jamais. Le support de C++ pour la conception et la programmation s'est considérablement amélioré au cours des années, et beaucoup de nouvelles techniques utiles ont été développées pour son utilisation. Cependant, C++ n'est pas seulement amusant. Les programmeurs ont réalisé des améliorations significatives dans la productivité, la maintenance , la flexibilité et la qualité dans des projets de n'importe quel type et niveau. À ce jour, C++ a rempli la plupart des espoirs que j'avais initialement pour lui, et a également réussi à des tâches dont je n'avais même pas rêvé.
Comment programmer avec C++
Idéalement, vous abordez la tâche de développent d'une application en trois étapes. Tout d'abord, vous obtenez une compréhension claire du problème (analyse ), puis vous identifiez les concepts clés impliqués dans une solution (conception), et enfin vous exprimez cette solution dans un programme (programmation). Cependant, les détails du problème et les concepts de la solution ne sont souvent clairement compris que par l'effort de les exprimer dans un programme et d'essayer de le faire de façon acceptable. C'est là que le choix du langage de programmation est important.
Dans la plupart des applications, il existe des concepts qui ne sont pas facilement représentés comme l'un des types fondamentaux ou comme une fonction sans données associées. Étant donné un tel concept, déclarez une classe pour la représenter dans le programme. Une classe Cpp est un type. C'est-à-dire, il spécifie comment les objets de sa classe se comportent: comment ils sont créés, comment ils peuvent être manipulés, et comment ils sont détruits. Une classe peut également spécifier comment les objets sont représentés, bien que dans les premières étapes de la conception d'un programme, cela ne devrait pas être la préoccupation majeure. La clé pour écrire de bons programmes est de concevoir des classes afin que chacune représente un concept unique. Olten, cela signifie que vous devez vous concentrer sur des questions telles que: Comment les objets de cette classe sont-ils créés? Les objets de cette classe peuvent-ils être copiés et / ou détruits? Quelles opérations peuvent être appliquées à de tels objets? S'il n'y a pas de bonnes réponses à ces questions, le concept n'était probablement pas "propre" en premier lieu. Il pourrait alors être une bonne idée de réfléchir davantage sur le problème et la solution proposée au lieu de commencer immédiatement à «coder autour» des problèmes.
langage C++