Carrera de programació. Capítol 2. Escola o autoeducació

Continuació de la història "Carrera de programador".

Va ser l'any 2001. L'any en què es va llançar el sistema operatiu més fantàstic: Windows XP. Quan va aparèixer rsdn.ru? Any de naixement de C# i .NET Framework. Primer any del mil·lenni. I un any de creixement exponencial de la potència del nou maquinari: Pentium IV, 256 mb de RAM.

Després d'acabar 9è grau i veure el meu entusiasme inesgotable per la programació, els meus pares van decidir traslladar-me a la universitat per especialitzar-me en Programació. Van creure que seria millor així i que m'hi ensenyarien. La paraula col·legi, per cert, no s'adaptava a aquesta institució, als afores d'una ciutat industrial. Era una escola tècnica normal, no diferent d'altres escoles tècniques que no penjaven una etiqueta amb la paraula de moda “universitat” a la seva façana.
Bé. No vaig contradir els meus pares i no vaig impugnar la seva decisió. En qualsevol cas, em dedicava a l'autoeducació, i vaig pensar que en aquest nou lloc em donarien uns coneixements addicionals.


Aquell estiu abans d'anar a la universitat, vaig començar a estudiar a fons totes les tecnologies possibles que es publicaven a la revista "Hacker". L'he llegit i tornat a llegir a trossos. Em van agradar especialment les entrevistes amb pirates informàtics reals i els seus consells.
La majoria dels pirates informàtics fantàstics estaven a Linux. I Mazda (Windows) era per als lamers. Qualsevol que hagi llegit la revista recorda l'estil de les publicacions que hi ha. Per tant, en la meva fràgil ment, dues idees es barallaven entre elles: deixar Windows o ser genial i quedar-se exclusivament amb Linux.
Cada nou número de la revista Hacker em donava una nova raó per formatar el disc i instal·lar Linux Red Hat 7 o Windows Me. Per descomptat, no tenia cap vector d'entrenament, i vaig fer el que llegia a revistes o en CD pirates com "Secrets of Hackers". També es va esborrar la instal·lació de dos sistemes operatius en paral·lel, després d'una nova actualització amb l'esperit de "Windows XP, també conegut com a lloro, això és per a mestresses de casa. I si vols fer coses serioses, has de treballar des de la consola Linux amb els ulls tancats”. Per descomptat, volia piratejar sistemes, entendre com funciona la xarxa i ser el totpoderós Anonymous en aquell moment.

El disc es va formatar sense cap penediment i s'hi va instal·lar un kit de distribució d'un sistema semblant a Unix. Sí sí. Una vegada vaig llegir una entrevista amb un hacker real que només utilitza FreeBSD 4.3 des de la consola. Al mateix temps, era responsable de piratejar bancs i sistemes governamentals. Va ser un llamp al cap i vaig instal·lar BSD OS com a sistema principal 5 vegades. El problema va ser que després de la instal·lació, no hi havia res excepte la consola nua. Fins i tot el so. I per instal·lar KDE2 i encendre el so, calia ballar molt amb un tamborí, i corregir diverses configuracions.

Carrera de programació. Capítol 2. Escola o autoeducació
La distribució FreeBSD 4.3 és el sistema operatiu més hacker

Sobre Literatura

Tan bon punt vaig tenir un ordinador, vaig començar a comprar llibres de programació. El primer va ser una guia de "Turbo Pascal 7.0". Això no és d'estranyar, perquè ja coneixia una mica el Pascal dels cursos de programació, i podia seguir aprenent pel meu compte. El problema era que els hackers no escriuen en Pascal. Aleshores el llenguatge Perl estava de moda, o, per als nois més cool, era C/C++. Almenys això és el que van escriure a la revista. I el primer llibre que vaig llegir fins al final va ser "El llenguatge de programació C", de Kernighan i Ritchie. Per cert, vaig estudiar a l'entorn Linux
i va utilitzar gcc i l'editor integrat de KDE per escriure el codi.

Després d'aquest llibre, es va comprar l'enciclopèdia UNIX. Pesava 3 quilograms i estava imprès en pàgines A3.
A la part frontal del llibre hi havia una representació completa d'un diable de dibuixos animats amb una forca, i després va costar 125 hryvnia a Ucraïna (uns 25 dòlars el 2001). Per comprar el llibre, vaig demanar diners en préstec a un amic de l'escola i els meus pares van afegir la resta. Aleshores, vaig començar amb entusiasme a estudiar les ordres Unix, l'editor vim i emacs, l'estructura del sistema de fitxers i l'interior dels fitxers de configuració. Es van devorar gairebé 700 pàgines de l'enciclopèdia i em vaig acostar un pas més al meu somni: convertir-me en Kul-Hatzker.

Carrera de programació. Capítol 2. Escola o autoeducació
Enciclopèdia UNIX - Un dels primers llibres que vaig llegir

Vaig gastar tots els diners que em van donar els meus estimats avis i pares en llibres. El següent llibre va ser C++ en 21 dies. El títol era molt atractiu, i per això no vaig mirar altres llibres de més qualitat. Malgrat això, totes les fonts es van copiar del llibre en aproximadament aquest període de 3 setmanes, i ja vaig entendre alguna cosa en C++. Tot i que probablement no entenia res més del que s'escriuva en aquests llistats. Però hi va haver progrés.

Si em pregunteu quin llibre va influir més en la vostra carrera, respondria sense dubtar-ho: "L'art de la programació" - D. Knuth. Va ser un reconnectat del cervell. No puc dir-vos exactament com va arribar aquest llibre a les meves mans, però va tenir la influència més profunda en la meva futura carrera.

Carrera de programació. Capítol 2. Escola o autoeducació
L'art de programar - cal llegir

Comprava llibres principalment al mercat de la ràdio, que només estava obert els diumenges. Després d'haver estalviat unes quantes desenes de hryvnia a l'esmorzar, vaig anar a buscar un llibre nou sobre C++ o potser Perl. L'elecció va ser bastant àmplia, però no tenia un mentor, així que vaig estudiar tot. Vaig demanar al venedor que em recomanés alguna cosa sobre programació. I pel que recordo, va treure "L'art de programar" de la prestatgeria. Primer volum". És evident que el llibre ja s'havia utilitzat. Les cantonades de la portada estaven doblegades i hi havia una gran rascada visible a la part posterior, exactament on Bill Gates havia deixat la seva ressenya: "Si llegiu aquest llibre, definitivament hauríeu d'enviar-me el vostre currículum", signat per ell. Sabia de Gates per revistes i vaig pensar que estaria bé enviar-li un currículum, tot i que tots els Hackers el criticaven. El llibre va costar 72 UAH. (15 dòlars) i vaig anar ràpidament a casa amb tramvia per estudiar material nou.

Com de profundes i bàsiques que llegia, és clar, no les podia entendre als 15 anys. Però vaig intentar amb diligència completar tots els exercicis. Una vegada fins i tot vaig aconseguir resoldre correctament un problema amb una puntuació de dificultat de 25 o 30. Era un capítol sobre inducció matemàtica. Tot i que no m'agradaven les matemàtiques de l'escola i no les entenia bé, estava per sobre de l'estora. Anàlisi de Knuth: vaig estar assegut durant hores.
A continuació, en el segon capítol hi havia estructures de dades. Aquestes imatges i imatges de llistes enllaçades, arbres binaris, piles i cues encara estan davant dels meus ulls. En els meus 12 anys de carrera en desenvolupament comercial, he utilitzat la majoria dels llenguatges de propòsit general.
Aquests són C/C++, C#, Java, Python, JavaScript, Delphi. I no importa com es digués el llenguatge, la seva biblioteca estàndard contenia estructures de dades i algorismes descrits per Donald Knuth en el seu llibre de tres volums. Per tant, aprendre alguna cosa nova no requereix gaire temps.

El primer volum es va devorar amb força rapidesa. Vaig reescriure els algorismes del llibre de Knuth en llenguatge C. No sempre va funcionar, però com més practicava, més claredat va arribar. El zel no va faltar. Un cop acabat el primer volum, vaig córrer sense dubtar-me a comprar el segon i el tercer. De moment el segon el vaig deixar de banda, però el tercer (Ordenació i cerca) el vaig fer a fons.
Recordo molt bé com vaig omplir un quadern sencer, "interpretant" algorismes d'ordenació i cerca. Igual que amb les estructures de dades, la cerca binària i la classificació ràpida es visualitzen al meu cervell a la velocitat del llamp, recordant com es veuen esquemàticament al tercer volum de Knuth.
El fuet es llegia per tot arreu. I fins i tot quan vaig anar al mar, sense un ordinador a prop, encara vaig escriure algorismes en un quadern i vaig passar seqüències de números a través d'ells. Encara recordo el dolor que em va costar dominar l'heapsort, però va valdre la pena.

El següent llibre que va tenir una gran influència en mi va ser "El llibre del drac". També és “Compiladors: principis, tecnologies, eines” - A. Aho, R. Seti. Va ser precedida per Herbert Schiltd, amb tasques avançades en C++. Aquí és on es van unir els punts.
Gràcies a Schildt, vaig aprendre a escriure analitzadors i intèrprets d'idiomes. I llavors el Llibre del drac em va demanar que escrivís el meu propi compilador C++.

Carrera de programació. Capítol 2. Escola o autoeducació
Llibre del Drac

En aquell moment, m'havien donat una connexió a Internet per mòlta de mòdem i vaig passar molt de temps al lloc més popular per als programadors: rsdn.ru. C++ hi dominava i tots els professionals podien respondre preguntes que jo no vaig poder resoldre. Em va fer mal, i ho vaig entendre
que estic lluny d'aquests barbuts, així que he d'estudiar l'interior dels avantatges de "From and To". Aquesta motivació em va portar al meu primer projecte seriós: el meu propi compilador de l'estàndard C++ de 1998. Podeu trobar una història i fonts més detallades en aquesta publicació habr.com/en/post/322656.

Escola o autoeducació

Però tornem a la realitat fora de l'IDE. Tot i que, aleshores, m'allunyava cada cop més de la vida real i em submergiava en la virtual, encara la meva edat i les normes generalment acceptades m'obligaven a anar a la universitat. Va ser una autèntica tortura. No tenia ni idea de què feia en aquest establiment i per què escoltava aquesta informació. Tenia prioritats completament diferents al meu cap. Aprenent Visual Studio 6.0, provant amb WinApi i Delphi 6.
Un lloc meravellós, firststeps.ru, que em va permetre alegrar-me amb cada pas que vaig fer, tot i que no entenia el panorama general. Per exemple, en la mateixa tecnologia MFC o ActiveX.
Què passa amb la universitat? Va ser una pèrdua de temps. En general, si toquem el tema dels estudis, vaig estudiar malament. Fins a 6è vaig ser un excel·lent alumne, i després van caure les notes C, i a 8è-9è em vaig saltar sovint les classes, per la qual cosa vaig rebre cinturons il·lusoris dels meus pares.
Per tant, quan vaig arribar a la universitat, també hi havia poca il·lusió.
- On és la programació? Em vaig fer una pregunta. Però no hi va ser durant la primera meitat de l'any. Però hi havia informàtica amb MS-DOS i Office, així com assignatures d'educació general.

A més, tenia una personalitat introvertida i era molt modesta. Aquesta nova tripulació abigarrada clarament no inspirava confiança. I va ser mutu. Per tant, diversos tipus de burles no es van fer esperar. Ho vaig aguantar durant molt de temps, fins que no vaig poder suportar-ho i vaig donar un cop de puny a la cara a un dels delinqüents just a classe. Sí, així que va volar cap al seu escriptori. Gràcies al meu pare, em va ensenyar a lluitar des de petit, i si realment ho volia, podia utilitzar la força física. Però això passava molt poques vegades; més sovint vaig suportar el ridícul, esperant el punt màxim d'ebullició.
Per cert, el delinqüent, molt sorprès pel que estava passant, però encara sentint la seva superioritat, em va desafiar a una lluita de represàlia. Ja al solar buit darrere de la institució educativa.
Això no va ser un gest de puny dels nens, com passava a l'escola. Hi havia un makhach noble amb el nas trencat i molta sang. El tipus tampoc era un tipus tímid i va lliurar amb habilitat ganxos i uppercuts. Tothom va seguir viu, i des d'aleshores ningú més m'ha assetjat.
en aquesta "escola per a programadors". Aviat vaig perdre les ganes d'anar-hi completament. Per tant, vaig deixar d'anar-hi, i cap amenaça dels meus pares va tenir cap efecte sobre mi. Per algun miracle, la meva estada a la universitat es va comptar per al 10è de primària i tenia dret a anar a l'11è.

Tot aniria bé, però el grau 11 va resultar no ser molt millor que la universitat. Vaig tornar a l'escola de casa, vaig conèixer uns nois que coneixia amb els quals havia estudiat des de primer de primària i vaig esperar que tot estigués bé a la meva ciutat natal. Només hi havia un matís: els nois s'assemblaven més a bandolers de sèries de televisió que als nois amb qui era amics a l'escola primària. Tothom va anar al gimnàs per guanyar massa muscular. M'assemblava al bambú. Larga i molt prima. Per descomptat, un company de classe tan assetjador podria lligar-me amb una mà esquerra.
Això és el que va començar a passar amb el temps. Aquí les meves habilitats de lluita ja no tenien cap efecte. Les categories de pes eren molt diferents per a mi i per a la resta de nois de la meva classe nativa. A més, les peculiaritats del meu pensament es van fer sentir.

Sense deixar vagar els meus pensaments, també vaig deixar l'escola. On em vaig sentir còmode va ser davant d'un monitor d'ordinador, amb la porta de la meva habitació tancada. Tenia sentit i, intuïtivament, sentia que estava fent el correcte. I aquesta escola és una activitat inútil, i fins i tot per suportar aquestes burles, que cada dia es tornaven més sofisticades... Ja està, ja n'he tingut prou.
Després d'un altre conflicte a classe, amb mi com a protagonista, vaig deixar l'escola i no hi vaig tornar mai més.
Durant uns 3 mesos vaig estar assegut a casa, passant el meu temps lliure aprenent C++/WinAPI/MFC i rsdn.ru.
Al final, el director de l'escola no ho va aguantar i va trucar a casa.
- “Denis, estàs pensant a estudiar? O marxaràs? Decideix. Ningú et deixarà en els llimbs". - va dir el director
"Me'n vaig", vaig respondre amb confiança.

I de nou, la mateixa història. Em quedava mig any per acabar els meus estudis abans de graduar-me a l'escola. No em deixis sense crosta. Els meus pares van renunciar a mi i em van dir que anés a negociar jo mateix amb el director. Vaig venir al director de l'escola. Em va cridar que em tregués el barret quan vaig entrar. Aleshores va preguntar amb severitat: "Què he de fer amb tu?" Francament, jo mateix no sabia què fer. Estava bastant content amb l'estat actual de les coses. Finalment va prendre la paraula:
- "Llavors fem això. Faré un acord amb el director de la nostra escola nocturna i tu hi aniràs”.
- "Sí"

I l'escola nocturna era un autèntic paradís per als freestylers com jo. Vés si vols, o no hi vagis. A la classe hi havia 45 persones, de les quals només 6-7 es van presentar a les classes. No estic segur que tots els de la llista estiguessin vius i també lliures. Perquè només davant la meva presència els companys van robar la moto d'una altra persona. Però el fet continuava sent un fet. Podria millorar les meves habilitats de programació de manera il·limitada i anar a l'escola quan realment ho necessités. Vaig acabar acabant-lo i aprovant els meus exàmens finals. No ens demanaven gaire, i fins i tot vam tenir una cerimònia de graduació. La graduació en si mateixa és una faula a part. Recordo que els bandolers locals i els companys de classe em van emportar el rellotge. I tan bon punt vaig escoltar el meu cognom, durant la presentació dels certificats, vaig córrer al trot per agafar el document i vaig sortir volant de l'escola com una bala, per no tenir més problemes.

L'estiu estava per davant. Amb Donald Knuth sota el braç a la platja, el mar, el sol i la fatídica decisió d'escriure el seu propi gran projecte (compilador).
Continuar ...

Font: www.habr.com

Afegeix comentari