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 New for RAD Studio 11

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