Programa nga karera. Kapitulo 2. Eskwelahan o edukasyon sa kaugalingon

Pagpadayon sa istorya "Karera sa Programmer".

Ang tuig mao ang 2001. Ang tuig diin gipagawas ang labing cool nga operating system - Windows XP. Kanus-a mitungha ang rsdn.ru? Tuig sa pagkatawo sa C# ug .NET Framework. Unang tuig sa milenyo. Ug usa ka tuig sa exponential nga pagtubo sa gahum sa bag-ong hardware: Pentium IV, 256 mb ram.

Pagkahuman sa ika-9 nga grado ug nakita ang akong dili mahurot nga kadasig sa pagprograma, nakahukom ang akong mga ginikanan nga ibalhin ako sa kolehiyo sa major in Programming. Nagtuo sila nga mas maayo niining paagiha ug nga ila akong tudloan didto. Ang pulong kolehiyo, sa laing bahin, wala mohaum niini nga institusyon, sa gawas sa usa ka industriyal nga lungsod. Usa kadto ka ordinaryo nga teknikal nga eskwelahan, walay kalainan sa ubang mga teknikal nga eskwelahan nga wala magbitay og label nga adunay uso nga pulong nga "kolehiyo" sa ilang façade.
Aw. Wala ko nisupak sa akong mga ginikanan ug wala nako gihagit ang ilang desisyon. Sa bisan unsa nga kahimtang, ako nakigbahin sa pag-edukar sa kaugalingon, ug naghunahuna ko nga niining bag-ong lugar hatagan nila ako ug dugang nga kahibalo.


Niana nga ting-init sa wala pa moadto sa kolehiyo, nagsugod ako sa pagtuon pag-ayo sa tanan nga posible nga mga teknolohiya nga gipatik sa magasin "Hacker". Gibasa ug gibasa nako kini pag-usab. Ganahan kaayo ko sa mga interbyu sa tinuod nga mga hacker ug sa ilang mga tambag.
Kadaghanan sa mga cool nga hacker naa sa Linux. Ug ang Mazda (Windows) kay para sa mga lamer. Bisan kinsa nga nakabasa sa magasin nahinumdom sa estilo sa mga post niini. Busa, sa akong mahuyang nga hunahuna, duha ka mga ideya ang nag-away sa ilang kaugalingon - ang pagbiya sa Windows o ang pagkabugnaw ug pagpabilin sa Linux.
Ang matag bag-ong isyu sa Hacker nga magasin naghatag kanako og bag-ong rason sa pag-format sa disk ug pag-instalar sa Linux Red Hat 7 o Windows Me. Siyempre, wala ako'y bisan unsang vector sa pagbansay, ug gibuhat nako ang akong nabasa sa mga magasin o sa mga pirated nga CD sama sa "Mga Sekreto sa mga Hacker." Ang pag-instalar sa duha ka mga operating system nga magkaparehas gipapas usab, human sa usa ka bag-ong stuffing sa diwa sa "Windows XP aka parrot - kini alang sa mga housewives. Ug kung gusto nimo buhaton ang mga seryoso nga butang, kinahanglan nimo nga magtrabaho gikan sa console sa Linux nga gipiyong ang imong mga mata. Siyempre, gusto nako nga ma-hack ang mga sistema, masabtan kung giunsa ang paglihok sa network ug mahimong labing gamhanan nga Anonymous sa panahon.

Ang disk giporma nga walay bisan unsa nga pagmahay, ug usa ka distribution kit sa usa ka Unix-like nga sistema ang gibutang niini. Oo Oo. Nakabasa ko usa ka interbyu sa usa ka tinuod nga hacker nga naggamit lamang sa FreeBSD 4.3 gikan sa console. Sa samang higayon, siya ang responsable sa pag-hack sa mga bangko ug mga sistema sa gobyerno. Kini usa ka kilat sa ulo, ug akong gi-install ang BSD OS isip nag-unang sistema sa 5 ka beses. Ang problema mao nga human sa pag-instalar, walay bisan unsa didto gawas sa hubo nga console. Bisan tingog. Ug aron ma-install ang KDE2 ug ma-on ang tunog, kinahanglan nga magsayaw pag-ayo gamit ang tamburin, ug matul-id ang daghang mga config.

Programa nga karera. Kapitulo 2. Eskwelahan o edukasyon sa kaugalingon
Ang pag-apod-apod sa FreeBSD 4.3 mao ang labing hacker OS

Mahitungod sa Literatura

Sa diha nga nakakuha ako usa ka kompyuter, nagsugod ako sa pagpalit og mga libro sa programming. Ang una usa ka giya sa "Turbo Pascal 7.0". Dili kini katingad-an, tungod kay nahibal-an na nako ang gamay nga Pascal gikan sa mga kurso sa programming, ug makapadayon ako sa pagkat-on sa akong kaugalingon. Ang problema kay ang mga Hacker wala magsulat sa Pascal. Dayon ang Perl nga pinulongan anaa sa uso, o, alang sa mas bugnaw nga mga lalaki, kini mao ang C/C++. Labing menos kana ang ilang gisulat sa magasin. Ug ang una nga libro nga akong gibasa hangtod sa katapusan mao ang "The C Programming Language" - ni Kernighan ug Ritchie. By the way, nagtuon ko sa Linux environment
ug gigamit ang gcc ug ang built-in nga editor sa KDE aron isulat ang code.

Pagkahuman niini nga libro, ang UNIX Encyclopedia gipalit. Kini mitimbang ug 3 kilos ug giimprinta sa A3 nga mga panid.
Sa atubangan nga bahin sa libro adunay usa ka bug-os nga gitas-on nga paghulagway sa usa ka cartoon nga yawa nga adunay pitchfork, ug kini nagkantidad ug 125 hryvnia sa Ukraine (kana mga $25 sa 2001). Aron makapalit sa libro, nanghulam kog kuwarta sa usa ka higala sa eskuylahan, ug gidugang sa akong mga ginikanan ang uban. Dayon, madasigon kong nagsugod sa pagtuon sa Unix commands, sa vim ug emacs editor, sa istruktura sa file system ug sa sulod sa config files. Halos 700 ka pahina sa ensiklopedia ang gilamoy ug ako nahimong usa ka lakang nga mas duol sa akong damgo - nga mahimong Kul-Hatzker.

Programa nga karera. Kapitulo 2. Eskwelahan o edukasyon sa kaugalingon
UNIX Encyclopedia - Usa sa unang mga libro nga akong nabasa

Akong gigasto ang tanang kuwarta nga gihatag sa akong mahigugmaong mga apohan ug mga ginikanan sa mga libro. Ang sunod nga libro mao ang C++ sa 21 ka Adlaw. Ang titulo madanihon kaayo, ug mao nga wala ko motan-aw sa ubang mga libro nga mas taas ang kalidad. Bisan pa niini, ang tanan nga mga gigikanan gikopya gikan sa libro sa bahin sa kini nga yugto sa 3 ka semana, ug nasabtan na nako ang usa ka butang sa C ++. Bisan tuod tingali wala na ako makasabut sa bisan unsa nga nahisulat niini nga mga listahan. Apan adunay pag-uswag.

Kung pangutan-on ko nimo kung unsang libro ang labing nakaimpluwensya sa imong karera, tubagon nako nga wala’y pagduha-duha - "Ang Art sa Programming" - D. Knuth. Kini usa ka rewiring sa utok. Dili nako masulti kanimo kung giunsa kini nga libro naabut sa akong mga kamot, apan kini adunay labing lawom nga impluwensya sa akong umaabot nga karera.

Programa nga karera. Kapitulo 2. Eskwelahan o edukasyon sa kaugalingon
Ang Art sa Programming - kinahanglan basahon

Nagbakal kog mga libro sa kadaghanan sa merkado sa radyo, nga bukas lang sa Dominggo. Kay nakadaginot og laing pipila ka napulo ka hryvnia sa pamahaw, nangita ko og bag-ong libro sa C++ o tingali Perl. Dako kaayo ang pagpili, apan wala koy mentor, mao nga gitun-an nako ang tanan. Gihangyo ko ang nagbaligya nga irekomenda kanako ang usa ka butang bahin sa pagprograma. Ug sa akong nahinumduman, gikuha niya ang "The Art of Programming" gikan sa estante. Unang Tomo". Ang libro klaro nga gigamit na. Ang mga suok sa hapin gibawog, ug adunay usa ka dako nga garas nga makita sa likod, diin si Bill Gates nagbilin sa iyang repaso: "Kung basahon nimo kini nga libro, kinahanglan nimo nga ipadala kanako ang imong resume," nga gipirmahan niya. Nahibal-an nako ang bahin sa Gates gikan sa mga magasin, ug gihunahuna ko nga maayo nga magpadala siya usa ka resume, bisan kung gisaway siya sa tanan nga mga Hacker. Ang libro nagkantidad ug 72 UAH. ($15), ug dali kong mipauli sakay sa tram aron magtuon ug bag-ong materyal.

Unsa ka lawom ug sukaranan nga mga butang ang akong gibasa, siyempre, dili nako masabtan sa edad nga 15. Apan naningkamot ko nga makompleto ang matag ehersisyo. Sa higayon nga nakahimo pa ako sa husto nga pagsulbad sa usa ka problema nga adunay kalisud nga rating nga 25 o 30. Usa kini ka kapitulo sa mathematical induction. Bisag dili ko ganahan sa matematika sa eskuylahan ug dili nako masabtan kini pag-ayo, napakyas ko sa banig. Pagtuki ni Knuth - Naglingkod ko sulod sa daghang oras.
Sunod, sa ikaduhang kapitulo adunay mga istruktura sa datos. Kini nga mga hulagway ug mga hulagway sa mga linked list, binary trees, stack ug queue anaa gihapon sa akong atubangan. Sa akong 12 ka tuig nga karera sa komersyal nga pag-uswag, akong gigamit ang kadaghanan nga mga pinulongan sa kinatibuk-ang katuyoan.
Kini mao ang C/C++, C#, Java, Python, JavaScript, Delphi. Ug bisan unsa pa ang tawag sa pinulongan, ang standard library niini adunay mga istruktura sa datos ug mga algorithm nga gihulagway ni Donald Knuth sa iyang tulo ka tomo nga libro. Busa, ang pagkat-on ug bag-ong butang wala magkinahanglan ug daghang panahon.

Ang una nga volume gilamoy sa kadali. Gisulat nako pag-usab ang mga algorithm nga gihatag sa libro ni Knuth ngadto sa pinulongang C. Dili kini kanunay nga molampos, apan sa labi nakong pagpraktis, ang mas dakong katin-awan moabut. Walay kakulang sa kasibot. Pagkahuman sa una nga tomo, sa walay pagduhaduha midagan ko aron pagpalit sa ikaduha ug ikatulo. Akong gilain ang ikaduha sa pagkakaron, apan akong gikuha ang ikatulo (Pagsunud ug Pangita) pag-ayo.
Nahinumdom ko pag-ayo kon giunsa nako pagpuno ang tibuok notebook, "paghubad" sa paghan-ay ug mga algorithm sa pagpangita. Sama sa mga istruktura sa datos, ang binary search ug quicksort makita sa akong utok sa katulin sa kilat, nga nahinumdom kung giunsa kini tan-awon nga eskematiko sa ikatulo nga volume sa Knuth.
Ang latigo gibasa bisan asa. Ug bisan kung miadto ako sa dagat, nga wala’y PC sa duol, gisulat ko gihapon ang mga algorithm sa usa ka notebook ug gipadagan ang mga han-ay sa mga numero pinaagi kanila. Nahinumdom pa ko kung unsa ka kasakit ang akong gikuha sa pag-master sa heapsort, apan takus kini.

Ang sunod nga libro nga adunay kusog nga impluwensya kanako mao ang "Ang Libro sa Dragon." Kini usab "Mga Compiler: Mga Prinsipyo, Teknolohiya, Mga Himan" - A. Aho, R. Seti. Giunhan siya ni Herbert Schiltd, nga adunay mga advanced nga buluhaton sa C++. Dinhi nagkahiusa ang mga tulbok.
Salamat sa Schildt, nakakat-on ko sa pagsulat sa mga parser ug mga tighubad sa pinulongan. Ug dayon ang Libro sa Dragon nag-aghat kanako sa pagsulat sa akong kaugalingon nga C++ compiler.

Programa nga karera. Kapitulo 2. Eskwelahan o edukasyon sa kaugalingon
Libro sa Dragon

Nianang panahona, gihatagan ko og modem-grinding nga koneksyon sa Internet, ug migugol ako og daghang panahon sa labing popular nga site alang sa mga programmer - rsdn.ru. Ang C ++ nagdominar didto ug ang matag pro makatubag sa mga pangutana nga dili nako masulbad. Nasakitan ko, ug nakasabot ko
nga layo ko niining mga bungot nga mga lalaki, mao nga kinahanglan nakong tun-an ang sulod sa mga bentaha sa "From and To". Kini nga kadasig nagdala kanako sa akong una nga seryoso nga proyekto - ang akong kaugalingon nga compiler sa 1998 C++ nga sumbanan. Makita nimo ang mas detalyado nga kasaysayan ug mga tinubdan niini nga post habr.com/en/post/322656.

Eskwela o self-education

Pero balik ta sa realidad gawas sa IDE. Bisan tuod, nianang panahona, nagkaanam na kog palayo gikan sa tinuod nga kinabuhi ug nagpaunlod sa akong kaugalingon sa virtual, sa gihapon ang akong edad ug kasagarang gidawat nga mga lagda nagpugos kanako sa pag-eskwela sa kolehiyo. Kadto maoy tinuod nga torture. Wala gyud ko kahibalo kung unsa ang akong gibuhat sa kini nga establisemento ug kung nganong naminaw ko niini nga kasayuran. Lainlain ang akong mga prayoridad sa akong ulo. Pagkat-on sa Visual Studio 6.0, pagsulay sa WinApi ug Delphi 6.
Usa ka talagsaon nga site, firststeps.ru, nga nagtugot kanako sa pagmaya sa matag lakang nga akong gihimo, bisan tuod wala ako makasabut sa kinatibuk-ang hulagway. Pananglitan, sa parehas nga teknolohiya nga MFC o ActiveX.
Unsa ang mahitungod sa kolehiyo? Usa kadto ka pag-usik sa panahon. Sa kinatibuk-an, kung atong hisgutan ang hilisgutan sa mga pagtuon, dili maayo ang akong pagtuon. Hangtud sa ika-6 nga grado ako usa ka maayo kaayo nga estudyante, ug unya ang mga grado sa C nahulog, ug sa ika-8-9 nga grado, kanunay kong molaktaw sa mga klase, diin nakadawat ako og dili maayo nga mga bakus gikan sa akong mga ginikanan.
Busa, pag-abot nako sa kolehiyo, gamay ra usab ang kadasig.
- Asa ang programming? Nakapangutana ko sa akong kaugalingon. Apan wala siya didto sa unang tunga sa tuig. Apan adunay siyensya sa kompyuter nga adunay MS-DOS ug Opisina, ingon man mga subject sa kinatibuk-ang edukasyon.

Labaw pa niana, ako adunay introvert nga personalidad ug kasarangan kaayo. Kining bag-ong motley crew klaro nga wala makadasig sa pagsalig. Ug kadto maoy mutual. Busa, ang nagkalainlaing matang sa pagbiaybiay wala magdugay. Giagwanta nako kini sa dugay nga panahon, hangtod nga wala na ko makaagwanta ug gisumbag ang nawong sa usa sa mga nakasala diha mismo sa klase. Oo, mao nga siya milupad sa iyang lamesa. Salamat sa akong amahan - gitudloan niya ako nga makig-away sukad pa sa pagkabata, ug kung gusto gyud nako, magamit nako ang pisikal nga kusog. Apan panagsa ra kaayo kining nahitabo; mas kanunay akong nag-antos sa pagbiaybiay, naghulat sa labing taas nga punto sa pagbukal.
Pinaagi sa dalan, ang nakasala, nga nahingangha pag-ayo sa nahitabo, apan gibati gihapon ang iyang pagkalabaw, gihagit ako sa usa ka pagbalos nga away. Naa na sa bakanteng lote luyo sa educational institution.
Dili kini pagwarawara sa kumo sa mga bata, sama sa nahitabo sa eskwelahan. Adunay usa ka halangdon nga makhach nga nabali ang mga ilong ug daghang dugo. Ang lalaki dili usab usa ka maulawon nga lalaki ug hanas nga naghatud sa mga kaw-it ug mga uppercut. Ang tanan nagpabiling buhi, ug sukad niadto wala nay usa nga nagdaogdaog kanako.
sa kini nga "kolehiyo para sa mga programmer." Sa wala madugay nawala ang akong tinguha nga moadto didto sa hingpit. Busa, mihunong ko sa pag-adto didto, ug walay mga hulga gikan sa akong mga ginikanan nga adunay epekto kanako. Pinaagi sa pipila ka milagro, ang akong pagpabilin sa kolehiyo giisip alang sa ika-10 nga grado sa eskwelahan, ug ako adunay katungod sa pag-adto sa ika-11 nga grado.

Maayo ra ang tanan, apan ang ika-11 nga grado nahimo nga dili labi ka maayo kaysa sa kolehiyo. Mibalik ko sa akong home school, nahimamat ang pipila ka mga lalaki nga akong nailhan nga akong gitun-an sukad sa unang grado, ug naglaum nga ang tanan mamaayo ra sa akong lungsod nga natawhan. Adunay usa ra ka nuance: Ang mga lalaki morag mga bandido sa mga serye sa TV kaysa sa mga lalaki nga akong higala sa elementarya. Nagpunsisok ang tanan sa gym aron makakuha og muscle mass. Mura kog kawayan. Lanky ug nipis kaayo. Siyempre, ang ingon nga usa ka bully nga klasmeyt makagapos kanako sa usa ka wala nga kamot.
Kini ang nagsugod nga nahitabo sa paglabay sa panahon. Dinhi wala nay epekto ang akong kahanas sa pagpakig-away. Ang mga kategoriya sa gibug-aton lahi kaayo alang kanako ug sa ubang mga lalaki sa akong kanhi lumad nga klase. Usab, ang mga peculiarities sa akong panghunahuna nagpabati sa ilang kaugalingon.

Without letting my thoughts wast, I also left school. Kung asa ko komportable nga naa sa atubangan sa monitor sa kompyuter, nga sirado ang pultahan sa akong kwarto. Makahuluganon kini ug intuitively gibati nako nga gibuhat nako ang husto nga butang. Ug kini nga eskwelahan mao ang usa ka walay pulos nga kalihokan, ug bisan sa pag-agwanta niini nga mga pagbiaybiay, nga sa matag adlaw nahimong mas ug mas sopistikado... Mao na, ako adunay igo.
Human sa laing panagbangi sa klase, uban kanako sa lead role, mibiya ko sa eskwelahan ug wala na moadto didto pag-usab.
Sulod sa mga 3 ka bulan naglingkod ko sa balay, naggugol sa akong libre nga oras sa pagkat-on sa C++/WinAPI/MFC ug rsdn.ru.
Sa katapusan, ang direktor sa eskuylahan wala makaagwanta ug mitawag sa balay.
- β€œDenis, naghunahuna ka ba nga magtuon? O mubiya ka? Pagdesisyon. Walay usa nga mobiya kanimo sa limbo.” - miingon ang direktor
β€œMobiya ko,” masaligon kong tubag.

Ug pag-usab, ang sama nga istorya. Naa pa koy tunga sa tuig para makahuman sa akong pagtuon sa dili pa mogradwar sa eskwelahan. Ayaw ko biyai nga walay crust. Gibiyaan ko sa akong mga ginikanan ug giingnan ko nga ako mismo ang makigsabot sa direktor. Niadto ko sa school principal. Gisinggitan ko niya nga tangtangon akong kalo pag sulod nako. Unya siya hugot nga nangutana, β€œUnsa may akong buhaton kanimo?” Sa tinuod lang, wala ko kabalo sa akong buhaton. Nalipay kaayo ko sa kahimtang karon sa mga butang. Sa katapusan mikuha siya sa salog:
- "Unya atong buhaton kini. Makigsabot ko sa direktor sa among evening school ug adto ka didto.”
- "Oo nga"

Ug ang eskuylahan sa gabii usa ka tinuod nga paraiso para sa mga freestyler sama nako. Lakaw kon gusto nimo, o ayaw pag-adto. Adunay 45 ka mga tawo sa klase, diin 6-7 ra ang nagpakita sa mga klase. Dili ko sigurado nga ang tanan sa listahan buhi ug gawasnon usab. Kay diha ra sa akong presensya gikawat sa mga classmate ang motorsiklo sa laing tawo. Apan ang kamatuoran nagpabilin nga kamatuoran. Mahimo nakong i-upgrade ang akong kahanas sa programming nga walay kinutuban, ug makaeskwela kung gikinahanglan gyud nako kini. Nahuman nako kini ug nakapasar sa akong katapusang mga eksaminasyon. Wala sila mangayo ug daghan, ug naa pa gani mi graduation ceremony. Ang gradwasyon sa iyang kaugalingon usa ka lahi nga sugilanon. Nahinumdom ko nga gikuha sa lokal nga mga bandido ug mga klasmet ang akong relo. Ug sa diha nga akong nadungog ang akong apelyido, sa panahon sa pagpresentar sa mga sertipiko, ako nagdali sa pagkuha sa dokumento ug milupad gikan sa eskwelahan sama sa usa ka bala, aron dili na makaagi sa bisan unsa nga kasamok.

Nag-una ang ting-init. Uban ni Donald Knuth sa ilawom sa iyang bukton sa baybayon, dagat, adlaw ug ang makamatay nga desisyon sa pagsulat sa iyang kaugalingon nga dako nga proyekto (compiler).
Ipadayon…

Source: www.habr.com

Idugang sa usa ka comment