Umsebenzi wokuprograma. Isahluko 2. Isikolo okanye ukuzifundisa

Ukuqhubekeka kwebali "Umsebenzi woMhleli".

Yayingunyaka wama-2001. Unyaka apho inkqubo yokusebenza epholileyo yakhululwa - iWindows XP. Ivele nini rsdn.ru? Unyaka wokuzalwa kwe-C # kunye ne-.NET Framework. Unyaka wokuqala wewaka leminyaka. Kwaye unyaka wokukhula okubonakalayo kumandla e-hardware entsha: iPentium IV, i-256 mb yegusha.

Emva kokugqiba ibanga le-9 kunye nokubona intshiseko yam engapheliyo yokucwangcisa, abazali bam bagqiba ekubeni banditshintshele ekholejini enkulu kwiNkqubo. Babekholelwa ukuba kuya kuba ngcono ngale ndlela yaye babeza kundifundisa apho. Igama elithi ikholeji, ngendlela, alizange livumelane neli ziko, ngaphandle kwedolophu yemizi-mveliso. Yayisisikolo sobugcisa esiqhelekileyo, esingahlukanga kwezinye izikolo zobugcisa ezazingaxhomekanga ileyibhile enegama elithi “college” kwifaçade yazo.
Kulungile. Andizange ndibaphikise abazali bam yaye andizange ndisichase isigqibo sabo. Kuyo nayiphi na imeko, ndandibandakanyeke kwimfundo yobuqu, yaye ndandicinga ukuba kule ndawo intsha babeza kundinika ulwazi olongezelelekileyo.


Kwelo hlobo ngaphambi kokuba ndiye ekholejini, ndaqalisa ukufunda ngokucokisekileyo ngabo bonke ubugcisa obunokubakho obapapashwa kwiphephancwadi. "Hacker". Ndayifunda ndaphinda ndayifunda yaziingceba. Ndandithanda kakhulu udliwano-ndlebe nabaduni bokwenene kunye neengcebiso zabo.
Uninzi lwabahlaseli abapholileyo babekwiLinux. Kwaye iMazda (iWindows) yayiyeyeziqhwala. Nabani na oye wafunda iphephancwadi ukhumbula isimbo sezithuba ezikuyo. Ke ngoko, engqondweni yam eethe-ethe, izimvo ezimbini zalwa phakathi kwazo - ukushiya iWindows okanye ukuphola kwaye unamathele kwiLinux.
Inqaku elitsha ngalinye lemagazini yeHacker yandinika isizathu esitsha sokufomatha idiski kwaye ndifake nokuba yiLinux Red Hat 7 okanye iWindows Me. Ewe kunjalo, bendingenalo naliphi na i-vector yoqeqesho, kwaye ndenze into endiyifunde kumaphephancwadi okanye kwiiCD ezikhuselweyo ezifana “neeMfihlo zabaHlungi.” Ukufakwa kweenkqubo ezimbini zokusebenza ngokufanayo kwacinywa, emva kokuxutywa okutsha emoyeni we "Windows XP aka parrot - le yeyabafazi basekhaya. Kwaye ukuba ufuna ukwenza izinto ezinzulu, kufuneka usebenze kwikhonsoli yeLinux amehlo akho evaliwe. Ngokuqinisekileyo, ndandifuna ukuqhekeza iinkqubo, ukuqonda indlela inethiwekhi esebenza ngayo kwaye ibe ngu-Anonymous onamandla onke ngelo xesha.

Idiski yafomathwa ngaphandle kokuzisola, kwaye ikhithi yokuhanjiswa kwenkqubo efana ne-Unix ifakwe kuyo. Ewe Ewe. Ndakhe ndafunda udliwano-ndlebe kunye ne-hacker yokwenyani esebenzisa kuphela i-FreeBSD 4.3 kwi-console. Kwangaxeshanye, wayejongene nokugqekeza iibhanki kunye neenkqubo zikarhulumente. Kwaba kukubetha kombane entloko, kwaye ndafaka i-BSD OS njengeyona nkqubo i-5 amaxesha. Ingxaki yayikukuba emva kokufakwa, kwakungekho nto ngaphandle kwe-console engenanto. Nokuba isandi. Kwaye ukuze ufake i-KDE2 kwaye uvule isandi, bekuyimfuneko ukudanisa kakhulu ngentambula, kwaye ulungise iinkqubo ezininzi.

Umsebenzi wokuprograma. Isahluko 2. Isikolo okanye ukuzifundisa
Ukuhanjiswa kwe-FreeBSD 4.3 yeyona OS ye-hacker

Malunga noNcwadi

Nje ukuba ndibe nekhompyutha, ndaqalisa ukuthenga iincwadi zeprogramming. Eyokuqala yaba sisikhokelo kwi "Turbo Pascal 7.0". Oku akumangalisi, kuba ndandisele ndimazi uPascal omncinci kwiikhosi zeprogram, kwaye ndingaqhubeka nokufunda ndedwa. Ingxaki yayikukuba iiHackers azibhali kwiPascal. Emva koko ulwimi lwePerl lwalusefashonini, okanye, kubafana abapholileyo, kwakuyiC / C ++. Ubuncinane yiloo nto bayibhalayo kwiphephancwadi. Kwaye incwadi yokuqala endiyifundileyo ukuya esiphelweni yayiyi "C Programming Language" - nguKernighan noRitchie. Ngendlela, ndafunda kwindawo yeLinux
kwaye usebenzise i gcc kunye nomhleli we KDE's eyakhelwe-ngaphakathi ukubhala ikhowudi.

Ukulandela le ncwadi, i-UNIX Encyclopedia yathengwa. Yayinobunzima obuziikhilogram ezi-3 kwaye yaprintwa kumaphepha A3.
Kwicala langaphambili lencwadi kwakukho umzobo ogcweleyo wedemoni yekhathuni ene-pitchfork, kwaye emva koko ixabisa i-hryvnia ye-125 e-Ukraine (leyo malunga ne-$ 25 kwi-2001). Ukuze ndithenge le ncwadi, ndaboleka imali kumhlobo wam wasesikolweni, baza abazali bam bongezelela eseleyo. Emva koko, ndaqala ukufunda imiyalelo ye-Unix ngehlombe, i-vim kunye nomhleli we-emacs, isakhiwo senkqubo yefayile kunye neengaphakathi zeefayile ze-config. Phantse amaphepha angama-700 eencyclopedia aqwengwa kwaye ndaba linyathelo elinye kufutshane nephupha lam - ukuba yiKul-Hatzker.

Umsebenzi wokuprograma. Isahluko 2. Isikolo okanye ukuzifundisa
UNIX Encyclopedia - Enye yeencwadi zokuqala endizifundileyo

Ndayichitha yonke imali endandiyinikwa ngumakhulu nootatomkhulu kunye nabazali bam ezincwadini. Incwadi elandelayo yayiyiC ++ kwiiNtsuku ezingama-21. Isihloko sasinomtsalane kakhulu, kungoko ndingakhange ndijonge ezinye iincwadi ezikumgangatho ophezulu. Nangona kunjalo, yonke imithombo ikopishwe kwincwadi malunga neli xesha leeveki ezi-3, kwaye sele ndiqonde into ethile kwi-C ++. Nangona mhlawumbi andizange ndiyiqonde enye into ebhaliweyo kolu luhlu. Kodwa kwakukho inkqubela.

Ukuba ungandibuza ukuba yeyiphi incwadi enefuthe kakhulu kumsebenzi wakho, ndingaphendula ngaphandle kwamathandabuzo - "Ubugcisa bokuCwangcisa" - D. Knuth. Yayikukuphinda kuxhunywe ingqondo. Andikwazi ukukuxelela ngokuthe ngqo ukuba le ncwadi yeza njani ezandleni zam, kodwa yaba nempembelelo enkulu kumsebenzi wam wekamva.

Umsebenzi wokuprograma. Isahluko 2. Isikolo okanye ukuzifundisa
I-Art of Programming - kufuneka ifundwe

Книги я покупал в основном на радиорынке, который работал только по воскресеньям. Сэкономив на завтраках очередные несколько десятков гривен, я отправился за новой книгой по С++ или может Perl. Выбор был достаточно большой, но наставника у меня не было, поэтому изучалось все подряд. Я попросил продавца, порекомендовать мне что-нибудь по программированию. И насколько я помню, он достал с полки «Искусство Программирования. Первый Том». Книга явно была уже пользованная. Уголки обложки были согнуты, а с задней стороны виднелась большая царапина, как раз в том месте где оставил свой отзыв Билл Гейтс: «Если вы прочитаете эту книгу, вам непременно стоит прислать мне резюме» было подписано им. Про Гейтса я знал из журналов, и подумал, что было бы неплохо отправить ему резюме, хоть его и хаяли все Хакеры. Книга стоила 72 грн. (15$), и я стремительно рванул домой на трамвае изучать новый материал.

Hayi indlela izinto ezinzulu nezisisiseko endazifundayo, kambe ke, ndandingaqondi xa ndandineminyaka eli-15 ubudala. Kodwa ndazama ngenkuthalo ukugqiba yonke imithambo. Emva kokuba ndide ndakwazi ukusombulula ngokuchanekileyo ingxaki ngokulinganisa ubunzima be-25 okanye i-30. Yayisisahluko sokufakwa kwezibalo. Nangona ndandingayithandi imathematika yesikolo kwaye ndingayiqondi kakuhle, ndandisongamele. Uhlalutyo lukaKnuth - ndahlala iiyure.
Emva koko, kwisahluko sesibini kwakukho izakhiwo zedatha. Le mifanekiso kunye nemifanekiso yoluhlu oludityanisiweyo, imithi yokubini, i-stacks kunye nemigca isekho phambi kwamehlo am. Kumsebenzi wam weminyaka eli-12 kuphuhliso lwezorhwebo, ndisebenzise uninzi lweelwimi ezinenjongo eqhelekileyo.
Ezi yiC / C ++, C #, Java, Python, JavaScript, Delphi. Kwaye kungakhathaliseki ukuba ulwimi lubizwa ngokuba yintoni na, ilayibrari yayo eqhelekileyo iqulethe izakhiwo zedatha kunye ne-algorithms echazwe nguDonald Knuth kwincwadi yakhe yemiqulu emithathu. Ngoko ke, ukufunda into entsha akuthathi xesha lininzi.

Umqulu wokuqala wagqitywa ngokukhawuleza. Ndabhala kwakhona i-algorithms enikwe kwincwadi kaKnuth kulwimi lwe-C. Ayizange isebenze rhoqo, kodwa xa ndiqhuba ngakumbi, ukucaca okukhulu kwafika. Inzondelelo yayingasweleki. Emva kokuba ndigqibe nomqulu wokuqala, ngaphandle kokulibazisa ndabaleka ukuya kuthenga owesibini nowesithathu. Ndibeke eyesibini ecaleni okwangoku, kodwa ndithathe eyesithathu (Ukuhlela nokukhangela) kakuhle.
Ndikhumbula kakuhle indlela endizalise ngayo yonke incwadi, "ukutolika" ukuhlela kunye nokukhangela i-algorithms. Kanye njengezakhiwo zedatha, ukukhangela kokubini kunye nohlobo olukhawulezayo lubonwa kwingqondo yam ngesantya sombane, ndikhumbula indlela ezijongeka ngayo ngokweschema kumthamo wesithathu we-Knuth.
Isabhokhwe sasifundwa kuyo yonke indawo. Kwaye nangona ndaya elwandle, ngaphandle kwePC ekufutshane, ndandibhala phantsi i-algorithms kwi-notebook kwaye ndiqhuba ulandelelwano lwamanani ngabo. Ndisakhumbula ukuba zininzi kangakanani iintlungu ekwakufuneka ndikwazi ukuziqhelanisa neheapsort, kodwa oko kwakufanelekile.

Incwadi elandelayo eyaba nempembelelo enamandla kum yayisithi “INcwadi Yenamba.” Ikwayi "Compilers: Principles, Technologies, Tools" - A. Aho, R. Seti. Wandulelwa nguHerbert Schiltd, kunye nemisebenzi ephezulu kwi-C ++. Apha kulapho amachaphaza adibana khona.
Ndiyabulela kuSchildt, ndafunda ukubhala abacandisi kunye neetoliki zolwimi. Kwaye ke iNcwadi yeDraka yandikhuthaza ukuba ndibhale eyam i-C ++ compiler.

Umsebenzi wokuprograma. Isahluko 2. Isikolo okanye ukuzifundisa
Incwadi ye Dragon

Ngelo xesha, ndandinikwe uxhumano lwe-intanethi ye-modem, kwaye ndachitha ixesha elininzi kwindawo ethandwa kakhulu ngabadwelisi beprogram - rsdn.ru. I-C++ ilawulwa apho kwaye yonke i-pro yayinokuyiphendula imibuzo endingakwaziyo ukuyiphatha. Kwababuhlungu kum, ndaqonda
ukuba ndikude naba bafana banentshebe, ngoko ke kufuneka ndifunde ngaphakathi kweenzuzo ze "Ukusuka kunye nokuya". Le nkuthazo yandikhokelela kwiprojekthi yam yokuqala ebalulekileyo-umqambi wam womgangatho we-1998 C ++. Ungafumana imbali eneenkcukacha ngakumbi kunye nemithombo kule post habr.com/en/post/322656.

Isikolo okanye ukuzifundisa

Kodwa masibuyele kwinyani ngaphandle kwe-IDE. Nangona, ngelo xesha, ndandisiya ndihambela kude kubomi bokwenyani kwaye ndizintywilisela kubomi obubonakalayo, ndiseneminyaka yam kunye nemigaqo eyamkelekileyo ngokubanzi indinyanzele ukuba ndiye ekholejini. Yayiyintuthumbo yokwenene. Ndandingazi ngokupheleleyo into endiyenzayo kwesi sakhiwo kwaye kutheni ndimamele olu lwazi. Ndandinezinto ezibalulekileyo ezibalulekileyo entloko. Ukufunda i-Visual Studio 6.0, uzama ngeWinApi kunye neDelphi 6.
Isayithi elimangalisayo, i-firststeps.ru, eyandivumela ukuba ndivuyiswe kuwo onke amanyathelo endiwathathayo, nangona ndingawuqondi umfanekiso opheleleyo. Ngokomzekelo, kwi-teknoloji efanayo ye-MFC okanye i-ActiveX.
Kuthekani ngekholeji? Yayiyinkcitha-xesha. Ngokubanzi, ukuba sichukumisa isihloko sezifundo, ndafunda kakubi. De kwakwibanga lesi-6 ndandingumfundi ogqwesileyo, ndaza emva koko ndafumana amanqaku C, yaye xa ndandikwibanga lesi-8 ukuya kwele-9, ndandidla ngokungayi eklasini, endandifumana amabhanti abubuxoki kubazali bam.
Ke ngoko, xa ndafika ekholejini, kwabakho umdla omncinci.
- Iphi inkqubo? Ndazibuza umbuzo. Kodwa wayengekho kwisiqingatha sokuqala sonyaka. Kodwa kwakukho isayensi yekhompyutha kunye ne-MS-DOS kunye ne-Ofisi, kunye nezifundo zemfundo ngokubanzi.

Ngaphezu koko, ndandingumntu ongazaziyo yaye ndandithozamile. Eli qela elitsha le-motley ngokucacileyo alizange likhuthaze ukuzithemba. Kwaye kwaba kumacala omabini. Ngoko ke, iintlobo ezahlukahlukeneyo zokugculelwa zakhawuleza zavela. Ndayinyamezela ixesha elide, de andakwazi ukunyamezela ndaza ndabetha omnye wabenzi bobubi ebusweni kanye eklasini. Ewe, ngoko wabhabha waya kwidesika yakhe. Ndiyabulela kubawo - wandifundisa ukulwa ukususela ebuntwaneni, kwaye ukuba ndandifuna ngokwenene, ndandisebenzisa amandla omzimba. Kodwa oku kwenzeka kunqabile; ngokuphindaphindiweyo ndandinyamezela ukugculelwa, ndilinde iqondo eliphezulu lokubila.
Phofu ke, umoni, emangaliswe kakhulu koko kwakusenzeka, kodwa esaziva ephakamile, wandicela umngeni kumlo wokuziphindezela. Sele ukwindawo engenamntu emva kweziko lemfundo.
Oku yayingekuko ukuphehla inqindi kwabantwana njengokuba kwakunjalo esikolweni. Bekukho makhach obekekileyo ophuke iimpumlo negazi elininzi. Umfo naye wayengengomntu oneentloni kwaye ngobuchule wayehambisa amagwegwe kunye neendlela eziphezulu. Wonke umntu wasala ephila, yaye ukususela ngoko akusekho mntu undingcungcuthekisayo.
kule "kholeji yabenzi beenkqubo." Kungekudala ndaphelelwa ngumnqweno wokuya apho ngokupheleleyo. Ngoko ke, ndayeka ukuya apho, yaye akukho zigrogriso zabazali bam ezaba nempembelelo kum. Ngommangaliso othile, ukuhlala kwam ekholejini kwabalelwa kwibanga le-10 lesikolo, kwaye ndandinelungelo lokuya kwi-11.

Yonke into yayiza kulunga, kodwa ibanga le-11 liye labonakala lingekho ngcono kunekholeji. Ndabuyela kwisikolo sasekhaya, ndadibana nabanye abafana endandibazi endandifunda nabo ukususela kwibanga lokuqala, yaye ndandinethemba lokuba yonke into iza kulunga kwidolophu yakowethu. Inye kuphela into eyenzekileyo: Aba bafana babekhangeleka njengezihange eziphuma kuthotho lweTV kunamakhwenkwe endandingabahlobo nawo kwisikolo samabanga aphantsi. Wonke umntu wayethontelana ukuya kwindawo yokuzivocavoca ukuze bafumane ubunzima bezihlunu. Ndandifana noqalo. I-Lanky kwaye ibhityile kakhulu. Kambe ke, umntwana onjalo ongcungcuthekisayo wayenokundibopha ngesandla esinye sasekhohlo.
Oku koko kwaqala ukwenzeka ekuhambeni kwexesha. Apha ubuchule bam bokulwa babungasenawo nawuphi na umphumo. Iindidi zobunzima zahluke kakhulu kum kunye nabanye abafana kwiklasi yam yangaphambili. Kwakhona, izinto ezikhethekileyo kwindlela endandicinga ngayo zazenza zaziva.

Ngaphandle kokuvumela iingcinga zam zibhadule, ndasiyeka nesikolo. Apho ndaziva ndikhululekile kuphambi kwesixhobo sekhompyutha, nocango lwegumbi lam luvaliwe. Yayivakala kwaye intuitively ndaziva ngathi ndenza into elungileyo. Kwaye esi sikolo ngumsebenzi ongenamsebenzi, kunye nokunyamezela ezi zingcikivo, eziye zaya mihla le ziyinkimbinkimbi ... Yiloo nto, ndanele ngokwaneleyo.
Emva kolunye ungquzulwano eklasini, ndikwindima ephambili, ndasishiya isikolo ndaza andizange ndiphinde ndiye apho.
Malunga neenyanga ezi-3 ndihleli ekhaya, ndichitha ixesha lam lokufunda iC ++/WinAPI/MFC kunye ne-rsdn.ru.
Ekugqibeleni, umphathi wesikolo akazange akwazi ukunyamezela waza wabiza ekhaya.
- “Denis, ucinga ngokufunda? Okanye uzakuhamba? Gqiba. Akukho mntu uza kukushiya kwi-limbo. " - uthe umlawuli
“Ndiza kuhamba,” ndaphendula ngokuzithemba.

Kwaye kwakhona, ibali elifanayo. Bendisalelwe yisiqingatha sonyaka ukuba ndigqibezele izifundo zam phambi kokuba ndigqibe esikolweni. Ungandishiyi ndingena crust. Abazali bam bandincamile bathi mandiye kuthethathethana nomlawuli ngokwam. Ndifike kwinqununu yesikolo. Watsho endikhwaza esithi mandikhulule umnqwazi xa ndingena. Emva koko wabuza kabukhali, “Ndikwenze ntoni na?” Ngeliphandle, nam ndandingazi ukuba ndenze ntoni. Ndandonwabile kakhulu yimeko yangoku yezinto. Ekugqibeleni wathatha umgangatho:
- "Ngoko masenze oku. Ndiza kwenza isivumelwano nomphathi wesikolo sethu sangokuhlwa kwaye uya kuya apho.”
- "Ewe"

Kwaye isikolo sangokuhlwa sasiyiparadesi yokwenene kwabo bathanda imidlalo ekhululekileyo njengam. Hamba ukuba uyafuna, okanye ungahambi. Kwakukho abantu abangama-45 eklasini, apho kuphela i-6-7 yayiza kwiiklasi. Andiqinisekanga ukuba wonke umntu okuluhlu wayephila kwaye ekhululekile. Kuba ndikho kuphela apho abantwana endifunda nabo baye baba isithuthuthu somnye umntu. Kodwa inyaniso yahlala iyinyani. Ndingaphucula izakhono zam zokucwangcisa ngokungenasiphelo, kwaye ndiye esikolweni xa bendiyifuna ngokwenene. Ndayigqiba ndaphumelela imviwo zokuphela konyaka. Abazange bafune nto ingako, yaye saba nomsitho wokuthweswa izidanga. Uthweso-zidanga ngokwalo yintsomi eyahlukileyo. Ndikhumbula ukuba izihange zasekuhlaleni kunye nabo ndandifunda nabo bathatha iwotshi yam. Kwathi nje ukuba ndive ifani yam, ngexesha lokunikezelwa kwezatifikethi, ndagxalathelana kwi-trot ukuze ndithathe uxwebhu ndaza ndabhabha ndaphuma esikolweni njengembumbulu, ukuze ndingaphinde ndingene engxakini.

Ihlobo lalingaphambili. NgoDonald Knuth phantsi kwengalo yakhe elunxwemeni, ulwandle, ilanga kunye nesigqibo esibi sokubhala iprojekthi yakhe enkulu (umqokeleli).
Iza kuqhubeka…

umthombo: www.habr.com

Yongeza izimvo