Vous connaissez peut-être le C ou le C ++ à l’université et souhaitez développer des applications, des jeux et des applications d’intelligence artificielle, mais vous ne savez pas si ce que vous avez appris suffit pour vous aider à atteindre votre objectif. Comment passer du C ++ «en classe» au C ++ moderne?
Aujourd’hui, le codage dans n’importe quel langage de programmation est une compétence indispensable, et Internet dispose de nombreuses ressources, allant de la façon de coder à partir de zéro à la façon de créer des applications professionnelles haut de gamme, des API et des algorithmes. Apprendre à coder dans au moins un langage de programmation est obligatoire dans les établissements d’enseignement. Chaque aspect de la vie aujourd’hui est contrôlé à un moment donné par un programme informatique. Avec le développement des ordinateurs et des langages de programmation parallèlement aux systèmes d’exploitation, la programmation est devenue plus vaste et plus complexe. Aujourd’hui, la programmation est nécessaire dans tous les départements du monde entier.
C ++ est l’un des langages de programmation populaires enseignés dans les programmes éducatifs. Vous avez peut-être acquis des compétences d’introduction en programmation, mais comment pouvez-vous les mettre à profit? Le C ++ que vous avez appris à l’école est-il suffisant pour être productif? Pour les amateurs, la réponse est oui! Vous pouvez être productif tout en utilisant C ++ en exécutant du code de base dans la console. Pour être un professionnel, cependant, la réponse est non. Vous devez créer des applications C ++ modernes. Alors, comment pouvez-vous passer de Classroom C ++ au C ++ moderne et inclure des images, des thèmes, des bases de données, des fonctionnalités puissantes et des graphiques 2D ou 3D dans votre application multiplateforme ou multiplateforme? Dans cet article, nous vous fournirons les meilleurs conseils sur la façon dont vous pouvez améliorer vos compétences. Mais avant cela, partageons quelques raisons pour lesquelles C ++ est utile.
- Savoir pourquoi le C ++ est nécessaire dans l’éducation
Dans le monde de la programmation, il existe deux types de langages de programmation: les langages de programmation interprétés et non interprétés (compilés) . Nos ordinateurs fonctionnent avec un code machine (code qui peut être directement programmé par code d’assemblage sur un CPU ou un GPU) qui indique à l’ordinateur ce qu’il doit faire. Les fichiers exécutables ont ce code. Le code machine est le code le plus rapide et le plus natif, mais il nécessite l’écriture de nombreuses lignes pour des tâches simples et ne peut pas être généralisé pour différents types de processeurs.
Un compilateur est un programme informatique qui convertit du code dans un langage de programmation lisible par l’homme écrit dans du texte en code machine exécutable. Selon la qualité de l’optimisation du compilateur, ce code peut ne pas être aussi rapide que le code d’assemblage écrit à la main, mais la différence de vitesse est généralement très faible. Les compilateurs C ++ sont généralement très bons pour l’optimisation et le langage est conçu avec l’optimisation à l’esprit. C’est l’une des raisons pour lesquelles C ++ est le langage de programmation le plus rapide et le plus puissant et l’un des langages les plus populaires au monde.
Langages de programmation interprétéssont soit compilés en code machine à la volée, soit exécutés à la place dans une application exécutable normale qui lit le code source et implémente le comportement. Java, Python ou Visual Basic sont de bons exemples. C’est pourquoi ces langages sont plus lents lors de l’exécution des opérations, car ils doivent utiliser des bibliothèques compilées pour des opérations plus rapides. La plupart des langages de programmation interprétés et certains langages asm utilisent des compilateurs C / C ++ pour construire leurs bibliothèques: Python, par exemple, a ses principales bibliothèques axées sur les performances écrites en C ou C ++, vous écrivez donc du code Python qui utilise réellement C ++ sous le capot . Utiliser un langage de programmation interprété, c’est comme être porté par un coureur, tandis qu’utiliser un langage de programmation compilé (non interprété), c’est comme s’exécuter soi-même. Cette différence subtile se transforme en une énorme différence lorsque la même routine (par exemple,pour la reconnaissance faciale) est exécuté des millions de fois en une milliseconde.
Le C ++ peut être un peu difficile à apprendre, mais il est plus rapide et plus productif dans tous les domaines et sur toutes les plates-formes. Apprendre le C ++ dans votre école ou université est un bon plan car le champ C ++ est très large. Donc, pour moderniser vos connaissances C ++, vous devez décider du type d’applications que vous souhaitez développer professionnellement. Voulez-vous développer des applications de base de données? Vous souhaitez coder des applications C ++ backend s’exécutant sur des serveurs ou dans des domaines d’ingénierie ou de recherche scientifique? Voulez-vous développer des applications simples avec des images époustouflantes et des interfaces utilisateur? Voulez-vous développer des jeux 2D ou 3D, des applications d’IA ou des applications plus complexes comprenant tout cela?
Voici le premier conseil:
Table of Contents
Astuce 1 . «Vos connaissances universitaires en C ou C ++ sont nécessaires pour passer au C ++ moderne et choisir le domaine dans lequel vous souhaitez travailler. Ces connaissances peuvent également être appliquées lors de la création d’applications modernes.
- Utilisez des compilateurs multi-plates-formes ou choisissez la plate-forme principale du système d’exploitation pour laquelle vous souhaitez développer
C ++ a des normes, donc généralement, la plupart des compilateurs peuvent exécuter la plupart du code C ++, mais certains compilateurs ont des fonctionnalités spécifiques. Différents systèmes d’exploitation ont différents compilateurs et IDE C ++ populaires. Par exemple, le système d’exploitation Windows a Visual C ++, C ++ Builder et de nombreux autres compilateurs et IDE; Linux a GNU C / C ++ et clang; Mac-OS, iOS a retenti; et Android a Android Studio avec C ++. Il existe également une prise en charge croisée et multiplateforme dans certains de ces compilateurs et IDE tels que C ++ Builder et Visual C ++.
Si vous souhaitez vous concentrer uniquement sur un système d’exploitation, vous pouvez en choisir un. Si votre application réussit sur ce système d’exploitation et que vous souhaitez la migrer vers d’autres systèmes d’exploitation, cela peut être difficile à faire. Avec Modern C ++, utiliser un compilateur multiplateforme ou IDE (également appelé développement multiplateforme ou multi-périphérique) est préférable à l’utilisation d’un compilateur spécifique, car cela vous permet de compiler facilement votre code pour toutes les plates-formes. C’est l’une des clés pour rendre votre code moderne: votre code peut être concentré sur un système d’exploitation, mais il devrait être facile à compiler sur d’autres .
Astuce 2 : utilisez des compilateurs multi-plateformes. Si vous vous concentrez sur une plate-forme OS, considérez également qu’il s’agira d’une plate-forme multi-OS.
- Choisissez votre compilateur professionnel avec l’EDI
Aujourd’hui, il existe de nombreux compilateurs et IDE C ++ avec de nombreuses fonctionnalités pour développer des applications professionnelles, notamment Visual C ++, C ++ Builder, GNU C / C ++, Objective-C, Dev-C ++ (avec TDM-GCC), Code-Blocks (avec GNU C / C ++), CLion (avec GNU C / C ++), éditeur Eclipse. Certains compilateurs sont livrés avec IDE (ou IDE est livré avec son propre compilateur), certains IDE sont livrés avec un compilateur populaire (comme GNU C / C ++), et certains IDE ne prennent en charge que le codage C ++ avec coloration syntaxique (comme Notepad ++).
Ici, pour passer au C ++ moderne avec les derniers standards, la connectivité de base de données, le support multiplateforme et le support 2D et 3D, nous suggérons C ++ Builder . Il fonctionne sous Windows et est également capable de compiler du code pour iOS et Android 32 bits.
C ++ Builder fait partie de RAD Studio, mais fonctionne de manière autonome si vous ne souhaitez pas utiliser les autres langages proposés par RAD Studio (Delphi). C ++ Builder inclut un compilateur amélioré par Clang pour Win32, Win64 et iOS. Il comprend également un IDE RAD Studio moderne et à haute productivité, des outils de débogage et une connectivité d’entreprise pour accélérer le développement d’interface utilisateur multiplateforme. Vous pouvez facilement développer des applications basées sur l’interface graphique, car il est livré avec le cadre VCL primé pour les applications Windows natives hautes performances et le puissant cadre FireMonkey (FMX) pour les interfaces utilisateur multiplateformes.
Une édition communautaire gratuite de C ++ Builder peut être utilisée par les étudiants, les débutants et les startups. Vous pouvez télécharger l’édition communautaire gratuite de C ++ Builder ici . Les développeurs professionnels peuvent utiliser les versions professionnelle, architecte ou entreprise de C ++ Builder. Vous pouvez télécharger et utiliser la version d’essai pendant un mois, avec les mêmes fonctionnalités que la version complète. Veuillez visiter ici pour plus de détails.
Si vous souhaitez coder uniquement des applications backend (ou des applications console), vous pouvez utiliser le compilateur GNU C / C ++ (GCC, g ++) avec un IDE compatible. GNU g ++ est un autre compilateur C ++ puissant écrit à l’origine comme le compilateur pour les systèmes d’exploitation Unix, Linux et GNU. Le système GNU a été développé pour être un logiciel 100% libre, et il est efficace avec les opérations 32 bits et 64 bits. Ce compilateur peut être utilisé sous Windows en utilisant les couches de compatibilité MinGW ou Cygwin Linux. Les fichiers exécutables compilés ont besoin d’une petite DLL pour s’exécuter indépendamment sous Windows. Il est principalement compatible avec les normes Clang.
Le compilateur GNU C / C ++ (GCC, g ++) peut également être utilisé par Visual Studio Code, Dev C ++, les blocs de code et les IDE CLion, et il peut être directement utilisé avec l’invite de commande ou PowerShell.
Astuce 3: Utilisez un compilateur professionnel avec IDE, comme C ++ Builder.
- Considérez une norme C ++ moderne lors du codage
Doit-on envisager un standard C ++ lors du codage? La réponse est oui! Nous vous recommandons vivement de coder avec un compilateur C ++ amélioré par CLANG ou autant que possible selon les normes CLANG.
CLANG est un standard pour les compilateurs C ++ (sur le codage C ++, la compilation, le débogage, etc.) considérés comme des compilateurs C, Objective-C, C ++ et Objective-C ++ de qualité production lorsqu’ils ciblent X86-32, X86-64 et ARM . Il s’agit d’un nouveau standard de compilateur C / C ++ (C ++ 98, C ++ 11, C ++ 17, C ++ 20, C ++ 23…) pris en charge par le projet d’infrastructure du compilateur LLVM et a été un compilateur par défaut dans dernières années pour la plupart des compilateurs C / C ++. Cela signifie que si vous codez pour un compilateur CLANG, la plupart des autres IDE et compilateurs de plates-formes prendront en charge votre code sans aucune modification. La dernière norme C ++ 17 est prise en charge par la plupart des compilateurs C ++. Pour plus d’informations sur les fonctionnalités de base du langage, cliquez ici . C ++ 20 est nouveau et nécessite du temps d’adaptation.
C ++ Builder et Visual C ++ sont fournis avec des compilateurs améliorés par IDE et CLANG. GNU C / C ++ et Objective-C sont également répertoriés comme compilateurs CLANG.
Que signifie CLANG pour un développeur? Si vous développez votre code au standard CLANG, qu’il soit axé sur une seule plate-forme ou sur plusieurs plates-formes, votre code est compatible avec d’autres compilateurs améliorés par CLANG. Vous pouvez facilement déplacer vos codes d’un compilateur à un autre.
Astuce 4: Code avec un compilateur C ++ amélioré par CLANG, ou code autant que possible dans les normes CLANG.
- Utiliser des chaînes Unicode ou des chaînes larges
Dans College C ++, les tableaux de caractères sont principalement donnés sous forme de texte alphanumérique comme ci-dessous.
[crayon-67681d0b88193465180119/]Bien qu’utilisées dans du code de très bas niveau, les chaînes conservées dans ce format (ou un caractère *) sont difficiles à écrire en toute sécurité et constituent une cause courante de bogues, y compris des problèmes de sécurité.
En général, utilisez une chaîne au lieu de tableaux de caractères comme dans l’exemple ci-dessous.
[crayon-67681d0b8819b634626882/]Malheureusement, dans la plupart des codes et des bases de données, les noms, les prénoms, les noms de famille, les textes d’adresse, etc. sont définis comme des tableaux de caractères fixes. Un exemple de C ++ de style College est présenté ci-dessous.
[crayon-67681d0b8819c043265591/]Notez que la plupart des noms comportent de trois à huit caractères (Jim, Ali, Chen, Mehmet); les noms de famille et les prénoms sont à peu près les mêmes. Et de nombreuses adresses comportent entre 50 et 80 caractères. Certaines applications ont des champs d’adresse vides pendant qu’elle est définie pour être ajoutée. Pourtant, ceux-ci sont de longueur fixe et inflexibles, et les méthodes pour traiter les chaînes dans ce format sont souvent peu sûres.
Dans cet esprit, l’utilisation des chaînes ci-dessous est beaucoup plus moderne.
[crayon-67681d0b8819d379365377/]std :: string fonctionne avec char, ce qui signifie que ce n’est pas une chaîne Unicode qui peut prendre en charge toutes les langues du monde, mais que vous pouvez contenir des données UTF8 dans une chaîne, bien que ce ne soit pas idéal (les données ne sont pas marquées comme UTF8, et les séquences de caractères représentent un caractère en langage humain. Nous pouvons facilement changer la définition de std :: string en définition de std :: wstring .
L’utilisation de string est très utile si vous développez une application fonctionnant avec des textes anglais ou avec des normes de texte ASCII (en allemand, français, espagnol, etc.) car la chaîne se compose de tableaux de caractères ASCII.
Une chaîne large peut être utilisée dans notre exemple ci-dessous.
[crayon-67681d0b8819e173850546/]Utilisez L avant les citations de texte comme ci-dessous pour prendre en charge le formatage Unicode.
[crayon-67681d0b8819f599236874/]WideString représente une séquence allouée dynamiquement de la chaîne wchar_t de caractères Unicode 16 bits et elle est appropriée pour une utilisation dans les applications COM. Cependant, WideString n’est pas compté par référence. UnicodeString est une chaîne allouée dynamiquement en Unicode dont la longueur maximale n’est limitée que par la mémoire disponible, elle est plus flexible et efficace dans d’autres types d’applications. Si vous développez une application globale, utilisez des chaînes Unicode.
La norme Unicode pour UnicodeString fournit un numéro unique pour chaque caractère (8, 16 ou 32 bits) supérieur aux caractères ASCII (8 bits). Les chaînes Unicode sont largement utilisées en raison de leur prise en charge des langues du monde entier et de leurs emojis. Dans le C ++ moderne de nos jours, deux types de chaînes sont utilisés: un tableau de caractères (chaînes de caractères) et UnicodeStrings (WideStrings et AnsiStrings sont plus anciens, non compatibles avec toutes les fonctionnalités actuellement). Les compilateurs CLANG | C ++ Builder | GNUC / C ++ | et les IDE utilisent ce standard pour les formulaires GUI afin de prendre en charge tous les langages afin de fournir des applications globalement. Pour plus d’informations sur la structure d’UnicodeStrings, cliquez ici . RAD Studio, Delphi et C ++ Builder utilisent des chaînes basées sur Unicode, c’est-à-dire que le type de chaîne est une chaîne Unicode ( System.UnicodeString) au lieu d’une chaîne ANSI. Utilisez une chaîne ou UnicodeString dans C ++ Builder comme ci-dessous,
[crayon-67681d0b881a0698046001/]Astuce 5: Utilisez des chaînes larges ou UnicodeStrings dans des formats de chaîne pour prendre en charge la langue mondiale; évitez autant que possible d’utiliser des tableaux de caractères fixes.
Lisez la partie 2 de cet article de blog ici
Lisez la partie 3 de ce billet de blog ici