Sie kennen C oder C ++ vielleicht vom College und möchten Apps, Spiele und KI-Anwendungen entwickeln. Sie sind sich jedoch nicht sicher, ob das Gelernte ausreicht, um Ihr Ziel zu erreichen. Wie können Sie von „Klassenzimmer“ C ++ zu Modern C ++ wechseln?
Heutzutage ist das Codieren in jeder Programmiersprache eine unverzichtbare Fähigkeit, und das Internet verfügt über viele Ressourcen, von der Codierung von Grund auf bis zur Erstellung professioneller High-End-Anwendungen, APIs und Algorithmen. Das Erlernen des Codierens in mindestens einer Programmiersprache ist in Bildungseinrichtungen obligatorisch. Jeder Aspekt des heutigen Lebens wird irgendwann von einem Computerprogramm gesteuert. Mit der Entwicklung von Computern und Programmiersprachen neben Betriebssystemen ist die Programmierung größer und komplexer geworden. Heute ist die Programmierung in allen Abteilungen überall erforderlich.
C ++ ist eine der beliebtesten Programmiersprachen, die in Bildungsprogrammen gelehrt werden. Sie haben vielleicht einführende Programmierkenntnisse erlernt, aber wie können Sie diese sinnvoll einsetzen? Ist das C ++, das Sie in der Schule gelernt haben, genug, um produktiv zu sein? Für Amateure lautet die Antwort ja! Sie können bei der Verwendung von C ++ produktiv sein, indem Sie Basiscode in der Konsole ausführen. Um ein Profi zu sein, lautet die Antwort jedoch nein. Sie müssen moderne C ++ – Anwendungen erstellen. Wie können Sie also von Classroom C ++ zu Modern C ++ wechseln und beeindruckende Bilder, Themen, Datenbanken, leistungsstarke Funktionen sowie 2D- oder 3D-Grafiken in Ihre plattformübergreifende oder plattformübergreifende Anwendung aufnehmen? In diesem Artikel geben wir Ihnen Tipps, wie Sie Ihre Fähigkeiten verbessern können. Aber lassen Sie uns vorher einige Gründe nennen, warum C ++ nützlich ist.
- Wissen, warum C ++ in der Bildung benötigt wird
In der Programmierwelt gibt es zwei Arten von Programmiersprachen: interpretierte und nicht interpretierte (kompilierte) Programmiersprachen. Unsere Computer arbeiten mit Maschinencode (Code, der direkt durch Assemblycode auf einer CPU oder GPU programmiert werden kann), der dem Computer mitteilt, was zu tun ist. Ausführbare Dateien haben diesen Code. Maschinencode ist der schnellste und am meisten native Code, erfordert jedoch das Schreiben vieler Zeilen für einfache Aufgaben und kann nicht für verschiedene Arten von CPUs verallgemeinert werden.
Ein Compiler ist ein Computerprogramm, das Code in einer für Menschen lesbaren Programmiersprache, die in Text geschrieben ist, in ausführbaren Maschinencode konvertiert. Abhängig davon, wie gut der Compiler bei der Optimierung ist, ist dieser Code möglicherweise nicht ganz so schnell wie handgeschriebener Assembler-Code, aber der Geschwindigkeitsunterschied ist normalerweise sehr gering. C ++ – Compiler können in der Regel sehr gut optimieren, und die Sprache wurde unter Berücksichtigung der Optimierung entwickelt. Dies ist einer der Gründe, warum C ++ die schnellste und leistungsstärkste Programmiersprache ist und eine der beliebtesten Sprachen der Welt ist.
Interpretierte Programmiersprachenwerden entweder im laufenden Betrieb zu Maschinencode kompiliert oder stattdessen in einer normalen ausführbaren Anwendung ausgeführt, die den Quellcode liest und das Verhalten implementiert. Java, Python oder Visual Basic sind gute Beispiele. Aus diesem Grund sind solche Sprachen bei der Ausführung von Vorgängen langsamer, da sie kompilierte Bibliotheken für schnellere Vorgänge verwenden müssen. Die meisten interpretierten Programmiersprachen und einige ASM-Sprachen verwenden C / C ++ – Compiler, um ihre Bibliotheken zu erstellen: Python hat beispielsweise seine wichtigsten leistungsorientierten Bibliotheken in C oder C ++ geschrieben, sodass Sie Python-Code schreiben, der tatsächlich C ++ unter der Haube verwendet . Die Verwendung einer interpretierten Programmiersprache ist wie das Tragen durch einen Läufer, während die Verwendung einer kompilierten (nicht interpretierten) Programmiersprache dem Ausführen von sich selbst gleicht. Dieser subtile Unterschied wird zu einem großen Unterschied, wenn dieselbe Routine (z.zur Gesichtserkennung) wird millionenfach in einer Millisekunde ausgeführt.
C ++ kann etwas schwer zu erlernen sein, ist jedoch in allen Bereichen und auf allen Plattformen schneller und produktiver. Das Erlernen von C ++ an Ihrer Schule oder Universität ist ein guter Plan, da das C ++ – Feld sehr breit ist. Um Ihr C ++ – Wissen zu modernisieren, sollten Sie entscheiden, welche Art von Anwendungen Sie professionell entwickeln möchten. Möchten Sie Datenbankanwendungen entwickeln? Möchten Sie Backend-C ++ – Anwendungen codieren, die auf Servern oder in der Technik oder in der wissenschaftlichen Forschung ausgeführt werden? Möchten Sie einfache Anwendungen mit atemberaubenden Bildern und Benutzeroberflächen entwickeln? Möchten Sie 2D- oder 3D-Spiele, KI-Anwendungen oder komplexere Anwendungen entwickeln, einschließlich all dieser?
Hier ist der erste Tipp:
Table of Contents
Tipp 1 . ‚Ihre College-C- oder C ++ – Kenntnisse sind erforderlich, um zu Modern C ++ zu wechseln und das Feld auszuwählen, in dem Sie arbeiten möchten. Dieses Wissen kann auch beim Erstellen moderner Anwendungen angewendet werden.
- Verwenden Sie Multi-Plattform-Compiler oder wählen Sie die primäre Betriebssystemplattform aus, für die Sie entwickeln möchten
C ++ hat Standards, daher können die meisten Compiler im Allgemeinen den meisten C ++ – Code ausführen, aber einige Compiler verfügen über bestimmte Funktionen. Unterschiedliche Betriebssysteme haben unterschiedliche gängige C ++ – Compiler und IDEs. Das Windows-Betriebssystem verfügt beispielsweise über Visual C ++, C ++ Builder und viele andere Compiler und IDEs. Linux hat GNU C / C ++ und klirrt; Mac-OS, iOS hat geklirrt; und Android hat Android Studio mit C ++. Einige dieser Compiler und IDEs wie C ++ Builder und Visual C ++ unterstützen auch plattform- und plattformübergreifend .
Wenn Sie sich nur auf ein Betriebssystem konzentrieren möchten, können Sie eines davon auswählen. Wenn Ihre App auf diesem Betriebssystem erfolgreich ist und Sie sie auf andere Betriebssysteme migrieren möchten, ist dies möglicherweise schwierig. Mit Modern C ++ ist die Verwendung eines Multiplattform-Compilers oder einer IDE (auch als plattformübergreifende oder geräteübergreifende Entwicklung bezeichnet) besser als die Verwendung eines bestimmten Compilers, da Sie so Ihren Code einfach für alle Plattformen kompilieren können. Dies ist einer der Schlüssel zur Modernisierung Ihres Codes: Ihr Code konzentriert sich möglicherweise auf ein Betriebssystem, sollte jedoch auf anderen Betriebssystemen leicht zu kompilieren sein .
Tipp 2 : Verwenden Sie plattformübergreifende Compiler. Wenn Sie sich auf eine Betriebssystemplattform konzentrieren, denken Sie auch daran, dass es sich um eine Plattform mit mehreren Betriebssystemen handelt.
- Wählen Sie Ihren professionellen Compiler mit der IDE
Heutzutage gibt es viele C ++ – Compiler und IDEs mit vielen Funktionen zum Entwickeln professioneller Anwendungen, einschließlich Visual C ++, C ++ Builder, GNU C / C ++, Objective-C, Dev-C ++ (mit TDM-GCC) und Codeblöcke (mit GNU C / C ++), CLion (mit GNU C / C ++), Eclipse-Editor. Einige Compiler werden mit IDE geliefert (oder IDE wird mit einem eigenen Compiler geliefert), einige IDEs werden mit einem beliebten Compiler geliefert (wie GNU C / C ++) und einige IDEs unterstützen nur C ++ – Codierung mit Syntaxhervorhebung (wie Notepad ++).
Um auf Modern C ++ mit den neuesten Standards, Datenbankkonnektivität, plattformübergreifender Unterstützung sowie 2D- und 3D-Unterstützung umzusteigen, empfehlen wir C ++ Builder . Es läuft unter Windows und kann auch Code für iOS und Android 32-Bit kompilieren.
C ++ Builder ist Teil von RAD Studio, funktioniert jedoch eigenständig, wenn Sie nicht die andere Sprache verwenden möchten, die RAD Studio bietet (Delphi). C ++ Builder enthält einen Clang-erweiterten Compiler für Win32, Win64 und iOS. Es bietet außerdem eine moderne, hochproduktive RAD Studio-IDE, Debugger-Tools und Unternehmenskonnektivität, um die plattformübergreifende Entwicklung der Benutzeroberfläche zu beschleunigen. Sie können auf einfache Weise GUI-basierte Anwendungen entwickeln, da das preisgekrönte VCL-Framework für leistungsstarke native Windows-Apps und das leistungsstarke FireMonkey (FMX) -Framework für plattformübergreifende Benutzeroberflächen enthalten sind.
Eine kostenlose C ++ Builder Community Edition kann von Studenten, Anfängern und Startups verwendet werden. Sie können die kostenlose C ++ Builder Community Edition hier herunterladen . Professionelle Entwickler können die Professional-, Architect- oder Enterprise-Versionen von C ++ Builder verwenden. Sie können die Testversion einen Monat lang herunterladen und verwenden, mit denselben Funktionen wie die Vollversion. Bitte besuchen Sie hier für weitere Details.
Wenn Sie nur Backend-Apps (oder Konsolen-Apps) codieren möchten, können Sie den GNU C / C ++ – Compiler (GCC, g ++) mit einer kompatiblen IDE verwenden. GNU g ++ ist ein weiterer leistungsstarker C ++ – Compiler, der ursprünglich als Compiler für die Betriebssysteme Unix, Linux und GNU geschrieben wurde. Das GNU-System wurde als 100% freie Software entwickelt und ist sowohl bei 32-Bit- als auch bei 64-Bit-Operationen effizient. Dieser Compiler kann unter Windows mit MinGW- oder Cygwin Linux-Kompatibilitätsebenen verwendet werden. Kompilierte ausführbare Dateien benötigen eine kleine DLL, um unter Windows unabhängig ausgeführt zu werden. Es ist größtenteils mit Clang-Standards kompatibel.
Der GNU C / C ++ – Compiler (GCC, g ++) kann auch von Visual Studio Code, Dev C ++, Codeblöcken und CLion-IDEs verwendet werden und kann direkt mit der Eingabeaufforderung oder PowerShell verwendet werden.
Tipp 3: Verwenden Sie einen professionellen Compiler mit IDE wie C ++ Builder.
- Berücksichtigen Sie beim Codieren einen modernen C ++ – Standard
Sollten wir beim Codieren einen C ++ – Standard berücksichtigen? Die Antwort ist ja! Wir empfehlen dringend, Code mit einem CLANG-erweiterten C ++ – Compiler oder so weit wie möglich nach CLANG-Standards zu verwenden.
CLANG ist ein Standard für C ++ – Compiler (zum Codieren, Kompilieren, Debuggen usw. von C ++), der als C-, Objective-C-, C ++ – und Objective-C ++ – Compiler in Produktionsqualität betrachtet wird, wenn auf X86-32, X86-64 und ARM abgezielt wird . Es ist ein neuer C / C ++ – Compiler-Standard (C ++ 98, C ++ 11, C ++ 17, C ++ 20, C ++ 23…), der vom LLVM Compiler Infrastructure Project unterstützt wird und in dem ein Standard-Compiler verwendet wurde letzte Jahre für die meisten C / C ++ – Compiler. Dies bedeutet, dass die meisten anderen IDEs und Compiler von Plattformen Ihren Code ohne Änderungen unterstützen, wenn Sie für einen CLANG-Compiler codieren. Der neueste C ++ 17-Standard wird von den meisten C ++ – Compilern unterstützt. Weitere Informationen zu den wichtigsten Sprachfunktionen finden Sie hier . C ++ 20 ist neu und benötigt Anpassungszeit.
C ++ Builder und Visual C ++ werden mit IDE- und CLANG-erweiterten Compilern geliefert. GNU C / C ++ und Objective-C werden auch als CLANG-Compiler aufgeführt.
Was bedeutet CLANG für einen Entwickler? Wenn Sie Ihren Code im CLANG-Standard entwickeln, unabhängig davon, ob er sich auf eine einzelne Plattform oder mehrere Plattformen konzentriert, ist Ihr Code mit anderen CLANG-erweiterten Compilern kompatibel. Sie können Ihre Codes einfach von einem Compiler auf einen anderen verschieben.
Tipp 4: Code mit einem CLANG-erweiterten C ++ – Compiler oder so viel Code wie möglich in CLANG-Standards.
- Verwenden Sie Unicode-Zeichenfolgen oder breite Zeichenfolgen
In College C ++ werden char-Arrays meistens als alphanumerischer Text angegeben (siehe unten).
[crayon-676aa6643e97f423991030/]Obwohl in sehr niedrigem Code verwendet, sind Zeichenfolgen in diesem Format (oder einem Zeichen *) schwer sicher zu schreiben und eine häufige Ursache für Fehler, einschließlich Sicherheitsprobleme.
Verwenden Sie im Allgemeinen Zeichenfolgen anstelle von Zeichenarrays wie im folgenden Beispiel.
[crayon-676aa6643e986121738745/]Leider werden in den meisten Codes und Datenbanken Namen, Zweitnamen, Nachnamen, Adresstexte usw. als Arrays mit festen Zeichen definiert. Ein Beispiel aus C ++ im College-Stil finden Sie unten.
[crayon-676aa6643e988874019978/]Beachten Sie, dass die meisten Namen aus drei bis acht Zeichen bestehen (Jim, Ali, Chen, Mehmet). Nachnamen und zweite Vornamen sind ungefähr gleich. Und viele Adressen haben ungefähr 50-80 Zeichen. Einige Anwendungen haben leere Adressfelder, während sie zum Hinzufügen definiert sind. Diese sind jedoch fest und unflexibel, und die Methoden zum Umgang mit Zeichenfolgen in diesem Format sind häufig unsicher.
In diesem Sinne ist die unten stehende Verwendung von Zeichenfolgen viel moderner.
[crayon-676aa6643e989870776290/]std :: string funktioniert mit char, was bedeutet, dass es sich nicht um eine Unicode-Zeichenfolge handelt, die alle Sprachen der Welt unterstützen kann. Sie können jedoch UTF8-Daten in einer Zeichenfolge speichern, obwohl dies nicht ideal ist (die Daten sind nicht als UTF8 gekennzeichnet, und Sequenzen von Zeichen repräsentieren eine Mensch-Sprache Charakter .. Wir leicht ändern kann std :: string Definition std :: wstring Definition.
Die Verwendung von Zeichenfolgen ist sehr gut, wenn Sie eine Anwendung entwickeln, die mit englischen Texten oder mit ASCII-Textstandards (in Deutsch, Französisch, Spanisch usw.) ausgeführt wird, da Zeichenfolgen aus ASCII-Zeichenarrays bestehen.
In unserem Beispiel unten kann eine breite Zeichenfolge verwendet werden.
[crayon-676aa6643e98a698307977/]Verwenden Sie L vor den Textzitaten wie unten, um die Unicode-Formatierung zu unterstützen.
[crayon-676aa6643e98b332147855/]WideString stellt eine dynamisch zugewiesene Folge von wchar_t- Zeichenfolgen mit 16-Bit-Unicode-Zeichen dar und ist für die Verwendung in COM-Anwendungen geeignet. Allerdings Wide nicht Referenzzähler. UnicodeString ist eine dynamisch zugewiesene Zeichenfolge in Unicode, deren maximale Länge nur durch den verfügbaren Speicher begrenzt ist. In anderen Arten von Anwendungen ist sie flexibler und effizienter. Wenn Sie eine globale Anwendung entwickeln, verwenden Sie Unicode-Zeichenfolgen. Der Unicode- Standard für UnicodeString
bietet eine eindeutige Nummer für jedes Zeichen (8, 16 oder 32 Bit) mehr als ASCII-Zeichen (8 Bit). Unicode-Zeichenfolgen werden aufgrund ihrer Unterstützung für Sprachen weltweit und ihrer Emojis häufig verwendet. In Modern C ++ werden heutzutage zwei Arten von Zeichenfolgen verwendet: ein Array von Zeichen (Zeichenfolgen) und UnicodeStrings (WideStrings und AnsiStrings sind älter und nicht mit allen Funktionen kompatibel). CLANG | C ++ Builder | GNUC / C ++ | Compiler und IDEs verwenden diesen Standard für GUI-Formulare, um alle Sprachen für die globale Bereitstellung von Anwendungen zu unterstützen. Weitere Informationen zur Struktur von UnicodeStrings finden Sie hier . RAD Studio, Delphi und C ++ Builder verwenden Unicode-basierte Zeichenfolgen. Das heißt, der Typ der Zeichenfolge ist eine Unicode-Zeichenfolge ( System.UnicodeString)) anstelle einer ANSI-Zeichenfolge. Verwenden Sie in C ++ Builder wie folgt Zeichenfolge oder UnicodeString.
Tipp 5: Verwenden Sie breite Zeichenfolgen oder UnicodeStrings in Zeichenfolgenformaten, um die weltweite Sprache zu unterstützen. Vermeiden Sie möglichst feste Char-Arrays.
Lesen Sie Teil 2 dieses Blog – Post hier
Lesen Sie Teil 3 dieser Blog – Post hier