Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
IDENouvelles

15 conseils pour passer du C ++ en classe au C ++ moderne, partie 1/3

digital-particles

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.

  1. 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: 

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.

  1. 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 ++.

15-tips-ides

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.

  1. 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.

15-tips-cppbuilder

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. 

  1. 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.

  1. 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. 

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.

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.

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.

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.

Utilisez L avant les citations de texte comme ci-dessous pour prendre en charge le formatage Unicode.

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,

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


What's Next
Enter the Enterprise Software Development Article Challenge
Enterprise Software Development Article Challenge

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES