Forritunarferill. Kafli 2. Skóli eða sjálfsmenntun

Framhald sögunnar „Ferill forritara“.

Árið var 2001. Árið sem flottasta stýrikerfið kom út - Windows XP. Hvenær birtist rsdn.ru? Fæðingarár C# og .NET Framework. Fyrsta ár árþúsundsins. Og ár veldisvaxtar í krafti nýs vélbúnaðar: Pentium IV, 256 mb ram.

Eftir að hafa klárað 9. bekk og séð óþrjótandi ákefð mína í forritun ákváðu foreldrar mínir að flytja mig í háskóla í forritun. Þeir trúðu því að þetta væri betra svona og að þeir myndu kenna mér þar. Orðið háskóli, sem sagt, hentaði ekki þessari stofnun, í útjaðri iðnaðarbæjar. Þetta var venjulegur tækniskóli, ekkert öðruvísi en aðrir tækniskólar sem hengdu ekki merkimiða með tískuorðinu „háskóli“ á framhlið þeirra.
Jæja. Ég andmælti ekki foreldrum mínum og mótmælti ekki ákvörðun þeirra. Allavega stundaði ég sjálfsmenntun og hélt að á þessum nýja stað myndu þeir gefa mér einhverja viðbótarþekkingu.


Sumarið áður en ég fór í háskóla fór ég að kynna mér ítarlega alla hugsanlega tækni sem birt var í tímaritinu "Hakkari". Ég las og las það aftur í sundur. Mér líkaði sérstaklega við viðtölin við alvöru tölvuþrjóta og ráðleggingar þeirra.
Flestir flottu tölvuþrjótarnir voru á Linux. Og Mazda (Windows) var fyrir lamera. Allir sem hafa lesið blaðið muna stílinn á færslunum í því. Þess vegna, í mínum viðkvæma huga, börðust tvær hugmyndir sín á milli - að yfirgefa Windows eða vera svalur og halda sig eingöngu við Linux.
Hvert nýtt tölublað af Hacker tímaritinu gaf mér nýja ástæðu til að forsníða diskinn og setja upp annað hvort Linux Red Hat 7 eða Windows Me. Auðvitað var ég ekki með neinn þjálfunarvektor og ég gerði það sem ég las í tímaritum eða á sjóræningjadiskum eins og „Secrets of Hackers“. Uppsetning tveggja stýrikerfa samhliða var einnig eytt, eftir nýja fyllingu í anda "Windows XP aka páfagaukur - þetta er fyrir húsmæður. Og ef þú vilt gera alvarlega hluti þarftu að vinna frá Linux stjórnborðinu með lokuð augun.“ Auðvitað vildi ég hakka kerfi, skilja hvernig netið virkar og vera hinn alvaldi Anonymous á þeim tíma.

Diskurinn var forsniðinn án nokkurrar eftirsjár og dreifingarsett af Unix-líku kerfi var sett á hann. Já já. Ég las einu sinni viðtal við alvöru tölvuþrjóta sem notar bara FreeBSD 4.3 frá vélinni. Á sama tíma bar hann ábyrgð á innbroti í banka og ríkiskerfi. Þetta var elding í höfuðið og ég setti upp BSD OS sem aðalkerfi 5 sinnum. Vandamálið var að eftir uppsetningu var ekkert þar nema beru stjórnborðið. Jafnvel hljóð. Og til þess að setja upp KDE2 og kveikja á hljóðinu var nauðsynlegt að dansa mikið með tambúrínu og leiðrétta nokkrar stillingar.

Forritunarferill. Kafli 2. Skóli eða sjálfsmenntun
FreeBSD 4.3 dreifing er mest tölvusnápur OS

Um bókmenntir

Um leið og ég eignaðist tölvu fór ég að kaupa bækur um forritun. Sú fyrsta var leiðarvísir að „Turbo Pascal 7.0“. Þetta kemur ekki á óvart, því ég þekkti þegar lítinn Pascal frá forritunarnámskeiðum og ég gæti haldið áfram að læra á eigin spýtur. Vandamálið var að tölvuþrjótar skrifa ekki í Pascal. Þá var Perl tungumálið í tísku, eða, fyrir svalari krakkana, var það C/C++. Það er allavega það sem þeir skrifuðu í blaðið. Og fyrsta bókin sem ég las til enda var „The C Programming Language“ - eftir Kernighan og Ritchie. Við the vegur, ég lærði í Linux umhverfi
og notaði gcc og innbyggða ritil KDE til að skrifa kóðann.

Í kjölfar þessarar bókar var UNIX Alfræðiorðabókin keypt. Hún vó 3 kíló og var prentuð á A3 síður.
Á framhlið bókarinnar var mynd í fullri lengd af teiknimyndadjöfli með hágaffli og kostaði þá 125 hrinja í Úkraínu (það er um það bil $25 árið 2001). Til að kaupa bókina fékk ég lánaðan pening hjá skólafélaga og foreldrar mínir bættu afganginum við. Síðan byrjaði ég ákaft að læra Unix skipanir, vim og emacs ritstjórann, uppbyggingu skráarkerfisins og innri stillingarskrár. Tæplega 700 blaðsíður af alfræðiorðabókinni voru étnar og ég komst einu skrefi nær draumnum mínum - að verða Kul-Hatzker.

Forritunarferill. Kafli 2. Skóli eða sjálfsmenntun
UNIX Encyclopedia - Ein af fyrstu bókunum sem ég las

Ég eyddi öllum peningunum sem elsku ömmur mínar og foreldrar gáfu mér í bækur. Næsta bók var C++ á 21 degi. Titillinn var mjög aðlaðandi og þess vegna skoðaði ég ekki aðrar bækur af meiri gæðum. Þrátt fyrir þetta voru allar heimildir afritaðar úr bókinni á um það bil 3 vikum og ég skildi þegar eitthvað í C++. Þó ég hafi líklega ekki skilið meira af því sem var skrifað í þessum skráningum. En framfarir urðu.

Ef þú spyrðir mig hvaða bók hafði mest áhrif á feril þinn myndi ég svara hiklaust - „Listin að forritun“ - D. Knuth. Þetta var endurtenging á heilanum. Ég get ekki sagt þér nákvæmlega hvernig þessi bók komst í mínar hendur, en hún hafði djúpstæð áhrif á framtíðarferil minn.

Forritunarferill. Kafli 2. Skóli eða sjálfsmenntun
Listin að forritun - verður að lesa

Ég keypti bækur aðallega á útvarpsmarkaðinum sem var aðeins opinn á sunnudögum. Eftir að hafa sparað aðra tugi hrinja í morgunmat fór ég í nýja bók um C++ eða kannski Perl. Valið var frekar mikið, en ég var ekki með leiðbeinanda, svo ég lærði allt. Ég bað seljandann að mæla með mér eitthvað um forritun. Og eftir því sem ég man eftir tók hann „The Art of Programming“ úr hillunni. Fyrsta bindi". Bókin hafði greinilega þegar verið notuð. Hornin á kápunni voru beygð og það var stór rispa sjáanleg á bakhliðinni, nákvæmlega þar sem Bill Gates hafði skilið eftir umsögn sína: „Ef þú lest þessa bók ættirðu örugglega að senda mér ferilskrána þína,“ undirritað af honum. Ég vissi um Gates úr tímaritum og ég hélt að það væri gaman að senda honum ferilskrá, jafnvel þó að allir tölvuþrjótarnir væru að gagnrýna hann. Bókin kostaði 72 UAH. ($15), og ég flýtti mér fljótlega heim með sporvagni til að læra nýtt efni.

Hversu djúpt og grunnatriði ég las, gat ég auðvitað ekki skilið 15 ára. En ég reyndi ötullega að klára hverja æfingu. Einu sinni tókst mér meira að segja að leysa vandamál með erfiðleikaeinkunnina 25 eða 30. Þetta var kafli um stærðfræðilega innleiðingu. Þó að mér líkaði ekki skólastærðfræði og skildi hana ekki vel, þá var ég kominn yfir mottuna. Greining Knuth - ég sat tímunum saman.
Næst í öðrum kafla voru gagnaskipulag. Þessar myndir og myndir af tengdum listum, tvöföldum trjám, stöflum og biðröðum eru enn fyrir augum mínum. Á 12 ára ferli mínum í viðskiptaþróun hef ég notað flest almenn tungumál.
Þetta eru C/C++, C#, Java, Python, JavaScript, Delphi. Og það var sama hvað tungumálið var kallað, staðlað bókasafn þess innihélt gagnauppbyggingu og reiknirit sem Donald Knuth lýsti í þriggja binda bók sinni. Þess vegna tekur það ekki mikinn tíma að læra eitthvað nýtt.

Fyrsta bindið var étið nokkuð hratt. Ég endurskrifaði reikniritið sem gefið er upp í bók Knuth yfir á tungumálið C. Það gekk ekki alltaf upp, en því meira sem ég æfði mig, því meiri skýrleiki varð. Enginn skortur var á elju. Eftir að hafa lokið við fyrsta bindið hljóp ég hiklaust til að kaupa annað og þriðja. Ég lagði þann seinni til hliðar í bili, en tók þann þriðja (Flokkun og leit) vel upp.
Ég man vel hvernig ég fyllti upp heila minnisbók, „túlkaði“ flokkunar- og leitarreiknirit. Rétt eins og með gagnastrúktúr er tvíundarleit og quicksort sýnd í heila mínum á leifturhraða og man hvernig þau líta út á skýringarmynd í þriðja bindi Knuth.
Svipurinn var lesinn alls staðar. Og jafnvel þegar ég fór á sjóinn, án þess að hafa tölvu nálægt, skrifaði ég samt niður reiknirit í minnisbók og keyrði númeraraðir í gegnum þær. Ég man enn hversu mikinn sársauka það tók mig að ná tökum á heapsorti, en það var þess virði.

Næsta bók sem hafði mikil áhrif á mig var „The Book of the Dragon“. Það er líka "þýðendur: meginreglur, tækni, verkfæri" - A. Aho, R. Seti. Á undan henni var Herbert Schiltd, með háþróuð verkefni í C++. Þetta er þar sem punktarnir komu saman.
Þökk sé Schildt lærði ég að skrifa greiningar og tungumálatúlka. Og svo fékk Book of the Dragon mig til að skrifa minn eigin C++ þýðanda.

Forritunarferill. Kafli 2. Skóli eða sjálfsmenntun
Bók drekans

Á þeim tíma hafði ég fengið mótald-malandi nettengingu og ég eyddi miklum tíma á vinsælustu síðunni fyrir forritara - rsdn.ru. C++ var allsráðandi þar og allir atvinnumenn gátu svarað spurningum sem ég gat ekki séð. Það særði mig og ég skildi
að ég er langt frá þessum skeggjaða strákum, svo ég þarf að kynna mér innviði kosta “From and To”. Þessi hvatning leiddi mig að fyrsta alvarlega verkefninu mínu - minn eigin þýðanda á 1998 C++ staðlinum. Þú getur fundið ítarlegri sögu og heimildir í þessari færslu habr.com/en/post/322656.

Skóli eða sjálfsmenntun

En snúum okkur aftur að veruleikanum fyrir utan IDE. Þrátt fyrir að á þeim tíma hafi ég í auknum mæli verið að fjarlægjast raunveruleikann og sökkva mér niður í sýndarveruleikann, þá neyddi aldur minn og almennt viðurkenndar viðmið mig til að fara í háskóla. Þetta var raunveruleg pynting. Ég hafði nákvæmlega ekki hugmynd um hvað ég var að gera í þessari stofnun og hvers vegna ég var að hlusta á þessar upplýsingar. Ég var með allt aðra forgangsröðun í hausnum á mér. Að læra Visual Studio 6.0, prófa með WinApi og Delphi 6.
Skemmtileg síða, firststeps.ru, sem gerði mér kleift að gleðjast við hvert skref sem ég tók, þó ég skildi ekki heildarmyndina. Til dæmis, í sömu tækni MFC eða ActiveX.
Hvað með háskóla? Það var tímasóun. Almennt séð, ef við snertum námsefnið, lærði ég illa. Fram í 6. bekk var ég afburðanemandi og svo fékk ég C-einkunnir og í 8.-9. bekk skrapp ég oft í kennslustundir sem ég fékk myndbelti fyrir frá foreldrum mínum.
Þess vegna var líka lítill áhugi þegar ég kom í háskóla.
- Hvar er dagskráin? Ég spurði sjálfan mig spurningu. En hann var ekki þar fyrri hluta ársins. En það var tölvunarfræði með MS-DOS og Office, auk almennra kennslugreina.

Í ofanálag var ég með innhverfan persónuleika og var mjög hógvær. Þessi nýja brosmilda áhöfn vakti greinilega ekki traust. Og það var gagnkvæmt. Því var ekki lengi að bíða eftir ýmiss konar háði. Ég þoldi það í langan tíma, þar til ég þoldi það ekki og kýldi einn afbrotamannanna í andlitið strax í bekknum. Já, svo hann flaug í burtu að skrifborðinu sínu. Þökk sé föður mínum - hann kenndi mér að berjast frá barnæsku og ef ég virkilega vildi gæti ég beitt líkamlegu afli. En þetta gerðist afar sjaldan, oftar þoldi ég háðsglósur og beið eftir hámarkssuðumarki.
Við the vegur, brotamaðurinn, mjög hissa á því sem var að gerast, en fannst samt yfirburði sína, skoraði á mig í hefndarbaráttu. Þegar á lausu lóðinni á bak við menntastofnunina.
Þetta var ekki hnefatak barna eins og var í skólanum. Þar var göfugur makhach með nefbrotið og mikið blóð. Gaurinn var heldur ekki feiminn strákur og skilaði hæfileikaríkum krókum og uppercuts. Allir héldust á lífi og síðan þá hefur enginn lagt mig í einelti lengur.
í þessum „háskóla fyrir forritara“. Ég missti fljótt löngunina til að fara þangað alveg. Þess vegna hætti ég að fara þangað og engar hótanir frá foreldrum mínum höfðu nein áhrif á mig. Fyrir eitthvert kraftaverk var dvöl mín í háskóla talin til 10. bekkjar í skólanum og ég átti rétt á að fara í 11.

Allt væri í lagi, en 11. bekkur reyndist ekki mikið betri en háskólinn. Ég sneri aftur í heimaskólann, hitti stráka sem ég þekkti sem ég hafði lært hjá frá fyrsta bekk og vonaði að allt yrði í lagi í heimabænum mínum. Það var aðeins einn blæbrigði: Strákarnir líktust meira ræningjum úr sjónvarpsþáttum en strákunum sem ég var vinur í grunnskóla. Allir flykktust í ræktina til að ná vöðvamassa. Ég líktist bambus. Löng og mjög þunn. Auðvitað gæti svona bullandi bekkjarfélagi bundið mig með annarri vinstri hendi.
Þetta er það sem byrjaði að gerast með tímanum. Hér hafði bardagahæfileikar mínir engin áhrif lengur. Þyngdarflokkarnir voru mjög mismunandi hjá mér og hinum strákunum í bekknum mínum sem einu sinni var innfæddur. Einnig komu sérkenni hugsunar minnar fram.

Án þess að láta hugsanir mínar reika hætti ég líka í skólanum. Þar sem mér leið vel var fyrir framan tölvuskjá, með hurðina að herberginu mínu lokaða. Það var skynsamlegt og innsæi fannst mér ég vera að gera rétt. Og þessi skóli er gagnslaus starfsemi, og jafnvel að þola þessar háðsglósur, sem með hverjum degi urðu flóknari og flóknari... Það er það, ég er búinn að fá nóg.
Eftir önnur átök í bekknum, með mig í aðalhlutverki, hætti ég í skólanum og fór aldrei þangað aftur.
Í um 3 mánuði sat ég heima og eyddi frítíma mínum í að læra C++/WinAPI/MFC og rsdn.ru.
Að lokum þoldi skólastjórinn það ekki og hringdi heim.
- „Denis, ertu að hugsa um að læra? Eða ætlarðu að fara? Ákveða. Enginn mun skilja þig eftir í limbói." — sagði leikstjórinn
„Ég fer,“ svaraði ég öruggur.

Og aftur, sama sagan. Ég átti hálft ár eftir til að klára námið áður en ég útskrifaðist úr skólanum. Ekki skilja mig eftir skorpulausa. Foreldrar mínir gáfust upp á mér og sögðu mér að fara sjálf að semja við leikstjórann. Ég kom til skólastjórans. Hún öskraði á mig að taka ofan hattinn þegar ég kom inn. Þá spurði hún alvarlega: "Hvað á ég að gera við þig?" Satt að segja vissi ég sjálfur ekki hvað ég átti að gera. Ég var nokkuð ánægður með stöðu mála núna. Loks tók hún til máls:
— „Þá skulum við gera þetta. Ég geri samning við forstöðumann kvöldskólans okkar og þú ferð þangað.“
- "Já"

Og kvöldskólinn var algjör paradís fyrir frjálsíþróttafólk eins og mig. Farðu ef þú vilt, eða farðu ekki. Í bekknum voru 45 manns, þar af mættu aðeins 6-7 í tíma. Ég er ekki viss um að allir á listanum hafi verið á lífi og líka ókeypis. Vegna þess að aðeins í návist minni stálu bekkjarfélagar mótorhjóli einhvers annars. En staðreyndin var staðreynd. Ég gæti uppfært forritunarkunnáttuna ótakmarkað og farið í skólann þegar ég virkilega þurfti á því að halda. Ég endaði á því að klára það og standast lokaprófin. Þeir kröfðust ekki mikils og við héldum meira að segja útskriftarathöfn. Útskrift í sjálfu sér er sérstakt dæmi. Ég man að ræningjar á staðnum og bekkjarfélagar tóku úrið mitt. Og um leið og ég heyrði eftirnafnið mitt, við afhendingu skírteina, hljóp ég á brokk til að ná í skjalið og flaug út úr skólanum eins og byssukúla, til að lenda ekki í fleiri vandræðum.

Sumarið var framundan. Með Donald Knuth undir hendinni á ströndinni, hafið, sólina og þá örlagaríku ákvörðun að skrifa sitt eigið stóra verkefni (þýðanda).
Til að halda áfram ...

Heimild: www.habr.com

Bæta við athugasemd