Ohjelmoinnin ura. Luku 2. Koulu tai itseopiskelu

Jatkoa tarinalle "Ohjelmoijan ura".

Vuosi oli 2001. Vuosi, jolloin tyylikkäin käyttöjärjestelmä julkaistiin - Windows XP. Milloin rsdn.ru ilmestyi? C#:n ja .NET Frameworkin syntymävuosi. Vuosituhannen ensimmäinen vuosi. Ja uusien laitteistojen tehon eksponentiaalisen kasvun vuosi: Pentium IV, 256 mb ram.

Valmistuttuaan 9. luokan ja nähtyään ehtymättömän innostukseni ohjelmointiin, vanhempani päättivät siirtää minut yliopistoon ohjelmoinnin pääaineeksi. He uskoivat, että näin olisi parempi ja että he opettaisivat minua siellä. Sana college ei muuten sopinut tälle teollisuuskaupungin laitamilla sijaitsevalle laitokselle. Se oli tavallinen teknillinen koulu, joka ei eronnut muista teknisistä kouluista, joiden julkisivuun ei ollut tarraa muodikkaalla sanalla "college".
Hyvin. En vastustanut vanhempiani enkä kyseenalaistanut heidän päätöstään. Joka tapauksessa harjoittelin itseopiskelua ja ajattelin, että tässä uudessa paikassa he antaisivat minulle lisätietoa.


Sinä kesänä ennen yliopistoon menoa aloin tutkia perusteellisesti kaikkia mahdollisia lehdessä julkaistuja tekniikoita "Hakkeri". Luin ja luin sen palasiksi. Pidin erityisesti oikeiden hakkereiden haastatteluista ja heidän neuvoistaan.
Suurin osa hienoista hakkereista oli Linuxissa. Ja Mazda (Windows) oli lamereille. Jokainen lehden lukenut muistaa sen tekstien tyylin. Siksi hauraassa mielessäni kaksi ideaa taisteli keskenään - poistua Windowsista tai olla viileä ja pysyä puhtaasti Linuxissa.
Jokainen Hacker-lehden uusi numero antoi minulle uuden syyn alustaa levy ja asentaa joko Linux Red Hat 7 tai Windows Me. Minulla ei tietenkään ollut koulutusvektoria, ja tein sen, mitä luin aikakauslehdistä tai laittomuilta CD-levyiltä, ​​kuten "Secrets of Hackers". Myös kahden käyttöjärjestelmän asennus rinnakkain poistettiin uuden päivityksen jälkeen "Windows XP aka papukaija - tämä on kotiäidille. Ja jos haluat tehdä vakavia asioita, sinun on työskenneltävä Linux-konsolista silmät kiinni." Tietenkin halusin hakkeroida järjestelmiä, ymmärtää verkon toimintaa ja olla tuolloin kaikkivoipa Anonymous.

Levy alustettiin ilman valitettavaa, ja sille asennettiin Unix-tyyppisen järjestelmän jakelupaketti. Kyllä kyllä. Luin kerran haastattelun todellisen hakkerin kanssa, joka käyttää vain FreeBSD 4.3:a konsolista. Samaan aikaan hän oli vastuussa pankkien ja valtion järjestelmien hakkeroinnista. Se oli salama päähän, ja asensin BSD OS:n pääjärjestelmäksi viisi kertaa. Ongelmana oli, että asennuksen jälkeen siellä ei ollut mitään muuta kuin paljas konsoli. Jopa ääni. Ja KDE5:n asentamiseksi ja äänen kytkemiseksi päälle piti tanssia paljon tamburiinilla ja korjata useita asetuksia.

Ohjelmoinnin ura. Luku 2. Koulu tai itseopiskelu
FreeBSD 4.3 -jakelu on hakkerein käyttöjärjestelmä

Tietoja kirjallisuudesta

Heti kun sain tietokoneen, aloin ostaa ohjelmointikirjoja. Ensimmäinen oli opas "Turbo Pascal 7.0". Tämä ei ole yllättävää, koska tunsin jo hieman Pascalia ohjelmointikursseilta ja pystyin jatkamaan oppimista itse. Ongelmana oli, että hakkerit eivät kirjoita Pascalilla. Silloin Perl-kieli oli muodissa, tai siistimmillä miehillä se oli C/C++. Ainakin niin he kirjoittivat lehdessä. Ja ensimmäinen kirja, jonka luin loppuun, oli Kernighanin ja Ritchien C-ohjelmointikieli. Muuten, opiskelin Linux-ympäristössä
ja käytti gcc:tä ja KDE:n sisäänrakennettua editoria koodin kirjoittamiseen.

Tämän kirjan jälkeen ostettiin UNIX Encyclopedia. Se painoi 3 kiloa ja oli painettu A3-sivuille.
Kirjan etupuolella oli täyspitkä esitys sarjakuvapaholaista haarukalla, ja se maksoi sitten Ukrainassa 125 grivnaa (se on noin 25 dollaria vuonna 2001). Kirjan ostamiseksi lainasin rahaa koulukaverilta, ja vanhempani lisäsivät loput. Sitten aloin innokkaasti tutkia Unix-komentoja, vim- ja emacs-editoria, tiedostojärjestelmän rakennetta ja asetustiedostojen sisäosia. Lähes 700 sivua tietosanakirjasta syötiin ja minusta tuli askel lähemmäksi unelmaani - tulla Kul-Hatzkeriksi.

Ohjelmoinnin ura. Luku 2. Koulu tai itseopiskelu
UNIX Encyclopedia - Yksi ensimmäisistä lukemistani kirjoista

Käytin kaikki rahat, jotka rakastavat isovanhempani ja vanhempani antoivat minulle kirjoihin. Seuraava kirja oli C++ in 21 Days. Nimi oli erittäin houkutteleva, ja siksi en katsonut muita laadukkaampia kirjoja. Tästä huolimatta kaikki lähteet kopioitiin kirjasta noin 3 viikon aikana ja ymmärsin jo jotain C++:sta. Vaikka en luultavasti ymmärtänyt enempää siitä, mitä näissä luetteloissa oli kirjoitettu. Mutta edistystä tapahtui.

Jos kysyisit minulta, mikä kirja vaikutti eniten uraasi, vastaisin epäröimättä - "Ohjelmoinnin taito" - D. Knuth. Se oli aivojen uudelleenkytkentää. En voi kertoa tarkalleen, kuinka tämä kirja tuli käsiini, mutta sillä oli suurin vaikutus tulevaan uraani.

Ohjelmoinnin ura. Luku 2. Koulu tai itseopiskelu
Ohjelmoinnin taito - täytyy lukea

Ostin kirjoja pääasiassa radiotorilta, joka oli auki vain sunnuntaisin. Säästettyään vielä muutama kymmenkunta hryvnia aamiaisesta, hain uuden kirjan C++:sta tai ehkä Perlistä. Valinta oli melko suuri, mutta minulla ei ollut mentoria, joten opiskelin kaikkea. Pyysin myyjää suosittelemaan jotain ohjelmointiin liittyen. Ja muistaakseni hän otti "Ohjelmoinnin taiteen" hyllystä. Ensimmäinen osa". Kirja oli selvästi jo käytetty. Kannen kulmat olivat vääntyneet, ja takana oli iso naarmu, joka näkyi juuri Bill Gatesin arvostelunsa kohdalla: ”Jos luet tämän kirjan, lähetä minulle ansioluettelosi”, hänen allekirjoittamansa. Tiesin Gatesista aikakauslehdistä, ja ajattelin, että olisi mukava lähettää hänelle ansioluettelo, vaikka kaikki hakkerit kritisoivat häntä. Kirja maksoi 72 UAH. (15 dollaria), ja kiiruhdin nopeasti kotiin raitiovaunulla opiskelemaan uutta materiaalia.

Sitä, kuinka syvällisiä ja perusasioita luin, en tietenkään ymmärtänyt 15-vuotiaana. Mutta yritin ahkerasti suorittaa jokaisen harjoituksen. Kerran onnistuin jopa ratkaisemaan oikein ongelman, jonka vaikeusaste oli 25 tai 30. Se oli luku matemaattisesta induktiosta. Vaikka en pitänyt koulumatematiikasta enkä ymmärtänyt sitä hyvin, olin yli maton. Knuthin analyysi - Istuin tuntikausia.
Seuraavaksi toisessa luvussa oli tietorakenteita. Nämä kuvat ja kuvat linkitetyistä listoista, binääripuista, pinoista ja jonoista ovat edelleen silmieni edessä. Olen käyttänyt 12-vuotisen urani kaupallisen kehityksen parissa useimpia yleisiä kieliä.
Näitä ovat C/C++, C#, Java, Python, JavaScript, Delphi. Ja riippumatta siitä, millä kielellä sitä kutsuttiin, sen standardikirjasto sisälsi datarakenteita ja algoritmeja, jotka Donald Knuth kuvaili kolmiosaisessa kirjassaan. Siksi uuden oppiminen ei vie paljon aikaa.

Ensimmäinen osa syötiin melko nopeasti. Kirjoitin Knuthin kirjassa annetut algoritmit uudelleen C-kielelle. Se ei aina onnistunut, mutta mitä enemmän harjoittelin, sitä selvemmäksi tuli. Innokkuudesta ei ollut pulaa. Valmistuttuani ensimmäisen osan, juoksin epäröimättä ostamaan toisen ja kolmannen. Toisen laitoin syrjään toistaiseksi, mutta otin kolmannen (lajittelu ja haku) käsiini perusteellisesti.
Muistan hyvin, kuinka täytin kokonaisen muistikirjan "tulkiessani" lajittelu- ja hakualgoritmeja. Aivan kuten tietorakenteissa, binäärihaku ja pikalajittelu visualisoituvat aivoissani salamannopeasti muistaen, miltä ne näyttävät kaavamaisesti Knuthin kolmannessa osassa.
Piiskaa luettiin kaikkialla. Ja vaikka menin merelle ilman PC:tä lähellä, kirjoitin silti muistiin algoritmeja muistikirjaan ja ajoin numerosarjoja niiden läpi. Muistan edelleen, kuinka paljon tuskaa minulla kesti hallita kasalaji, mutta se oli sen arvoista.

Seuraava kirja, jolla oli vahva vaikutus minuun, oli "The Book of the Dragon". Se on myös "Kääntäjät: periaatteet, tekniikat, työkalut" - A. Aho, R. Seti. Häntä edelsi Herbert Schiltd edistyneillä C++-tehtävillä. Tässä pisteet yhdistyivät.
Schildtin ansiosta opin kirjoittamaan jäsentimiä ja kielitulkkeja. Ja sitten Book of the Dragon sai minut kirjoittamaan oman C++-kääntäjäni.

Ohjelmoinnin ura. Luku 2. Koulu tai itseopiskelu
Lohikäärmeen kirja

Siihen mennessä minulle oli annettu modeemihiottava Internet-yhteys, ja vietin paljon aikaa ohjelmoijien suosituimmalla sivustolla - rsdn.ru. C++ hallitsi siellä ja jokainen ammattilainen pystyi vastaamaan kysymyksiin, joita en pystynyt käsittelemään. Se satutti minua ja ymmärsin
että olen kaukana näistä parraisista tyypeistä, joten minun on tutkittava "From and To" -edun sisäpuolia. Tämä motivaatio johti minut ensimmäiseen vakavaan projektiini - omaan vuoden 1998 C++ -standardin kääntäjään. Löydät tarkemman historian ja lähteet tästä postauksesta habr.com/en/post/322656.

Koulu tai itseopiskelu

Mutta palataanpa IDE:n ulkopuoliseen todellisuuteen. Vaikka siihen mennessä olin yhä enemmän siirtymässä pois tosielämästä ja uppoutumassa virtuaalielämään, ikäni ja yleisesti hyväksytyt normit pakottivat minut yliopistoon. Se oli todellista kidutusta. Minulla ei ollut aavistustakaan siitä, mitä tein tässä laitoksessa ja miksi kuuntelin tätä tietoa. Minulla oli täysin erilaiset prioriteetit päässäni. Visual Studio 6.0:n oppiminen, WinApin ja Delphi 6:n kokeileminen.
Upea sivusto, firststeps.ru, jonka avulla sain iloita jokaisesta ottamasi askeleesta, vaikka en ymmärtänyt kokonaiskuvaa. Esimerkiksi samalla tekniikalla MFC tai ActiveX.
Entä yliopisto? Se oli ajanhukkaa. Yleisesti ottaen, jos käsittelemme opintojen aihetta, opiskelin huonosti. 6. luokkaan asti olin erinomainen oppilas, ja sitten C-luokat putosivat ja 8.-9. luokalla jätin usein väliin, joista sain vanhemmiltani illusoriset vyöt.
Siksi innostusta oli vähän, kun tulin yliopistoon.
- Missä on ohjelmointi? Kysyin itseltäni kysymyksen. Mutta hän ei ollut paikalla vuoden ensimmäisellä puoliskolla. Mutta oli tietotekniikkaa MS-DOS:n ja Officen kanssa sekä yleissivistävää ainetta.

Kaiken lisäksi minulla oli sisäänpäin kääntynyt persoonallisuus ja hyvin vaatimaton. Tämä uusi kirjava miehistö ei selvästikään herättänyt luottamusta. Ja se oli molemminpuolista. Siksi erilainen pilkkaaminen ei odottanut kauan. Kestin sitä pitkään, kunnes en kestänyt sitä ja löin yhtä rikoksentekijää kasvoihin aivan luokassa. Kyllä, joten hän lensi pöytänsä luo. Kiitos isälleni - hän opetti minua tappelemaan lapsuudesta asti, ja jos todella halusin, voisin käyttää fyysistä voimaa. Mutta tämä tapahtui hyvin harvoin; useammin kestin pilkamista odottaessani korkeinta kiehumispistettä.
Muuten, rikoksentekijä, joka oli suuresti hämmästynyt tapahtuneesta, mutta tunsi silti ylivoimansa, haastoi minut kostotaisteluun. Jo oppilaitoksen takana olevalla tyhjällä tontilla.
Tämä ei ollut lasten nyrkkien heiluttamista, kuten koulussa. Siellä oli jalo makhach, jolla oli murtunut nenä ja paljon verta. Kaveri ei myöskään ollut arka kaveri ja toimitti taitavasti koukut ja yläleikkaukset. Kaikki pysyivät hengissä, ja sen jälkeen kukaan ei ole enää kiusannut minua.
tässä "ohjelmoijien korkeakoulussa". Pian menetin halun mennä sinne kokonaan. Siksi lopetin siellä käymisen, eikä vanhempieni uhkaukset vaikuttaneet minuun mitenkään. Ihmeen kaupalla opiskeluni laskettiin koulun 10. luokalle ja minulla oli oikeus mennä 11. luokalle.

Kaikki olisi hyvin, mutta 11. luokka ei osoittautunut paljon paremmaksi kuin yliopisto. Palasin kotikouluun, tapasin tuntemiani tyyppejä, joiden kanssa olin opiskellut ensimmäisestä luokasta lähtien, ja toivoin, että kaikki olisi hyvin kotikaupungissani. Siinä oli vain yksi vivahde: ​​Kaverit näyttivät enemmän tv-sarjojen rosvoilta kuin pojilta, joiden kanssa olin ystäviä ala-asteella. Kaikki kerääntyivät salille kasvattamaan lihasmassaa. Muistutin bambua. Rento ja erittäin ohut. Tietysti tällainen kiusaaja luokkatoveri voisi sitoa minut yhdellä vasemmalla kädellä.
Tätä alkoi tapahtua ajan myötä. Tässä taistelutaidoillani ei ollut enää vaikutusta. Painoluokat olivat hyvin erilaisia ​​minulle ja muille entisen kotiluokan pojille. Myös ajatteluni erityispiirteet tuntuivat.

Antamatta ajatusteni vaeltaa, lähdin myös koulusta. Tunsin oloni mukavaksi tietokoneen näytön edessä, huoneeni ovi suljettuna. Se oli järkevää ja intuitiivisesti minusta tuntui, että tein oikein. Ja tämä koulu on turhaa toimintaa, ja jopa kestämään näitä pilkkailuja, jotka päivä päivältä muuttuivat yhä hienostuneemmiksi... Siinä se, olen saanut tarpeekseni.
Jätin koulun luokassa toisen konfliktin jälkeen, kun olin pääroolissa, enkä mennyt sinne enää.
Noin 3 kuukautta istuin kotona ja vietin vapaa-aikani C++/WinAPI/MFC:n ja rsdn.ru:n oppimiseen.
Lopulta koulun johtaja ei kestänyt sitä ja soitti kotiin.
- "Denis, aiotko opiskella? Vai lähdetkö? Päättää. Kukaan ei jätä sinua epävarmuuteen." - sanoi ohjaaja
"Minä lähden", vastasin luottavaisesti.

Ja taas sama tarina. Minulla oli puoli vuotta aikaa suorittaa opinnot ennen valmistumista. Älä jätä minua ilman kuorta. Vanhempani luopuivat minusta ja käskivät minun mennä itse neuvottelemaan ohjaajan kanssa. Tulin koulun rehtorin luo. Hän huusi minulle, että otan hatun pois, kun astuin sisään. Sitten hän kysyi ankarasti: "Mitä minun pitäisi tehdä sinulle?" Suoraan sanottuna en itse tiennyt mitä tehdä. Olin aika tyytyväinen nykyiseen tilanteeseen. Lopulta hän otti puheenvuoron:
- "Tehdään sitten näin. Teen sopimuksen iltakoulumme johtajan kanssa ja sinä menet sinne."
- "Joo"

Ja iltakoulu oli todellinen paratiisi kaltaisilleni freestylereille. Mene, jos haluat, tai älä mene. Luokassa oli 45 henkilöä, joista vain 6-7 saapui tunneille. En ole varma, että kaikki listalla olevat olivat elossa ja myös vapaita. Koska vain minun läsnä ollessani luokkatoverit varastivat jonkun toisen moottoripyörän. Mutta tosiasia pysyi tosiasiana. Voisin päivittää ohjelmointitaitojani rajattomasti ja käydä koulua, kun todella tarvitsin sitä. Sain sen valmiiksi ja läpäisin loppukokeet. He eivät vaatineet paljon, ja meillä oli jopa valmistujaisjuhla. Valmistuminen sinänsä on erillinen satu. Muistan, että paikalliset rosvot ja luokkatoverit veivät kelloni. Ja heti kun kuulin sukunimeni, ryntäsin todistusten esittelyn aikana ravilla hakemaan asiakirjaa ja lensin koulusta ulos kuin luoti, etten joutuisi enää hankaluuksiin.

Kesä oli edessä. Donald Knuthin kainalossa rannalla, meri, aurinko ja kohtalokas päätös kirjoittaa oma iso projekti (kääntäjä).
Jatkuu ...

Lähde: will.com

Lisää kommentti