Programmeur de carrière. Partie 2. École ou auto-éducation

Suite de l'histoire "Programmeur de carrière" .

Dans la cour était 2001. L'année de sortie du système d'exploitation le plus cool - Windows XP. Lorsque rsdn.ru est apparu. L'année de naissance de C # et du .NET Framework. La première année du millénaire. Et une année de croissance exponentielle des nouvelles capacités en fer: Pentium IV, 256 Mo de RAM.

Après avoir été diplômé de la 9e année, j'ai eu un enthousiasme inépuisable pour une étude plus approfondie de la programmation. Voyant cela, mes parents ont décidé de me transférer au collège pour la spécialité "Programmation". Ils pensaient que ce serait mieux et m'ont appris là-bas. Soit dit en passant, le collège des mots ne convenait pas à cette institution, à la périphérie d'une ville industrielle. C'était une école technique ordinaire, qui ne se distinguait pas des autres écoles techniques, qui ne portait pas d'étiquette avec le mot à la mode «collège» sur sa façade.
Eh bien. Je n'ai pas discuté avec mes parents et je n'ai pas contesté leur décision. En tout cas, j'étais engagé dans l'auto-éducation, et pensais que dans ce nouvel endroit, j'aurais des connaissances supplémentaires.

Cet été-là, avant d'entrer à l'université, j'ai complètement commencé à étudier toutes les technologies possibles publiées dans le magazine Hacker . Je l'ai lu et relu dans les trous. J'ai particulièrement aimé les interviews de vrais hackers et leurs conseils.

La plupart des hackers sympas étaient assis sur Linuha. Mais «Mazdai» (Windows) était pour les lamers. Qui a lu le magazine, il se souvient du style des articles qu'il contient. Par conséquent, dans mon esprit fragile, deux idées ont lutté entre elles - quitter Windows ou être cool et s'asseoir purement sur Linux.
Chaque nouveau numéro du magazine Hacker m'a lancé une nouvelle raison de formater le disque et d'installer Linux Red Hat 7 ou Windows Me. Bien sûr, je n’avais pas de vecteur de formation, et j’ai fait ce que je lis dans les magazines ou sur des CD piratés comme "Hacker Secrets". L'installation de deux OS en parallèle a également été effacée, après un nouveau jet dans l'esprit de «Windows XP alias un perroquet est pour les femmes au foyer. Et si vous voulez faire des choses sérieuses, vous devez travailler depuis la console Linux les yeux fermés. " Bien sûr, je voulais m'engager dans des systèmes de piratage, comprendre le fonctionnement du réseau et être le tout-puissant anonyme à cette époque.

Le disque a été formaté sans regret et la distribution d'un système de type Unix y a été installée. Oui oui Une fois que j'ai lu une interview avec un vrai hacker qui n'utilise que FreeBSD 4.3 depuis la console. Dans le même temps, des hacks de banques et de systèmes d'État ont été répertoriés derrière lui. C'était un éclair sur la tête, et j'ai mis BSD OS 5 fois comme système principal. Le problème était qu'après l'installation, à l'exception de la console nue, il n'y avait rien. Même le son. Et pour mettre KDE2 et activer le son, vous avez dû danser beaucoup avec un tambourin et corriger quelques configurations.

freebsd
FreeBSD 4.3 - Le système d'exploitation le plus pirate

À propos de la littérature


Dès que j'ai eu un ordinateur, j'ai commencé à acheter des livres de programmation. Le premier était un guide de Turbo Pascal 7.0. Ce n'est pas surprenant, car Pascal je connaissais déjà un peu les cours de programmation, et il était possible de continuer à m'entraîner par moi-même. Le problème était que les pirates n'écrivent pas en Pascal. Ensuite, le langage Perl était à la mode, ou, pour les mecs plus cool, c'était le C / C ++. C'est du moins ce qu'ils ont écrit dans le magazine. Et le premier livre à lire jusqu'à la fin était C, le langage de programmation Kernigan et Ritchie. Au fait, j'ai étudié sous Linux
et utilisé gcc et l'éditeur KDE intégré pour écrire du code.

Suite à ce livre, l'Encyclopédie UNIX a été achetée. Elle pesait 3 kilogrammes et était imprimée sur des pages A3.

Au recto du livre, un diable de la bande dessinée avec une fourche a été représenté sur toute sa hauteur, puis il a coûté en Ukraine 125 hryvnia (cela représente environ 25 dollars en 2001). Pour acheter un livre, j'ai demandé un prêt à un camarade de classe, le reste a été ajouté par les parents. Ensuite, j'ai commencé avec enthousiasme à étudier les commandes Unix, l'éditeur vim et emacs, la structure du système de fichiers et l'intérieur de la configuration du fichier. Près de 700 pages de l'encyclopédie ont été avalées et je me suis rapproché du rêve - devenir un hatsker cool.

unix
Encyclopédie UNIX - L'un des premiers livres lus

Tout l'argent que mon grand-père, ma grand-mère et mes parents aimants m'ont donné, j'ai dépensé pour des livres. Le livre suivant était C ++ en 21 jours. Le titre était très attrayant, et donc je n'ai pas regardé d'autres livres de meilleure qualité. Malgré cela, toutes les sources ont été copiées du livre pendant environ cette période de 3 semaines, et j'ai déjà compris quelque chose en C ++. Bien que je ne comprenne probablement plus ce qui était écrit dans ces listes. Mais il y a eu des progrès.

Si quelqu'un m'avait demandé quel livre avait le plus influencé votre carrière, j'aurais répondu sans hésitation - «L'art de la programmation» - D. Knut. C'était un cerveau qui clignotait. Je ne peux pas dire exactement comment ce livre est tombé entre mes mains, mais il a exercé la plus forte influence sur ma future carrière.

image
L'art de la programmation - à lire absolument

J'ai acheté des livres principalement sur le marché de la radio, qui ne fonctionnait que le dimanche. Ayant économisé plusieurs dizaines de hryvnias pour le petit déjeuner, je suis allé chercher un nouveau livre sur C ++ ou peut-être Perl. Le choix était assez large, mais je n'avais pas de mentor, donc tout a été étudié de suite. J'ai demandé au vendeur de me recommander quelque chose pour la programmation. Et pour autant que je m'en souvienne, il a pris sur l'étagère «L'art de la programmation. D'abord Tom. " Le livre était clairement déjà utilisé. Les coins de la couverture étaient pliés et il y avait une grosse égratignure au dos, juste à l'endroit où Bill Gates a laissé son commentaire: "Si vous lisez ce livre, vous devriez certainement m'envoyer un CV" a été signé par lui. Je connaissais Gates dans les magazines et je pensais que ce serait bien de lui envoyer un CV, même si tous les hackers l'avaient. Le livre valait 72 UAH. (15 $), et je me suis rapidement précipité chez moi dans un tramway pour étudier du nouveau matériel.

Combien de choses profondes et basiques je lis, bien sûr je ne pouvais pas comprendre à 15 ans. Mais il a diligemment essayé de terminer chaque exercice. Une fois, j'ai même réussi à résoudre correctement le problème avec une cote de complexité de 25 ou 30. C'était un chapitre sur l'induction mathématique. Bien que je n'aime pas les mathématiques à l'école et que je les saisis mal, mais sur le tapis. Analyse de Knut - je me suis assis pendant des heures.

Ensuite, le deuxième chapitre est allé sur les structures de données. Ces images et images de listes liées, d'arbres binaires, de piles et de files d'attente sont toujours sous mes yeux. Au cours des 12 années de ma carrière dans le développement commercial, j'ai utilisé la plupart des langues générales.

Ce sont C / C ++, C #, Java, Python, JavaScript, Delphi. Et peu importe comment le langage est appelé, sa bibliothèque standard avait des structures de données et des algorithmes décrits par Donald Knuth dans son livre en trois volumes. Par conséquent, apprendre quelque chose de nouveau ne prend pas beaucoup de temps.

Le premier volume a été avalé assez rapidement. J'ai copié les algorithmes donnés dans le livre de Knuth en C. Cela n'a pas toujours fonctionné, mais plus je m'exerçais, plus la clarté venait. Le zèle ne devait pas tenir. Ayant fini avec le premier volume, je n'ai pas hésité à courir et acheter les deuxième et troisième. J'ai pour l'instant mis de côté le second, mais pour le troisième (Tri et Recherche), je l'ai bien pris.

Je me souviens très bien de la façon dont j'ai écrit tout un cahier, «interprétant» les algorithmes de tri et de recherche. Comme pour les structures de données, la recherche binaire et le tri rapide sont visualisés dans mon cerveau à une vitesse fulgurante, se souvenant de leur apparence schématique dans le troisième volume de Knuth.

Le fouet était lu partout. Et même en allant à la mer, n'ayant pas de PC à proximité, j'ai quand même prescrit les algorithmes dans un cahier et parcouru une séquence de nombres. Je me souviens encore combien de tourments cela m'a coûté pour maîtriser le tri pyramidal, mais ça valait le coup.

Le livre suivant qui a eu une forte influence sur moi était The Dragon Book. Elle est «Compilateurs: principes, technologies, outils» - A. Aho, R. Seti. Il a été précédé par Herbert Shildd, avec des tâches avancées en C ++. C'est à ce moment que les points se sont réunis.
Grâce à Schildt, j'ai appris à écrire des analyseurs et interprètes de langues. Et puis, le Dragon Book, m'a incité à écrire mon propre compilateur C ++.

image
Dragon Book

À ce moment-là, j'avais un modem avec Internet et je passais beaucoup de temps sur le site le plus populaire pour les programmeurs - rsdn.ru. Le C ++ y dominait, et chaque pro pouvait répondre à des questions que je ne pouvais pas gérer. Cela m'a fait mal et j'ai réalisé que j'étais loin de ces oncles barbus, j'ai donc besoin d'étudier l'intérieur des avantages et des inconvénients. Cette motivation m'a conduit au premier projet sérieux - mon propre compilateur C ++ de la norme 1998. Vous pouvez trouver l'historique plus détaillé et les codes source dans ce post .

École ou auto-éducation


Mais revenons à la réalité au-delà de l'IDE. Bien que, à ce moment-là, je m'éloignais de plus en plus de la vie réelle et immergé dans le virtuel, le même âge et les normes généralement acceptées m'ont forcé à aller à l'université. C'était une vraie torture. Je ne comprenais pas du tout ce que je faisais dans cette institution et pourquoi j'écoutais ces informations. Il y avait des priorités complètement différentes dans ma tête. Apprendre Visual Studio 6.0, essayer avec WinApi et Delphi 6.

Un merveilleux site firststeps.ru, qui a permis à chacun de prendre plaisir aux petits pas accomplis, même si je ne comprenais pas le tableau général. Par exemple, dans la même technologie MFC ou ActiveX.

Et l'université? C'était une perte de temps. En général, si je touche au sujet de l'étude, j'ai mal étudié. J'étais un excellent élève jusqu'à la 6e année, puis trois volaient, et à la 8e à la 9e année, je sautais souvent des cours, pour lesquels je recevais des ceintures non illusoires de mes parents.

Par conséquent, étant venu à l'université, il y avait aussi peu d'enthousiasme.

- Où est la programmation? Je me suis posé une question. Mais il n'était pas au premier semestre. Mais il y avait l'informatique avec MS-DOS et Office, ainsi que des sujets généraux.

En plus de tout, j'avais un caractère retiré et j'étais très modeste. Ce nouveau groupe hétéroclite n'était clairement pas crédible. Et c'était réciproque. Par conséquent, toutes sortes de moqueries n'ont pas mis longtemps à attendre. J'ai enduré pendant longtemps, jusqu'à ce que je ne puisse pas le supporter et que je frappe un des contrevenants au visage dans la salle de classe. Oui, alors il s'est envolé pour les bureaux. Grâce à mon père - il m'a appris à me battre dès l'enfance, et avec un désir aigu, je pouvais utiliser la force physique. Mais cela arrivait très rarement, je supportais souvent la moquerie, en attendant le point d'ébullition maximum.
Soit dit en passant, le délinquant, très surpris par ce qui se passait, mais se sentant toujours supérieur, m'a appelé au combat de retour. Déjà dans le désert derrière l'école.

Ce n'étaient pas des poings d'enfants, comme c'était le cas à l'école. Il y avait un noble Mahach, avec le nez cassé et beaucoup de sang. Le gars n'était pas non plus d'une douzaine de crochets et uppercuts habilement pesés. Tout le monde est resté en vie, et depuis lors, personne ne m'a intimidé dans ce «collège de programmeurs». J'ai envie d'y aller et j'ai complètement disparu bientôt. Par conséquent, j'ai cessé d'y entrer et aucune menace de mes parents ne m'a affecté. Par miracle, ils ont envisagé mon séjour à l'université pour la 10e année de l'école, et j'avais le droit d'aller en 11e.

Tout irait bien, mais la 11e année n'était pas vraiment la meilleure université. Je suis retourné à mon école natale, j'ai rencontré des amis de mes connaissances avec qui j'avais étudié depuis la première année et espérais que tout irait bien dans leur pays d'origine. Il n'y avait qu'une seule mise en garde: les gars, étaient plus comme des bandits de la série que ces garçons avec qui j'étais amis dans les classes inférieures. Tout le monde est allé à la chaise berçante, pour gagner de la masse musculaire. Je ressemblais à du bambou. Longiligne et très mince. Bien sûr, un tel camarade de classe pourrait me tordre avec un gauche.

Cela a donc commencé à se produire avec le temps. Ensuite, mes compétences de combat n'ont eu aucun effet. Déjà des catégories de poids très différentes étaient avec moi et le reste des garçons de ma classe autrefois native. De plus, les traits de ma pensée se sont fait sentir.

Sans répandre mes pensées sur l'arbre, j'ai également quitté l'école. J'étais à l'aise devant un écran d'ordinateur, la porte de ma chambre fermée. Cela avait du sens, et intuitivement, je sentais que je faisais la bonne chose. Et aller à l'école est un exercice inutile, et même une moquerie durable, qui devenait chaque jour de plus en plus sophistiquée ... Cela me suffit.

Après un autre conflit dans la classe, avec moi dans le rôle titre, j'ai quitté l'école et n'y suis plus allé.

Environ 3 mois, j'étais assis à la maison, passant du temps libre à étudier C ++ / WinAPI / MFC et rsdn.ru.
À la fin, le directeur n'a pas pu le supporter et a appelé à la maison.

- "Denis, tu penses étudier?" Ou partirez-vous? Décidez. Dans les limbes, personne ne vous quittera. » - a déclaré le directeur
- «Je vais partir» - ai-je répondu avec confiance

Et encore une fois, la même histoire. Il restait à terminer mes études pendant six mois, jusqu'à l'obtention du diplôme. Ne me laisse pas sans croûte. Mes parents m'ont fait un signe de la main et m'ont dit d'aller moi-même d'accord avec le réalisateur. Je suis venu voir le directeur. Elle m'a crié d'enlever mon chapeau quand j'entre. Puis elle a strictement demandé - "Que faire de toi?" Franchement, je ne savais pas quoi faire. J'étais assez satisfait de l'état actuel des choses. Enfin, elle a pris le mot:

"Alors, faisons ça." Je serai d'accord avec le directeur de notre école du soir et vous y irez. »
- "Ouais"

Et l'école du soir - c'était un vrai paradis pour les freestylers comme moi. Si tu veux y aller, tu ne veux pas y aller. Il y avait 45 personnes dans la classe, 6-7 d'entre elles sont apparues en classe. Je ne sais pas si tout le monde sur la liste était vivant et était également libre. Parce que seulement avec moi, les camarades de classe ont volé la moto de quelqu'un d'autre. Mais le fait est resté. Je pouvais pomper mes compétences en programmation de façon illimitée et aller à l'école quand j'en avais vraiment besoin. Finalement, je l'ai terminé en réussissant les examens finaux. Beaucoup n'en avaient pas besoin et nous avons même eu un diplôme. L'obtention du diplôme, en soi, est une fable distincte. Je me souviens que des bandits camarades de classe locaux m'ont pris ma montre. Et ayant à peine entendu mon nom de famille, lors de la remise des certificats - j'ai trotté après un document et je suis sorti de l'école avec une balle pour ne pas tomber sur d'autres ennuis.

Avant l'été, c'était l'été. Avec Donald Knut sous le bras sur la plage, la mer, le soleil et la décision fatidique d'écrire votre propre grand projet (compilateur).

Partie 3. Université >>

Source: https://habr.com/ru/post/fr449806/


All Articles