Optimal Newbie Way pour C ++ / Qt

Une question frĂ©quemment posĂ©e par les programmeurs dĂ©butants - quels documents lire pour amĂ©liorer leur niveau professionnel? Sous cette forme la plus gĂ©nĂ©rale, il est impossible de rĂ©pondre Ă  cette question. Cela dĂ©pend des connaissances et des compĂ©tences actuelles de la personne, de sa spĂ©cialisation, des tĂąches qui se prĂ©senteront Ă  l’avenir. Cependant, je vais essayer de rĂ©pondre Ă  cette question pour la direction de la programmation que je connais le mieux - la crĂ©ation d'applications de bureau complexes multiplateformes. Applications de niveau et de classe PhotoShop, VisualStudio, MS Word. De telles applications, dans lesquelles, du point de vue du programmeur, il existe des tĂąches plus diverses:

  • Rendu d'une interface graphique «bureau» classique comme des boutons, des barres de progression, des widgets, des animations.
  • Rendu de graphiques non standard tels que des graphiques en mouvement continu Ă  partir de millions de points.
  • Travailler avec des bases de donnĂ©es
  • La mise en rĂ©seau
  • Utilisation du registre du systĂšme d'exploitation
  • Travailler avec l'imprimante
  • ExĂ©cution rapide (y compris parallĂšle) de tĂąches informatiques complexes.
  • Et bien d'autres.

Il n'y a pas tellement d'ensembles de plates-formes et de cadres qui vous permettent de crĂ©er efficacement de telles applications. À un moment donnĂ©, aprĂšs avoir essayĂ© diffĂ©rentes plates-formes, les programmeurs de mon organisation se sont installĂ©s en toute confiance sur le lien suivant: langage C ++ et plate-forme Qt. Comme le temps l'a montrĂ©, ce choix n'a pas Ă©chouĂ©. C'est avec un Ɠil sur ce choix que je commencerai Ă  exposer l'ensemble de matĂ©riel que je recommande Ă  l'Ă©tude par les programmeurs dĂ©butants s'ils veulent devenir de vrais gourous dans cette direction.

Cet ensemble de matĂ©riaux a Ă©tĂ© Ă©tudiĂ© en mĂȘme temps par l'auteur de ce texte, ses collĂšgues plus ĂągĂ©s et plus jeunes, et a traversĂ© plusieurs itĂ©rations pour devenir optimal. Les expĂ©riences ont rĂ©vĂ©lĂ© des matĂ©riaux dont l'Ă©tude donne l'augmentation maximale de l'efficacitĂ© du travail avec un minimum, mais pas un temps de formation court. Bien sĂ»r, puisque nous parlons d'optimalitĂ© dans le domaine de l'Ă©ducation, une touche de subjectivitĂ© est inĂ©vitable ici, mais j'ai essayĂ© de la minimiser.

Alors Ă  qui s'adresse ce texte? Si vous ĂȘtes un diplĂŽmĂ© universitaire qui a dĂ©cidĂ© de connecter sa vie Ă  la programmation, ce texte est pour vous. Croyez-moi, vous gagnerez beaucoup de temps si vous suivez mes conseils en dĂ©but de carriĂšre. Si vous avez obtenu votre diplĂŽme d'Ă©tudes secondaires il y a plusieurs annĂ©es, travaillez en tant que programmeur, mais ne rĂ©solvez toujours aucun problĂšme grave - ce texte est pour vous. Vous pouvez devenir des tĂąches vraiment sĂ©rieuses, ce qui ne sera pas gĂȘnant de le dire aux descendants. Si vous travaillez en tant que programmeur depuis environ 5 ans maintenant, mais que vous estimez que pour une raison quelconque votre carriĂšre ne "va pas", et pour ceux assis Ă  proximitĂ© - "va", alors ce texte est pour vous. Si vous ĂȘtes un programmeur expĂ©rimentĂ© et commencez Ă  suivre le chemin d'un leader, alors lisez simplement ce texte et distribuez-le aux subordonnĂ©s. Et si vous ĂȘtes un gourou,qui a tout vĂ©cu et qu'il est difficile de surprendre avec quelque chose, vous pouvez simplement lire ce texte pour nastalgit le long du chemin parcouru, en rappelant les erreurs ou les succĂšs du passĂ©.

Alors, quelle est cette façon optimale de mon point de vue? Il est trĂšs simple - d'Ă©tudier dans l'ordre nĂ©cessaire l'ensemble des livres fondamentaux. Les livres ne sont pas trĂšs nombreux, mais pas rares. Ceux qui comptent sur un cadeau peuvent immĂ©diatement fermer ce texte. Les livres devront ĂȘtre lus, en combinant cela avec des activitĂ©s pratiques, c'est-Ă -dire avec le travail d'un programmeur dĂ©butant. En rĂšgle gĂ©nĂ©rale, les programmeurs, mĂȘme au travail, ont des pĂ©riodes de temps non remplies par le travail, et la lecture de livres Ă  ces intervalles est une question sacrĂ©e. Si ces lacunes n'existent pas, faites-en une rĂšgle Ă  lire le soir. Si au travail ça marche, mais il n'y a pas d'autre moment, alors fermez le texte et ne vous tourmentez pas, mais ne pleurez pas non plus sur le salaire non croissant.

Pourquoi des livres? Pourquoi se concentrer sur les livres? Pourquoi pas Internet, y a-t-il tout lĂ -bas? Il est vrai que vous devrez inĂ©vitablement utiliser Internet pour Ă©tudier, et assez souvent. Et comblez toutes les lacunes avec Internet. Mais les livres proposĂ©s sont la base sur laquelle vous apprendrez Ă  naviguer dans le monde de la programmation. Et vous serez en mesure de trouver en toute indĂ©pendance des rĂ©ponses Ă  toutes vos questions, Ă  la fois dans des livres non encore lus et sur Internet. J'ai sĂ©lectionnĂ© un ensemble de livres de maniĂšre Ă  former cette base. Une base sĂ»re et solide qui dure de nombreuses annĂ©es. Pas avant la fin de la vie, mais quand mĂȘme.

Combien de temps faut-il pour maĂźtriser tous ces livres? Bonne question, et le mot clĂ© ici est de maĂźtriser. Il faut non seulement lire en diagonale, mais le maĂźtriser. Autrement dit, mettez ces connaissances en pratique, traduisez-les en code. Revenez au livre, relisez avec une nouvelle comprĂ©hension du texte. Ensuite, ce sera le dĂ©veloppement. Mais alors seulement, ce sera l'accumulation de la base mĂȘme qui rĂ©soudra tous les problĂšmes. Alors, quelle heure est-il? Ma rĂ©ponse est 5 ans. Longue? Oui, pas vite. Mais l'expĂ©rience montre que c'est impossible plus vite. Voulez-vous six mois ou un an? Non, ça ne marchera pas, mĂȘme si vous ĂȘtes Einstein. Personne n'a rĂ©ussi. C'est une caractĂ©ristique de la programmation en gĂ©nĂ©ral, et du langage C ++ en particulier. Comme l'a dit mon collĂšgue plus expĂ©rimentĂ©, le langage C ++ n'est pas pour les tordus, et la crĂ©ation de grands systĂšmes n'est pas pour les faibles. Donc, si vous avez tellement de temps ou pas de volontĂ©,pour devenir un employĂ© expĂ©rimentĂ© et bien rĂ©munĂ©rĂ©, cherchez ailleurs. Par exemple, crĂ©er des sites de modĂšles est beaucoup plus simple que de crĂ©er des applications de bureau complexes. Concepteurs de mise en page et enikeyshchiki - bonjour!

Commençons donc la liste des livres. Leur volume total est de 5150 pages. Si possible, je vais expliquer pourquoi je recommande ce livre en particulier et pas un autre, ou suggérer des alternatives.

  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 . , ( ) , , , . - . – « . . ., ». , , , «» .

C'est tout! DĂ©butants, foncez!

Pour enfin pointer le i, vous pouvez regarder en arriÚre et demander - pourquoi n'y a-t-il pas des auteurs célÚbres tels que McConnell, Larman, Butch, Fowler et d'autres dans la liste des livres? Tout simplement parce que je ne considérais pas l'étude des livres de ces auteurs comme le meilleur moyen de développer un débutant dans le monde C ++ / Qt. Et donc il s'est avéré 10 livres avec un volume total de 5150 pages, et pour ajouter des livres pas si réussis, il m'a semblé exagéré.

All Articles