Optimaler Newbie Way für C ++ / Qt

Häufig von unerfahrenen Programmierern eine Frage gestellt: Welche Materialien sollten gelesen werden, um ihr professionelles Niveau zu verbessern? In dieser allgemeinsten Form ist es unmöglich, diese Frage zu beantworten. Dies hängt von den aktuellen Kenntnissen und Fähigkeiten des Menschen, von seiner Spezialisierung und von Aufgaben ab, die in Zukunft vor ihm liegen werden. Ich werde jedoch versuchen, diese Frage nach der Programmierrichtung zu beantworten, mit der ich mich am besten auskenne - der Erstellung plattformübergreifender komplexer Desktopanwendungen. Level- und Klassenanwendungen PhotoShop, VisualStudio, MS Word. Solche Anwendungen, bei denen es aus Sicht des Programmierers vielfältigere Aufgaben gibt:

  • Rendern einer klassischen "Büro" -GUI wie Schaltflächen, Fortschrittsbalken, Widgets, Animationen.
  • Rendern von nicht standardmäßigen Grafiken, z. B. das kontinuierliche Verschieben von Grafiken aus Millionen von Punkten.
  • Arbeiten Sie mit Datenbanken
  • Vernetzung
  • Arbeiten mit der Betriebssystemregistrierung
  • Arbeiten Sie mit dem Drucker
  • Schnelle (einschließlich paralleler) Ausführung komplexer Computeraufgaben.
  • Und viele, viele andere.

Es gibt nicht so viele Arten von Plattformen und Frameworks, mit denen Sie solche Anwendungen effektiv erstellen können. Nachdem sich Programmierer in meiner Organisation verschiedene Plattformen ausprobiert hatten, entschieden sie sich zuversichtlich für den folgenden Link: C ++ - Sprache und Qt-Plattform. Wie die Zeit gezeigt hat, ist diese Wahl nicht gescheitert. Mit Blick auf diese Wahl werde ich beginnen, die Materialien darzulegen, die ich für unerfahrene Programmierer zum Lernen empfehle, wenn sie in dieser Richtung echte Gurus werden wollen.

Dieser Satz von Materialien wurde einmal vom Autor dieses Textes, seinen älteren und jüngeren Kollegen, untersucht und durchlief mehrere Iterationen, um optimal zu werden. Experimente haben Materialien ergeben, deren Studie die maximale Steigerung der Arbeitseffizienz bei minimaler, wenn auch nicht kurzer Einarbeitungszeit ergibt. Da es sich um Optimalität im Bildungsbereich handelt, ist hier natürlich ein Hauch von Subjektivität unvermeidlich, aber ich habe versucht, ihn zu minimieren.

Für wen ist dieser Text? Wenn Sie ein Universitätsabsolvent sind, der beschlossen hat, sein Leben mit dem Programmieren zu verbinden, dann ist dieser Text für Sie. Glauben Sie mir, Sie werden viel Zeit sparen, wenn Sie meinen Rat zu Beginn Ihrer Karriere befolgen. Wenn Sie vor einigen Jahren die High School abgeschlossen haben, als Programmierer arbeiten und dennoch keine ernsthaften Probleme lösen, dann ist dieser Text für Sie. Sie können zu wirklich ernsten Aufgaben heranwachsen, die es nicht peinlich sein werden, Nachkommen davon zu erzählen. Wenn Sie seit ungefähr 5 Jahren als Programmierer arbeiten, aber das Gefühl haben, dass Ihre Karriere aus irgendeinem Grund „nicht läuft“ und für diejenigen, die in der Nähe sitzen - „gehen“, dann ist dieser Text für Sie. Wenn Sie ein erfahrener Programmierer sind und beginnen, dem Weg eines Leiters zu folgen, lesen Sie einfach diesen Text und verteilen Sie ihn unter den Untergebenen. Und wenn du ein Guru bist,Wer alles erlebt hat und mit etwas schwer zu überraschen ist, kann diesen Text einfach lesen, um sich auf dem zurückgelegten Weg zu ärgern und sich an die Fehler oder Erfolge der Vergangenheit zu erinnern.

Was ist aus meiner Sicht dieser optimale Weg? Es ist sehr einfach - die grundlegenden Bücher in der erforderlichen Reihenfolge zu studieren. Bücher sind nicht sehr viele, aber nicht wenige. Wer auf ein Werbegeschenk setzt, kann diesen Text sofort schließen. Bücher müssen gelesen werden, kombiniert mit praktischen Aktivitäten, dh mit der Arbeit eines unerfahrenen Programmierers. In der Regel haben Programmierer selbst bei der Arbeit einige Zeiträume, die von der Arbeit nicht ausgefüllt werden, und das Lesen von Büchern in diesen Intervallen ist eine heilige Angelegenheit. Wenn diese Lücken nicht vorhanden sind, sollten Sie abends lesen. Wenn es bei der Arbeit funktioniert, aber keine andere Zeit ist, schließen Sie den Text und quälen Sie sich nicht, sondern weinen Sie auch nicht über das nicht steigende Gehalt.

Warum Bücher? Warum sich auf Bücher konzentrieren? Warum nicht das Internet, gibt es dort alles? Es ist wahr, dass Sie auf dem Weg zum Lernen unweigerlich und ziemlich oft das Internet nutzen müssen. Und füllen Sie alle Lücken mit dem Internet. Die angebotenen Bücher sind jedoch die Grundlage, auf der Sie lernen, wie Sie in der Programmierwelt navigieren. Und Sie können weiterhin völlig unabhängig Antworten auf alle Fragen finden, sowohl in noch nicht gelesenen Büchern als auch im Internet. Ich habe eine Reihe von Büchern so ausgewählt, dass sie diese Basis bilden. Eine selbstbewusste, solide Basis, die viele Jahre hält. Nicht bis zum Ende des Lebens, aber immer noch.

Wie lange wird es dauern, alle diese Bücher zu beherrschen? Gute Frage, und das Schlüsselwort hier ist zu meistern. Es ist notwendig, nicht nur diagonal zu lesen, sondern es zu beherrschen. Das heißt, wenden Sie dieses Wissen in der Praxis an und übersetzen Sie es in Code. Gehen Sie zurück zum Buch und lesen Sie den Text erneut. Dann wird es Entwicklung sein. Aber nur dann wird es die Anhäufung der Basis sein, die alle Probleme lösen wird. Wie spät ist es? Meine Antwort ist 5 Jahre. Lange? Ja, nicht schnell. Die Erfahrung zeigt jedoch, dass es schneller unmöglich ist. Willst du für sechs Monate oder ein Jahr? Nein, es wird nicht funktionieren, auch wenn Sie Einstein sind. Niemand hat es geschafft. Dies ist ein Merkmal der Programmierung im Allgemeinen und der C ++ - Sprache im Besonderen. Wie mein erfahrener Kollege sagte, ist die C ++ - Sprache nichts für Krumme, und die Erstellung großer Systeme ist nichts für Willensschwache. Also, wenn Sie so viel Zeit oder keinen Willen haben,Um ein erfahrener, hochbezahlter Mitarbeiter zu werden, schauen Sie woanders hin. Das Erstellen von Vorlagenseiten ist beispielsweise viel einfacher als das Erstellen komplexer Desktopanwendungen. Layoutdesigner und enikeyshchiki - hallo!

Beginnen wir also mit der Liste der Bücher. Ihr Gesamtvolumen beträgt 5150 Seiten. Wenn möglich, werde ich kommentieren, warum ich dieses bestimmte Buch und nicht ein anderes empfehle, oder Alternativen vorschlagen.

  1. ++ 600 . , « , C++: ». 800 . « : ++». , , . , – ! ! , . 2 – , . ( ), . , , , double . , , ! , . , 800 . . – ? , , , ++ (++11, ++14, ++17, ++20), – . , , , .

    , ? C++ . , . (, ), « » , , «». ! , – .
  2. « . C++. 55 ». 300 . , : « C++. 50 », « C++. 35 », « ++. 35 ». – , «55 ». , . , , , . . , – .
  3. «Qt 5.10. ++. . ». 1072 . – «Qt 4. GUI C++. , ». , , : , – , ( ). , GUI-, 5 000-30 000 . - — .

    2 3 , , – , .
  4. « : ++. ». 263 . ++, , . .
  5. « . . ». 350 . – , , , . , . – . , , - . , , .
  6. . 3 , -. , , . , . , , « » .

    , ! « , ». 406 . 6. , ( pdf), . , « »: «, , : - . ». . « », ; ; SmallTalk, « »; pdf, , , ( – , !)

    , «, , : ». , – Java ++.
  7. «. . , .». 720 . , – GUI, – . – «: , ». , 2005, 2018.
  8. « , . Git ». 493 . , , Git, , . , , Git, . , , Git. . , . Git, . , , . , , , Git , .
  9. ! . – . , . , , . , . .

    , « , : ++». 323 . , – . , , . , , . C++17, C++14, C++11. , , . , , ! , .

    – « : ++ . ». . (, ) . , , - .
  10. « , . . , ». 432 . , ( ) , , , . - . – « . . ., ». , , , «» .

Das ist alles! Anfänger, machen Sie es!

Um das i endlich zu markieren, können Sie zurückblicken und fragen: Warum gibt es keine so berühmten Autoren wie McConnell, Larman, Butch, Fowler und andere in der Liste der Bücher? Nur weil ich das Studium der Bücher dieser Autoren nicht als den besten Weg angesehen habe, einen Anfänger in der C ++ / Qt-Welt zu entwickeln. Und so stellte sich heraus, dass 10 Bücher mit einem Gesamtvolumen von 5150 Seiten, und nicht so erfolgreiche Bücher hinzuzufügen, schien mir übertrieben.

All Articles