Programming basa. Chitsauko 2. Chikoro kana kuzvidzidzisa

Kuenderera mberi kwenyaya "Programmer Basa".

Gore raive ra2001. Gore rakabudiswa iyo inotonhorera yekushanda system - Windows XP. rsdn.ru yakaonekwa rinhi? Gore rekuzvarwa kweC # uye .NET Framework. Gore rekutanga remireniyamu. Uye gore rekukura kwakakura musimba rezvishandiso zvitsva: Pentium IV, 256 mb ram.

Mushure mekupedza giredhi rechi9 uye nekuona shungu dzangu dzisingaperi dzekuronga, vabereki vangu vakafunga kundiendesa kukoreji kuenda kumukuru muProgramming. Vaifunga kuti zvaizova nani nenzira iyi uye kuti vaizondidzidzisa ikoko. Izwi rekuti koreji, nenzira, harina kuenderana nesangano iri, kunze kweguta reindasitiri. Chakanga chiri chikoro chakajairika chehunyanzvi, chisina kusiyana nezvimwe zvikoro zvehunyanzvi izvo zvisina kusungirira label ine izwi refashoni rekuti "koreji" pafaçade yavo.
Zvakanaka. Handina kupikisa vabereki vangu uye handina kupikisa chisarudzo chavo. Chero zvazvingava, ndakanga ndakabatikana mukuzvidzidzisa, uye ndakafunga kuti munzvimbo iyi itsva vaizondipa imwe zivo yokuwedzera.


Zhizha iroro ndisati ndaenda kukoreji, ndakatanga kunyatsodzidza matekinoroji ese aibvira akabudiswa mumagazini. "Hacker". Ndakaiverenga ndokuiverengazve kuita zvidimbu zvidimbu. Ini ndainyanya kufarira kubvunzurudzwa nevabiki vechokwadi uye zano ravo.
Mazhinji eanotonhorera hacker aive paLinux. Uye Mazda (Windows) yaive yevanokamhina. Chero ani zvake akaverenga magazini anoyeuka maitiro ezvinyorwa mairi. Naizvozvo, mupfungwa dzangu dzisina kusimba, pfungwa mbiri dzakarwa pakati pavo - kusiya Windows kana kutonhorera uye kunamatira kuLinux chete.
Imwe neimwe nyowani yemagazini yeHacker yakandipa chikonzero chitsva chefomati dhisiki uye kuisa kana Linux Red Hat 7 kana Windows Me. Ehe, ini ndakanga ndisina chero vheti yekudzidzisa, uye ndakaita zvandaiverenga mumagazini kana papirated CD se "Secrets of Hackers." Kuiswa kwemaitiro maviri ekushanda pamwe chete kwakadzimwa zvakare, mushure mekuputirwa kutsva mumweya we "Windows XP aka parrot - iyi ndeyevakadzi vemba. Uye kana iwe uchida kuita zvinhu zvakakomba, unofanirwa kushanda kubva kuLinux console nemeso ako akavharwa. " Ehe, ndaida kubira masisitimu, kunzwisisa kuti network inoshanda sei uye ndive ane simba rese Anonymous panguva iyoyo.

Iyo diski yakaumbwa pasina kuzvidemba, uye kit yekugovera yeUnix-yakafanana system yakaiswa pairi. Hongu Hongu. Ndakamboverenga kubvunzurudzwa nea real hacker anongoshandisa FreeBSD 4.3 kubva kuconsole. Panguva imwecheteyo, aive nebasa rekubira mabhangi uye masisitimu ehurumende. Yakanga iri mheni kurova kumusoro, uye ini ndakaisa BSD OS seyo huru system ka5. Dambudziko nderekuti mushure mekuiswa, pakanga pasina chinhu kunze kweiyo bare console. Kunyange inzwi. Uye kuti uise KDE2 uye ubatidze ruzha, zvaive zvakafanira kutamba zvakanyanya netamborini, uye kugadzirisa akati wandei configs.

Programming basa. Chitsauko 2. Chikoro kana kuzvidzidzisa
FreeBSD 4.3 kugovera ndiyo yakanyanya hacker OS

About Literature

Pandakangowana kombiyuta, ndakatanga kutenga mabhuku epurogiramu. Yekutanga yaive gwara re "Turbo Pascal 7.0". Izvi hazvishamise, nekuti ini ndaitoziva Pascal mudiki kubva kumakosi ehurongwa, uye ndaigona kuramba ndichidzidza ndega. Dambudziko nderekuti Hackers havanyore muPascal. Ipapo mutauro wePerl wakanga uri mufashoni, kana, kune vakomana vanotonhorera, yaiva C / C ++. Zvirinani ndizvo zvavakanyora mumagazini. Uye bhuku rekutanga randaverenga kusvika kumagumo raive "The C Programming Language" - naKernighan naRitchie. Nenzira, ndakadzidza munzvimbo yeLinux
uye yakashandisa gcc uye KDE's yakavakirwa-mukati mupepeti kunyora kodhi.

Zvichitevera bhuku iri, UNIX Encyclopedia yakatengwa. Yairema makirogiramu matatu uye yakadhindwa pamapeji eA3.
Pamberi pebhuku racho pakanga paine kuratidzwa kwakazara kwedhiyabhorosi yekatuni ine pitchfork, uye yakazodhura 125 hryvnia muUkraine (iyo inenge madhora makumi maviri nemashanu muna 25). Kuti nditenge bhuku racho, ndakakwereta mari kushamwari yokuchikoro, uye vabereki vangu vakawedzera imwe. Ipapo, ini nechido ndakatanga kudzidza Unix mirairo, iyo vim uye emacs mupepeti, chimiro chefaira system uye mukati memafaira ekugadzirisa. Mapeji anosvika mazana manomwe eensaikoropidhiya akadyiwa uye ndakava nhanho imwe padyo nehope dzangu - kuva Kul-Hatzker.

Programming basa. Chitsauko 2. Chikoro kana kuzvidzidzisa
UNIX Encyclopedia - Rimwe remabhuku ekutanga andakaverenga

Ndakashandisa mari yese yandaipihwa nasekuru nasekuru nevabereki vangu pamabhuku. Bhuku rinotevera raive C ++ muMazuva makumi maviri nerimwe. Musoro wacho waiyevedza, ndosaka ndisina kutarisa mamwe mabhuku emhando yepamusoro. Pasinei neizvi, zvinyorwa zvose zvakakopwa kubva mubhuku munguva ino yemavhiki e21, uye ini ndakatonzwisisa chimwe chinhu muC ++. Kunyangwe ini ndingangove ndisinganzwisise zvimwe zvakanyorwa mune izvi zvinyorwa. Asi kwakanga kune kufambira mberi.

Kana iwe ukandibvunza kuti nderipi bhuku rakanyanya kupesvedzera basa rako, ndaizopindura ndisingazezi - "The Art of Programming" - D. Knuth. Kwaive kudzokorodza pfungwa. Handigoni kukuudza chaizvoizvo kuti bhuku iri rakauya sei mumaoko angu, asi rakava nepesvedzero huru zvikuru pabasa rangu romunguva yemberi.

Programming basa. Chitsauko 2. Chikoro kana kuzvidzidzisa
Iyo Art of Programming - inofanira kuverenga

Ndaitenga mabhuku kunyanya pamusika wenhepfenyuro, waivhurwa neSvondo chete. Ndachengeta mamwe makumi mashoma ehryvnia pakudya kwemangwanani, ndakaenda kunotora bhuku idzva paC ++ kana pamwe Perl. Sarudzo yacho yaive yakakura, asi ndakanga ndisina murairidzi, saka ndakadzidza zvese. Ndakakumbira mutengesi kuti andirumbidze chimwe chinhu pamusoro pechirongwa. Uye sezvandinoyeuka, akatora "Iyo Art of Programming" kubva pasherufu. Vhoriyamu yekutanga". Bhuku racho rakanga ratoshandiswa zvakajeka. Makona ebutiro akanga akakombama, uye kwakanga kune kukwara kukuru kwaioneka kuseri, uko chaizvoizvo Bill Gates akanga asiya hwirudzuro yake: β€œKana ukarava bhuku iri, unofanira zvirokwazvo kunditumira CV yako,” akasainwa naye. Ndaiziva nezveGates kubva mumagazini, uye ndakafunga kuti zvingava zvakanaka kumutumira resume, kunyange zvazvo vose Hackers vakanga vachimushora. Bhuku racho rinodhura 72 UAH. ($15), uye ndakakurumidza kumhanyira kumba nechitima kuti ndidzidze zvinhu zvitsva.

Zvinhu zvakadzika uye zvinokosha sei zvandaiverenga, chokwadi, handina kukwanisa kunzwisisa pazera remakore 15. Asi ndakaedza nokushingaira kupedza maekisesaizi ose. Pane imwe nguva ini ndakatokwanisa kunyatsogadzirisa dambudziko nekuoma kwekuyera kwe25 kana 30. Chaiva chitsauko pamusoro pemasvomhu induction. Kunyange zvazvo ndakanga ndisingadi masvomhu ekuchikoro uye ndisingainzwisisi zvakanaka, ndakanga ndisingafariri masvomhu. Knuth's analysis - Ndakagara kwemaawa.
Zvadaro, muchitsauko chechipiri pakanga pane zvinyorwa zve data. Iyi mifananidzo nemifananidzo yezvinyorwa zvakabatana, miti yemabhinari, mirwi uye mitsetse zvichiri pamberi pemeso angu. Mubasa rangu remakore gumi nemaviri mukusimudzira kutengeserana, ndakashandisa mitauro yakawanda yechinangwa.
Aya ndiwo C/C++, C#, Java, Python, JavaScript, Delphi. Uye zvisinei kuti mutauro wacho wainzi chii, raibhurari yaro yakajairwa yaive ne data zvimiro uye algorithms yakatsanangurwa naDonald Knuth mubhuku rake remavhoriyamu matatu. Naizvozvo, kudzidza chimwe chinhu chitsva hakutore nguva yakawanda.

Vhoriyamu yekutanga yakadyiwa nekukurumidza. Ndakanyora zvakare maalgorithms akapihwa mubhuku raKnuth mumutauro weC. Izvo hazvina kushanda nguva dzose, asi pandainyanya kudzidzira, kujeka kukuru kwakauya. Kushingaira kwaisava kushomeka. Ndapedza nevhoriyamu yekutanga handina kumbozeza ndakamhanya kunotenga rechipiri nerechitatu. Ndakaisa yechipiri parutivi ikozvino, asi ndakatora yechitatu (Kuronga uye Kutsvaga) zvakakwana.
Ndinorangarira chaizvo kuzadza kwandakaita bhuku rese, "kududzira" kuronga uye kutsvaga algorithms. Kungofanana nezvimiro zvedata, kutsvaga kwebhinari uye nekukurumidzasort zvinoonekwa muuropi hwangu nekumhanya kwemheni, ndichirangarira maitiro avanoita schematically muvhoriyamu yechitatu yeKnuth.
Chikwapuro chaiverengwa pese pese. Uye kunyangwe pandakaenda kugungwa, ndisina PC padhuze, ini ndainyora pasi algorithms munotibhuku uye ndakamhanya kutevedzana kwenhamba kuburikidza navo. Ndichiri kuyeuka kurwadziwa kwandakaita kuti ndikwanise kuita murwi, asi zvakanga zvakakodzera.

Bhuku rakatevera iro rakava nepesvedzero yakasimba pandiri rakanga riri β€œBhuku reShato.” Izvo zvakare "Compilers: Principles, Technologies, Tools" - A. Aho, R. Seti. Akatangirwa naHerbert Schiltd, aine mabasa epamusoro muC++. Apa ndipo pakaungana madots.
Kutenda kuna Schildt, ndakadzidza kunyora vaongorori nevaturikiri vemitauro. Uye ipapo Bhuku reDhiragoni rakandikurudzira kunyora yangu C ++ compiler.

Programming basa. Chitsauko 2. Chikoro kana kuzvidzidzisa
Bhuku reShato

Panguva iyoyo, ndakanga ndapiwa modem-kugaya Internet yekubatanidza, uye ndakapedza nguva yakawanda pane inonyanya kufarirwa saiti yevagadziri vepurogiramu - rsdn.ru. C ++ inotonga ipapo uye wese pro aikwanisa kupindura mibvunzo yandakatadza kubata. Zvakandirwadza ndikazvinzwisisa
kuti ndiri kure nevarume ava vane ndebvu, saka ndinoda kudzidza mukati mezvakanakira "Kubva uye Kuenda". Kurudziro iyi yakanditungamira kune yangu yekutanga purojekiti yakakomba - yangu mugadziri weiyo 1998 C ++ standard. Iwe unogona kuwana yakadzama nhoroondo uye masosi mune ino post habr.com/en/post/322656.

Chikoro kana kuzvidzidzisa

Asi ngatidzokere kuchokwadi kunze kweIDE. Kunyangwe, panguva iyoyo, ndakanga ndichiwedzera kubva kuhupenyu chaihwo uye ndichizvinyudza pachangu mune chaiyo, ndichiri zera rangu uye zvaiwanzo gamuchirwa zvakandimanikidza kuenda kukoreji. Kwaiva kurwadziswa chaiko. Ndakanga ndisingazive zvandaiita mune iyi yekugadzwa uye nei ndaiteerera kune iyi ruzivo. Mumusoro mangu ndaiva nezvinhu zvinokosha zvakasiyana zvachose. Kudzidza Visual Studio 6.0, kuyedza neWinApi uye Delphi 6.
Nzvimbo inoshamisa, firststeps.ru, iyo yakandibvumira kuti ndifare pamatanho ose andakatora, kunyange zvazvo ndisina kunzwisisa mufananidzo wose. Semuenzaniso, mune imwecheteyo tekinoroji MFC kana ActiveX.
Ko kukoreji? Kwaive kutambisa nguva. Kazhinji, kana tikabata nyaya yezvidzidzo, ndakadzidza zvisina kunaka. Kutozosvikira mugiredhi rechitanhatu ndakanga ndiri mudzidzi akanakisisa, uye ipapo ndakawana mamakisi eC, uye pakasvika giredhi rechi6-8, ndaiwanzorovha makirasi, ayo ndakagamuchira mabhandi okunyengera kuvabereki vangu.
Naizvozvo, pandakauya kukoreji, pakanga painewo fariro shoma.
- Kupi zvirongwa? Ndakazvibvunza mubvunzo. Asi akanga asipo muhafu yokutanga yegore. Asi pakanga paine sainzi yekombuta neMS-DOS neHofisi, pamwe nezvidzidzo zvakajairika.

Pamusoro pazvo, ndaiva nounhu husingambozivikanwi uye ndaizvininipisa zvikuru. Iyi itsva motley crew zvakajeka haina kukurudzira kuvimba. Uye kwaiva kuwirirana. Naizvozvo, marudzi akasiyana-siyana okunyomba haana kunonoka kuuya. Ndakazvishivirira kwenguva refu, kutozosvikira ndatadza kuzvitsungirira ndokurova mumwe wavapari vemhosva kumeso mukirasi chaimo. Hongu, saka akabhururuka achienda kudhesiki rake. Kutenda kuna baba vangu - vakandidzidzisa kurwa kubva paudiki, uye kana ndaida chaizvo, ndaigona kushandisa simba remuviri. Asi izvi zvakaitika kashoma; kazhinji ndaitsungirira kusekwa, ndichimirira kuvira kwakanyanya.
Nenzira, mutadzi, akashamiswa zvikuru nezvakanga zvichiitika, asi achiri kunzwa ukuru hwake, akandidenha kuhondo yokutsiva. Atova munzvimbo isina munhu kuseri kwenzvimbo yedzidzo.
Uku kwaisava kupuruzira vana chibhakera sezvaiitwa kuchikoro. Paive nemukurumbira makhach akatsemuka mhino neropa rakawanda. Mukomana uyu aive asiriwo murume anotya uye akaburitsa zvine hunyanzvi zvikorekedzo uye zvekumusoro. Munhu wose akasara ari mupenyu, uye kubva ipapo hapasisina munhu akandishungurudza.
pa "koreji yevagadziri vepurogiramu." Nenguva isipi ndakarasikirwa nechido chokuenda ikoko zvachose. Naizvozvo, ndakarega kuendako, uye hapana kutyisidzirwa navabereki vangu kwakava nomuuyo upi noupi pandiri. Nechimwe chishamiso, kugara kwangu kukoreji kwakaverengerwa giredhi rechigumi rechikoro, uye ndaiva nekodzero yokuenda kune yechi10.

Zvese zvaizoita zvakanaka, asi giredhi rechi11 rakazove risiri nani pane koreji. Ndakadzokera kuchikoro kwangu, ndikasangana nevamwe vakomana vandaiziva vandakanga ndadzidza navo kubva mugiredhi rekutanga, uye ndaitarisira kuti zvinhu zvose zvaizofamba zvakanaka mutaundi rokumusha kwangu. Paingove nechinhu chimwe chete: Vakomana vacho vairatidzika semakororo epaTV kupfuura vakomana vandaishamwaridzana navo kuchikoro chepuraimari. Munhu wese akadirana kugym kuti awane tsandanyama. Ndakafanana ne bamboo. Lanky uye mutete zvikuru. Chokwadi, mumwe mukororo akadaro wandaidzidza naye aigona kundisunga neruoko rumwe rworuboshwe.
Izvi ndizvo zvakatanga kuitika nekufamba kwenguva. Apa hunyanzvi hwangu hwekurwa hwakanga husisina basa. Zvikamu zvehuremu zvaive zvakasiyana kwazvo kwandiri uye nevamwe vese vakomana vekirasi yangu yaimbova yechizvarwa. Zvakare, zvakasarudzika zvekufunga kwangu zvakaita kuti vanzwe.

Handina kurega pfungwa dzangu dzichitenderera, ndakasiyawo chikoro. Pandainzwa ndakasununguka paive pakatarisana nemonitor yecomputer, gonhi remukamuri mangu rakavharwa. Zvaive zvine musoro uye intuitively ndakanzwa sekunge ndiri kuita chinhu chaicho. Uye chikoro ichi ibasa risingabatsiri, uye kunyange kutsungirira kunyomba uku, izvo zuva rega rega rakava rakanyanyisa uye rakanyanyisa ... Ndizvozvo, ndave ndine zvakakwana.
Pashure pokumwe kurwisana mukirasi, ini ndiri mubasa rinotungamirira, ndakasiya chikoro uye handina kuzomboendako zvakare.
Kwemwedzi inenge 3 ndakagara kumba, ndichipedza nguva yangu yekusununguka ndichidzidza C ++/WinAPI/MFC uye rsdn.ru.
Pakupedzisira, mutungamiriri wechikoro akatadza kuzvimirira ndokufonera kumba.
- "Denis, uri kufunga kudzidza here? Kana kuti uchaenda? Sarudza. Hapana achakusiya uri parumananzombe." - akadaro mutungamiriri
"Ndichaenda," ndakapindura nechivimbo.

Uye zvakare, nyaya imwe chete. Ndanga ndasarirwa nehafu yegore kuti ndipedze zvidzidzo zvangu ndisati ndapedza chikoro. Musandisiya ndisina goko. Vabereki vangu vakakanda mapfumo pasi ndokunditi ndiende kunotaurirana nadirector ini. Ndakasvika kumukuru wechikoro. Akadeedzera kuti ndibvise hat ndapinda. Ipapo akabvunza nehasha, "Ndoitei newe?" Kutaura chokwadi, ini pachangu ndakanga ndisingazivi zvokuita. Ndakafara chose nemamiriro akanga akaita zvinhu. Pakupedzisira akatora pasi:
- "Saka ngatiitei izvi. Ndichaita chibvumirano nemukuru wechikoro chedu chemanheru uye iwe uchaenda ikoko."
- "Ehe"

Uye chikoro chemanheru chaive paradhiso chaiyo kune vakasununguka seni. Enda kana uchida, kana kuti usaenda. Paive nevanhu makumi mana nevashanu mukirasi, avo 45-6 chete ndivo vakaratidzira kumakirasi. Ini handina chokwadi chekuti munhu wese pane rondedzero aive mupenyu uye zvakare akasununguka. Nekuti ndiripo chete vaaidzidza navo vakabira mumwe munhu mudhudhudhu. Asi chokwadi chakaramba chiri chokwadi. Ini ndaigona kusimudzira hunyanzvi hwangu hwekuronga zvisina muganho, uye kuenda kuchikoro pandaida chaizvo. Ndakazoipedza ndokupasa bvunzo dzangu dzekupedzisira. Havana kuda zvakawanda, uye takatova nemhemberero yokupedza kudzidza. Kupedza kudzidza pachako ingano yakasiyana. Ndinoyeuka kuti makororo omunharaunda uye vandaidzidza navo vakatora wachi yangu. Uye pandakangonzwa zita rangu rekupedzisira, panguva yekuratidzwa kwezvitupa, ndakamhanyira kune imwe trot kuti nditore gwaro uye ndikabhururuka kubva pachikoro sebhoti, kuti ndirege kumhanyira kune mamwe matambudziko.

Zhizha raive mberi. NaDonald Knuth pasi peruoko rwake pamhenderekedzo yegungwa, gungwa, zuva uye chisarudzo chinotyisa chekunyora purojekiti yake huru (compiler).
Zvichaenderera mberi…

Source: www.habr.com

Voeg