Matryoshka C. Uhlelo lolimi lohlelo olunezendlalelo

Ake sizame ukucabanga chemistry ngaphandle Mendeleev sika Periodic Table (1869). Zingaki izici okufanele zigcinwe engqondweni, futhi ngokungahleleki okuthile... (Kwathi - 60.)

Ukuze wenze lokhu, cabanga nje ngolimi olulodwa noma eziningana zokuhlela ngesikhathi esisodwa. Imizwa efanayo, isiphithiphithi sokudala esifanayo.

Futhi manje singakwazi ukukhumbula imizwa yamakhemikhali ekhulu le-XNUMX lapho benikezwa lonke ulwazi lwabo, futhi kancane, ku-Periodic Table.

Matryoshka C. Uhlelo lolimi lohlelo olunezendlalelo


Incwadi ethi "Matryoshka C. Isistimu enezendlalelo yolimi lohlelo" yethula wonke amayunithi olimi C lapho uthi shazi. Lokhu kukuvumela ukuthi uzihlele, ulungise ulwazi oluphelelwe yisikhathi, futhi uze ucacise wona kanye umqondo wohlelo.

Namuhla, ulwazi lohlelo ludinga ukuhlelwa kabusha nangaphezu kwalokho kwakwenziwa izakhi zamakhemikhali eminyakeni eyi-150 edlule.

Isidingo sokuqala ukufundisa. UMendeleev waqala ukudala uhlelo lwakhe lapho ebhekene nombuzo wokuthi iyiphi i-elementi azoqala ngayo ukufundisa: O, H, N, He, Au... Ngesikhathi esifanayo, kwakulula kuye - wafundisa i-chemistry kubafundi abahamba phambili Petersburg University. Futhi izinhlelo sezivele zifundiswa esikoleni futhi maduze zizoqala enkulisa.

Isidingo sesibili indlela yesayensi. Ngosizo lwe-Periodic Table, izakhi ezintsha zatholwa futhi ulwazi mayelana nezindala zalungiswa. Wasiza ukudala imodeli ye-athomu (1911). Njalo njalo.

Isidingo sesithathu ukucacisa umqondo wohlelo.

Uhlelo lwesimanje lunonyawo olulodwa olunamathele kuma-50s wekhulu lama-XNUMX. Ngaleso sikhathi, izinhlelo zazilula, kodwa imishini nezilimi zomshini zaziyinkimbinkimbi, ngakho yonke into yayizungeza imishini nezilimi.

Manje konke kungenye indlela: izinhlelo ziyinkimbinkimbi futhi ziyisisekelo, izilimi zilula futhi zisesibili. Lokhu kubizwa ngokuthi indlela esetshenziswayo, wonke umuntu obonakala ejwayelene nayo. Kodwa abafundi nabathuthukisi bayaqhubeka nokuqiniseka ukuthi konke kuyafana.

Okusibuyisela enkulumweni yokuqala ye-Privatdozent Mendeleev. Yini ongayitshela abasha? Likuphi iqiniso? Yilowo mbuzo.

Incwadi ethi "Matryoshka C" inikeza impendulo yalo mbuzo. Isistimu enezingqimba yolimi lohlelo". Ngaphezu kwalokho, akubhekiselwanga kubafundi kuphela, kodwa nakubahleli bezinhlelo abaqeqeshiwe, njengoba yibona, okungukuthi, thina, okufanele sifune iqiniso futhi siguqule umbono wezwe.

Okulandelayo isifinyezo sencwadi.

1. Isingeniso

Ngo-1969, kwasungulwa ulimi C, olwaba ulimi oluyisisekelo lokuhlela futhi luye lwahlala lunjalo iminyaka engu-50. Kungani lokhu kunjalo? Okokuqala, ngoba C isicelo ulimi olunikeze uhlelo ubuntu buka esikhundleni umshini. Le mpumelelo ivikelwe izilimi ezivela emndenini wakwa-C: C++, JavaScript, PHP, Java, C# nezinye. Okwesibili, lulimi olufushane futhi oluhle.

Kodwa-ke, ulimi lwe-C ngokwalo luvame ukuxutshwa nesihlanganisi somshini, ngaleyo ndlela lube nzima futhi luhlanekezele umbono walo. Okunye okweqisayo ukubekelwa "ifilosofi" ethile olimini: inqubo, into, ukusebenza, okuhlanganisiwe, okuhunyushwa, okuthayishiwe, njalonjalo. Lokhu kwengeza imizwa, kodwa akusizi ukuchaza kangcono ulimi.

Iqiniso liphakathi, futhi ngolimi lwe-C liphakathi nendawo phakathi kombono wefilosofi nomshini.

Ulimi C aluzimele, luthobela ulimi olubhaliwe olujwayelekile, futhi ngesikhathi esifanayo lulawula ulimi lomhlangano ngokwalo. Lesi sikhundla siyachaza Imodeli yenkulumo yohlelo, ngokusho ukuthi uhlelo luhlukaniswe izinhlobo ezintathu ezingaphansi: inkulumo, ikhodi, umyalo. Ulimi C lunesibopho sesibili, uhlobo lwekhodi.

Ngemva kokunquma indawo yolimi ohlelweni, ungakwazi ukuhlela ulwazi mayelana nalo, okwenza Uhlelo lolimi lohlelo olunezendlalelo, emele ulimi C emoyeni wesimiso sezikhathi - ekhasini elilodwa.

Uhlelo lwakhiwe ngokucabangela imiphakathi yezilimi ezisetshenziswayo, okuvela ekuthotshisweni kwenkulumo yabo. Isethi eyodwa yamayunithi we-Matryoshka C ikuvumela ukuthi uchaze futhi uqhathanise izilimi ezahlukene, udale uchungechunge lwe-Matryoshkas: C++, PHP, JavaScript, C #, MySQL, Python njalonjalo. Kuyafaneleka futhi kulungile ukuthi izilimi ezahlukene zichazwe ngamayunithi olimi oluyisisekelo.

2. ISAHLUKO 1. Imodeli yenkulumo yohlelo. Sula C

Isahluko sokuqala siyethula imodeli yenkulumo yohlelo, okubonisa indlela esetshenziswayo. Ngokusho kwakhe, lolu hlelo lunezinhlobo ezintathu ezisobala ezilandelanayo:

  1. inkulumo - inkulumo eqondile yomhleli oxazulula inkinga,
  2. ikhodid - ukufaka ikhodi ngesixazululo kwifomu lezibalo ngolimi C (noma yiluphi olunye)
  3. futhi umyalo - imiyalo yomshini oqondile.

Imodeli yenkulumo ichaza ukuthi kungani u-C elulimi olulula noluqondakalayo. UXi wakhiwe ngomfanekiso nokufana nenkulumo yomuntu esijwayele ukuyizwa.

Uhlobo lokuqala lohlelo yinkulumo eqondile yomdidiyeli. Inkulumo ihambisana nokucabanga komuntu. Abahleli bohlelo abaqalayo babhala izinhlelo besebenzisa inkulumo - okokuqala ngesiRashiya, bese behumushela isinyathelo ngesinyathelo ngolimi lwekhodi. Futhi kukule modeli ngqo lapho kwadalwa khona ulimi C.

Iziphetho zomhleli, ezivezwa enkulumweni, ziguqulwa zibe inombolo enekhodi. Lokhu kuguqulwa kufanele kubizwe ukuzindla, njengoba inkulumo nekhodi kunesimo esifanayo (reflection - birth - gender). Lokhu kusobala uma siqhathanisa inkulumo (ngakwesokunxele) kanye nekhodi (ngakwesokudla) izinhlobo zohlelo.

Matryoshka C. Uhlelo lolimi lohlelo olunezendlalelo

Kuyathakazelisa ukuthi ukucabanga kwenzeka kalula - ngezinhlobo ezimbili kuphela zezinkulumo.

Nokho, incazelo yesimanje yolimi C (kusukela ngo-1978) ayinalo uhlu olwanele lwamagama lokuchaza ulimi ngokujwayelekile, noma ikakhulukazi umsebenzi wokubonisa. Ngakho-ke, siyaphoqeleka ukuthi sidale futhi sethule lawa magama.

Ukukhethwa kwamagama kufanele kucace futhi kucace. Lokhu kwakudinga indlela ekhethekile, evezwe kafushane kanje: ukusetshenziswa okuqinile kolimi lwendabuko. KumaNgisi bekungaba yisiNgisi, kodwa asiwona amaNgisi. Ngakho-ke sizosebenzisa esinakho futhi sizame ukukhuluma isiRashiya.

Ukucabangisisa kwenziwa ngezinhlobo ezimbili zezinkulumo:

  1. ukubala (HF) - ikhombisa ushintsho ezimpahleni zento. Isakhiwo sento sivezwa ngenombolo, bese isenzo esakhiweni siyisenzo senambeni - ukusebenza.
  2. ukuzithoba (Pch) - ikhombisa ushintsho kuhlelo lwezenzo. I-prototype ye-Pch iwumusho oyinkimbinkimbi yenkulumo, ngakho-ke izinhlobo eziningi ze-Pch ziqala ngokuhlanganisa izihlanganisi “uma”, “kungenjalo”, “ngenkathi”, “for”. Ezinye izinhlobo zama-PC ziyahambisana nazo.

Ngendlela, ungakholelwa ukuthi encazelweni ka-C alikho igama lezinkulumo zokubala - zibizwa nje ngokuthi "izinkulumo"? Ngemuva kwalokhu, ngeke kusamangaza ukuthi alikho igama nokuhlotshaniswa kohlobo lokuzithoba, kanye nokushoda kwamagama, izincazelo kanye nokuhlanganisa ngokujwayelekile. Lokhu kungenxa yokuthi u-K/R odumile (“The C Language”, Kernighan/Ritchie, 1978) akayona incazelo, kodwa umhlahlandlela wokusebenzisa ulimi.

Nokho, ngisangathanda ukuba nencazelo yolimi. Ngakho-ke uyanikelwa Uhlelo lolimi lohlelo olunezendlalelo.

3. ISAHLUKO 2. Uhlelo lwezingqimba. Kafushane C

Noma iyiphi incazelo kufanele inembile futhi ibe mfushane kakhulu. Endabeni yolimi lohlelo, incazelo engaphambili inzima.

Lapha sinohlelo. Iqukethe amamojula. Amamojula aqukethe ama-subroutines namaqoqo (isakhiwo). Ama-subroutines aqukethe izinkulumo ngazinye: izimemezelo, izibalo, ukuzithoba. Kunezinhlobo eziningi eziyishumi zokuzithoba. I-Subordination ixhuma ama-sublevels nama-subroutines. Kukhona nezikhangiso ezimbalwa. Kodwa-ke, izimemezelo azifakiwe kuphela kuma-subroutines kanye nama-sublevels, kodwa futhi kumamojula namaqoqo. Futhi izinkulumo eziningi ziqukethe amagama okunzima ukuwachaza kangangokuthi ngokuvamile anikezwa kalula ezinhlwini ezimbili - amagama okuqala kanye namagama asuselwe, ozowajwayela ngesikhathi sokufunda nokusetshenziswa kolimi. Ake sengeze izimpawu zokuloba kanye nenani lezinye izisho kulokhu.

Esethulweni esinjalo, akulula ukuqonda ukuthi kwakumi kubani.

Indlela eqondile yokuhlelwa kwezigaba ekuchazeni ulimi ingaba yinkimbinkimbi ngokweqile. Ukusesha okuzungezayo kuholela encazelweni yolimi ngokusekelwe kuhlobo lwayo lwenkulumo kanye nohlangothi lomyalo. Ngakho, i-Layer System yazalwa, ingxenye ehambisana ne-Periodic System ye-Mendeleev, nayo ply. Njengoba kwenzeka eminyakeni engu-42 ngemva kokushicilelwa kwayo (1869), i-periodicity yesistimu ihlotshaniswa ne-electronics. izendlalelo (1911, imodeli ye-athomu ye-Bohr-Rutherford). Futhi, izinhlelo ze-Layered and Periodic ziyefana ekuhlelweni kwethebula yawo wonke amayunithi ekhasini elilodwa.

Incazelo yamayunithi olimi imfushane - izinhlobo eziyi-10 kuphela zezinkulumo nezinhlobo eziyisi-8 zamanye amayunithi, kanye nezishoyo nezibonwayo. Nakuba engavamile umazi wokuqala.

Amayunithi olimi ahlukaniswe ngamaleveli ayi-6:

  1. amayunithi - imigqa yetafula
  2. iminyango - amaqembu akhethekile wegenera (izingxenye zomugqa wokuqala)
  3. genus - amaseli (izinga eliyinhloko lokuhlukanisa)
  4. superspecies - izihlukanisi zezinhlobo (izinga elingavamile)
  5. izinhlobo - amafomula amayunithi ngaphansi kweseli noma ngokuhlukene
  6. amaphethini - amayunithi ngokwawo (amagama kuphela)

Izibonelo zamagama ziyachaza isichazamazwi - uhlelo oluncane oluhlukile olwakhiwe amazinga ayisithupha afanayo.

Ingxenye yenkulumo yolimi C isobala, nakuba isafanele ukuchazwa. Kodwa ingxenye yomyalo yolimi ihlobene ngokuqondile nokulawulwa kokuhlanganiswa, lapho uhlobo lwesithathu lohlelo lwenziwa khona - umyalo. Lapha sifika engxenyeni ejabulisa kakhulu yolimi C: ubuhle.

4. OKULANDELAYO IZAHLUKO. Muhle Si

Ulimi C luyisisekelo sezinhlelo zesimanje. Kungani? Okokuqala, ngenxa yokuxhumana okukhulu kakhulu nenkulumo. Okwesibili, ngoba yeqe kahle imikhawulo yokucubungula inombolo yomshini.

Yini ngempela uXi ayihlongoze? Isithombe nesendlalelo.

Igama elithi "isithombe" liwukuhunyushwa kwegama lesiNgisi elithi "type", elivela kwelesiGrikhi "prototype" - "uhlobo". Olimini lwesiRashiya, igama elithi “uhlobo” alidlulisi isisekelo somqondo ovezwayo, ngaphezu kwalokho, lididaniswa nencazelo eyisizayo “uhlobo”.

Ekuqaleni, isithombe sixazulule inkinga yokubala komshini, sabe sesiphenduka umzila wokuzalwa kwezilimi zezinto.

Isendlalelo ngokushesha saxazulula izinkinga eziningana - kokubili umshini futhi kusetshenziswe. Ngakho-ke, ukucatshangelwa kuzoqala ngesithombe somsebenzi owodwa bese kudlulela kungqimba lwemisebenzi eminingi.

Esinye sezici ezingemnandi zezinhlelo zomlando ukuthi imiqondo eminingi, okuhlanganisa neziyisisekelo, inikezwa ngaphandle kwezincazelo. “Ulimi lokuhlela (igama lemifula) lunezinhlobo zezinombolo eziphelele nezintantayo...” futhi zaqhubekela phambili. Akudingekile ukuchaza ukuthi "uhlobo" (isithombe) luyini, ngoba ababhali ngokwabo abakuqondi kahle lokhu futhi bazokuthulisa "ukuze kucace." Uma zibethelwe odongeni, zizonikeza incazelo engacacile futhi engenamsebenzi. Kuyasiza kakhulu ukucasha ngamagama angaphandle: kubabhali baseRussia - ngemuva kwesiNgisi (uhlobo), kumaNgisi - ngemuva kwesiFulentshi (i-subroutine), isiGreki (i-polymorphism), isiLatini (i-encapsulation) noma inhlanganisela yabo (i-ad-hoc polymorphism).

Kodwa lesi akusona isiphetho sethu. Esikukhethayo izincazelo ezine-visor ephakanyisiwe ngesiRashiya esimsulwa.

Isithombe

Isithombe igama elingokomfanekiso lenani, elichaza 1) izici eziyisisekelo zenani kanye 2) nokukhethwa kwemisebenzi yenani.

Igama elithi “uhlobo” (uhlobo) lihambisana nengxenye yokuqala yencazelo: “izakhiwo zangaphakathi zenani.” Kodwa incazelo eyinhloko yesithombe isengxenyeni yesibili: “ukukhethwa kokusebenza ngamanani.”

Isiqalo sokwethula isithombe ngo-C siyisibalo esivamile, esifana nomsebenzi wokwengeza.

Iphepha Izibalo, kungakhathaliseki ukuthi zibhalwe ngesandla noma ziphrintiwe, azenzi mehluko omkhulu phakathi kwezinhlobo zezinombolo, ngokuvamile kucatshangwa ukuthi ngezangempela. Ngakho-ke, imisebenzi yabo yokucubungula icacile.

Umshini Izibalo zihlukanisa izinombolo zibe izinombolo eziphelele neziqephu. Izinhlobo ezehlukene zezinombolo zigcinwa ngendlela ehlukile enkumbulweni futhi zicutshungulwe ngemiyalelo ehlukene yephrosesa. Isibonelo, imiyalelo yokwengeza ama-integer namafrakshini iyimiyalelo emibili ehlukene ehambisana nama-processor node amabili ahlukene. Kodwa awukho umyalo wokwengeza ama-agumenti ephelele kanye nama-fractional.

Kusetshenzisiwe izibalo, okungukuthi, ulimi C, luhlukanisa izinhlobo zezinombolo, kodwa luhlanganisa ukusebenza: ukungezwa kwama-integers kanye/noma amafrakshini abhalwa ngophawu olulodwa lwesenzo.

Incazelo ecacile yesithombe somqondo isivumela ukuthi sikhulume ngempela ngeminye imiqondo emibili: ubukhulu и ukusebenza.

Ubukhulu nokusebenza

Ubuningi - inombolo ecutshungulwayo.

Ukusebenza - ukucubungula amanani amanani okuqala (izingxabano) ukuthola inombolo yokugcina (inani).

Ubukhulu nokusebenza kuhlobene. Umsebenzi ngamunye uyinani ngoba unomphumela wezinombolo. Futhi inani ngalinye liwumphumela wokudlulisa inani ukuya/kusuka kurejista yokucubungula, okungukuthi, umphumela wokusebenza. Naphezu kwalobu buhlobo, into eyinhloko ukuthi kungenzeka incazelo yabo ehlukene, nakuba ukuphindaphinda kwegama elilodwa ezigabeni ezahlukene zesichazamazwi, okuyinto eyenzekayo ku-MA3.

Indlela yomshini ihlukanise zonke izinombolo ezisetshenziswa umhleli zibe imiyalo и imininingwane. Ngaphambili, bobabili babeyizinombolo, isibonelo, imiyalo yayibhalwe ngamakhodi ezinombolo. Nokho, ezilimini ezisetshenziswayo, imiyalo yayeka ukuba izinombolo futhi yaba ngamazwi и izimpawu zesenzo. Kuphela "idatha" ehlala njengezinombolo, kodwa akunangqondo ukuqhubeka ukubiza ngaleyo ndlela, ngoba ekuguqukeni komshini kuya endaweni yokubuka yezibalo, izinombolo ziyinani elihlukaniswa ngeyokuqala (imininingwane) futhi okokugcina (okudingekayo). "I-datum engaziwa" izozwakala iyisiphukuphuku.

Amaqembu aphinde ahlukaniswa abe izinhlobo ezimbili zezenzo: izibalo kanye nesevisi. Izenzo zezibalo - imisebenzi. Sizofika ezintweni ezisemthethweni ngokuhamba kwesikhathi.

Ezilimini ezingu-C, ukusebenza kwezibalo okujwayelekile kwephepha nomshini okungacacile, noma okukodwa, cishe kuphindaphindeka emhlabeni wonke.

Imisebenzi eminingi iyimisebenzi eminingana yegama elifanayo enezinhlobo ezahlukene zezimpikiswano futhi ezahlukene, ezifanayo ngencazelo, izenzo.

Ama-agumenti ephelele ahambisana nomsebenzi wonke, futhi ama-agumenti amafraction ahambisana nokusebenza kwe-fractional. Lo mehluko ucace ikakhulukazi ngesikhathi sokusebenza kokuhlukanisa, lapho inkulumo ethi 1/2 inikeza isamba esingu-0, hhayi u-0,5. I-notation enjalo ayihambisani nemithetho yezibalo zephepha, kodwa ulimi C aluzami ukuhambisana nabo (ngokungafani neFortran) - ludlala ngokwalo. isicelo imithetho.

Endabeni yokuxuba izinombolo namafrakshini, okuwukuphela kwayo okulungile kufakiwe uphonsa amanani wempikiswano — uguquko olukhethiwe lwenani ukusuka kwesinye isithombe ukuya kwesinye. Ngempela, lapho wengeza inombolo ephelele kanye nenombolo yefractional, umphumela uba yi-fractional, ngakho isithombe sokusebenza iphakamisa umsebenzi wokuguqula i-agumenti ephelele ibe inani eliyingxenye.

Kusele imisebenzi eminingana amaningi, futhi ongashadile. Imisebenzi enjalo ichazwa kuphela ohlotsheni olulodwa lwama-agumenti: ingxenye esele - ama-agumenti ephelele, ukupakisha (ukusebenza okuhlakaniphile) - izinombolo zemvelo. I-Ma3 ikhombisa ukuphindaphindeka kokusebenza ngezimpawu (#^) ezibonisa izithombe okuchazwe ngazo umsebenzi. Lokhu kuyimpahla ebalulekile kodwa ebinganakwa ngaphambilini kukho konke ukusebenza.

Yonke imisebenzi iyiyunithi yokusebenza ngokungafanele. Okuhlukile ngabaqhubi - imisebenzi engeyona yabakaki, eyakhelwe olimini (imisebenzi yasekuqaleni).

Usizo

Usizo - isenzo esihambisana nomsebenzi.

Uma sibheka ukusebenza njengesenzo esiyinhloko, khona-ke singakwazi ukuhlukanisa ezimbili ezihambisanayo ezihlinzeka ngokusebenza futhi zihluke kukho. Lokhu 1) ukulawulwa okuguquguqukayo kanye ne-2) ukuzithoba. Lesi senzo sibizwa usizo.

Lapha sidinga ukuhlehla futhi sisho ngokwehlukana mayelana nokuhunyushwa kwezincwadi zesiRashiya zokuhlela. Igama elisha lethulwe embhalweni we-K/R ukuze kuqoshwe izenzo isitatimende (inkulumo), ezame ukuhlukanisa imiqondo yomyalo womshini ibe yizenzo ezihlukene: 1) ukusebenza, 2) isimemezelo, kanye 3) ukuzithoba (okubizwa ngokuthi "ukwakhiwa kokulawula"). Lo mzamo wangcwatshwa abahumushi baseRussia, esikhundleni sokuthi "inkulumo" negama elithi "opharetha", okuthi:

  1. selifana negama lomshini elithi “umyalo”,
  2. kwavela ukuthi kufana nenkulumo ethi "uphawu lwesenzo",
  3. futhi iphinde yathola inombolo engenamkhawulo yamanani engeziwe. Okusho ukuthi, isiphenduke into efana nesihloko sesiNgisi esithi “uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Cabanga ngezenzo ezihambisana nalokhu, noma usizo.

Ukulawula okuguquguqukayo

Ukulawula okuguquguqukayo (UP) - ukudala/ukususa amaseli aguquguqukayo.
I-UE yenzeka ngokungagunci lapho imemezela okuguquguqukayo, osekuvele kubhalwe ngesinye isizathu - ukukhombisa isithombe senani. Ukubuka okukodwa kuphela okulawulwa ngokusobala okuguquguqukayo okwengeziwe usebenzisa i-malloc() kanye ne-free() imisebenzi.

Kumele kuqashelwe ukuthi izenzo ezingacacile zilula kakhulu ukubhala, ngoba azidingi ukubhala lutho, kodwa zinzima kakhulu ukuziqonda - kunzima kakhulu ukuzicabangela nokuhumusha.

Ukuzithoba

Ukuzithoba — xhuma/vala izigaba zesendlalelo.

Ulimi C lunikeze indlela esetshenzisiwe yokulawula ukuhleleka kwezenzo, ehlukile ku-assembler - subordination. Ikhombisa futhi ithuthukise umusho oyinkimbinkimbi wenkulumo ngokuhlukaniswa okucacile ube ingxenye eyinhloko (isigatshana somthetho) kanye nengxenye engaphansi (izigaba ezingezansi/ezingaphansi).

Kokubili isimemezelo nokuhanjiswa kwakhelwe ngokuphelele phezu komqondo ungqimba.

Isendlalelo

Isendlalelo iyisethi yezinkulumo ezikhethiwe ezisezingeni elilodwa.

Isendlalelo sithathe imisebenzi eminingana ngesikhathi esisodwa ngokusobala nangokucacile:

  1. ukuhlela uhlelo
  2. ukunciphisa ukubonakala kwamagama (ngokuqondile),
  3. ukuphathwa kwezinto eziguquguqukayo (amaseli enkumbulo) (okucacile),
  4. incazelo yezigatshana ezingaphansi zokuncishiswa,
  5. izincazelo zemisebenzi nokukhethwa nokunye.

Kwakungekho mqondo wongqimba ezilimini zomshini, ngakho awuzange uvele ku-K/R, futhi uma okuthile kwakungekho, ukuyethula ezincwadini ezilandelayo kwakuyoba ukuhlubuka nokucabanga ngokukhululekile. Ngakho-ke, umqondo wongqimba awuzange uvele nhlobo, nakuba uwusizo kakhulu futhi usobala.

Ngaphandle kwesendlalelo, akunakwenzeka ukuchaza kafushane futhi ngokucacile izenzo eziningi nemithetho yohlelo. Isibonelo, kungani i-goto ilula njenge-kopecks emithathu embi, kanti ngenkathi ekhohlisayo yinhle. Ungafunga kuphela ngokungakwazi ukuzisiza, njengoba kwenza u-Dijkstra (“ikhono labahleli bezinhlelo liwumsebenzi oncike ngokuphambene nemvamisa yokwenzeka kwezitatimende ze-goto ezinhlelweni zabo.” Kafushane, izimbuzi kuphela ezisebenzisa i-goto. Izinga lokulungisiswa nguNkulunkulu.) Yiqiniso, lokhu akwethusi kangako uma izincwadi zakho Akudingekile ukuba sichaze lutho nhlobo, kodwa, njengoba sesishilo kakade, lesi akusona isiphetho sethu.

Phela, kungacatshangwa ukuthi u-Dan Ritchie ushiye i-goto njengokhiye wokusesha umqondo ongashiwongo, ngoba besingekho isidingo noma ubuhle kunkulumo ethi goto. Kodwa kwakunesidingo sencazelo elula neqondakalayo yezimiso ezintsha zolimi, uRichie ngokwakhe ayengafuni ukuyinikeza, futhi ezisekelwe ngokunembile emqondweni. ungqimba.

Ukuchezuka

Ukuchezuka — ukushintsha izici ezivamile zegama elisha.

Ukuchezuka okubaluleke kakhulu kuhlobene ngokunembile nezakhiwo zongqimba zohlelo, futhi kuchazwa ngegama elilodwa elithi “static”, elinencazelo ehlukile kuhlobo ngalunye lwesendlalelo.

5. ISAHLUKO SOKUGCINA. Ukufana kwezilimi ezisetshenziswayo

Izilimi ezisetshenziswayo ziyi okungokomfanekiso izilimi (ezinesithombe, "ezifakiwe"). Asekelwe ekusetshenzisweni okusobala noma okusobala kwesithombe. Ngaphezu kwalokho, lapha futhi ukungqubuzana kuvela: isithombe esicacile siqondakala kakhudlwana, kodwa esilula kancane, futhi ngokuphambene nalokho.

Matryoshka C. Uhlelo lolimi lohlelo olunezendlalelo

(Isakhiwo setafula asikakalethwa, ngakho ithebula liboniswa nesithombe.)

Ngemuva kwe-C, ukuthuthukiswa kwezilimi ezisetshenziswayo kwathatha indlela yokwandisa umfanekiso wabo. Okubaluleke kakhulu ekuqondeni izithombe eziphezulu yinzalo eqondile ka-C - ulimi lwe-C++. Uthuthukisa umbono wokukhetha okungahleliwe kokusebenza ngamanani futhi awuhlanganise ngesisekelo sokukhethwa kwenkulumo yokwenziwa, ethola igama elisha - into. Nokho, i-C++ ayifushani futhi icacile njengo-C ngenxa yokugcwala ngokweqile kwezinhlobo ezintsha zeqoqo nemithetho ehambisana nazo. Ngendlela, ake sikhulume "ngokulayisha ngokweqile".

Ukulayisha ngokweqile kanye ne-polymorphism

Igama elithi "ukulayisha ngokweqile" yitemu lokufunda ngomshini eliphelelwe yisikhathi lokudala imisebenzi eminingi.

Umshini (uhlelo) abahleli ubuningi ukusebenza kungase kucasule: “Lusho ukuthini lolu phawu (+): ukwengeza izinombolo, ukwengeza amafrakshini, noma ngisho nokugudluzwa?! Esikhathini sethu abazange babhale kanjalo!” Ngakho-ke incazelo engalungile yegama elikhethiwe ("overkill", "khathele"). Ngomhleli wohlelo lokusebenza, imisebenzi eminingi iyitshe legumbi, impumelelo eyinhloko nefa lolimi C, okungokwemvelo kangangokuthi ngokuvamile akubonwa.

Ngolimi lwe-C++ ubuningi enwetshiwe hhayi kuphela imisebenzi yasekuqaleni, kodwa futhi imisebenzi - kokubili ngabanye futhi kuhlanganiswe zibe amakilasi - izindlela. Ngezindlela eziningi kwafika ikhono lokuzikhipha emakilasini anwetshiwe, okwakubizwa ngokungaqondakali ngokuthi "i-polymorphism." Inhlanganisela ye-polymorphism kanye nokugcwala ngokweqile kukhiqize ingxube eqhumayo eyahlukana yaba ama-polymorphisms amabili: "iqiniso" kanye "ne-ad-hoc." Kungenzeka ukukuqonda lokhu kuphela naphezu kwamagama abelwe. Umgwaqo oya esikhangisweni ugandaywe ngamagama angaphandle.

Isimemezelo sefomu elithi "overload" sivezwa kangcono egameni isimemezelo esengeziwe — ukwengeza isimemezelo somsebenzi wegama elifanayo nezimpikiswano zesithombe esihlukile.

Isimemezelo sefomu elithi "polymorphism" sibizwa kangcono ukumenyezelwa kabusha — isimemezelo esigqagqene kusendlalelo esisha sesandiso somsebenzi wegama elifanayo nezimpikiswano zesithombe esifanayo.

Khona-ke kuyoba lula ukuqonda ukuthi izindlela ezifanayo zezithombe ezahlukene (izingxabano) - kumenyezelwe ngokwengeziwe, kanye nesithombe esisodwa - kumenyezelwe kabusha.

Amagama esiRashiya anquma.

Indlela yokubaleka

Ukucatshangelwa kwemiqondo yezilimi ezingokomfanekiso kuqinisekisa ukubaluleka kwencazelo ecacile yemiqondo eyisisekelo. Njengoba u-C echazwe kahle, ukufunda izilimi ezingokomfanekiso kuzoba lula futhi kujabulise.

Lokhu kubalulekile ikakhulukazi izilimi ezingacacile ezingokomfanekiso (PHP, JavaScript). Kubo, ukubaluleka kwezinto (izithombe eziyinhlanganisela) kuba phezulu kakhulu kunaku-C++, kodwa wona kanye umqondo wesithombe uba sobala futhi ungaqondakali. Ngokombono wokulula, baye baba lula, kodwa ngokombono wokuqonda, baye baba nzima kakhulu.

Ngakho-ke, kufanele uqale ukufunda izilimi zokuhlela ngolimi C futhi uqhubekele phambili ngokulandelana izilimi zomndeni wakwa-C.

Okufanayo kuya ekuchazeni izilimi. Izilimi ezahlukene zinesethi efanayo, noma encane yobulili beyunithi kunolimi C. Inani lezinhlobo namasampuli lingahluka kuzo zombili izinkomba: I-C++ inezinhlobo eziningi kuno-C, kuyilapho i-JavaScript inezimbalwa.

Ulimi lwe-MySQL lufanelwe ukukhulunywa ngokukhethekile. Kubonakala sengathi akukho lutho olufana, kodwa uchazwa ngokuphelele nguMatryoshka, futhi ukumazi kuba ngokushesha futhi kulula. Okubalulekile, uma kubhekwa ukubaluleka kwayo kuwebhu - umgwaqo wokudlela wezinhlelo zesimanje. Futhi lapho kukhona i-MySQL, kukhona amanye ama-SQL. Yebo, zonke izinhlobo ze-Fortran-Pascal-Pythons nazo zichazwe nguMatryoshka, ngokushesha nje lapho zithola izandla.

Ngakho-ke, izinto ezinhle zisilindele - incazelo esetshenzisiwe yolimi C kanye nencazelo ehlanganisiwe yezilimi ezilulandelayo. “Izinjongo zethu zicacile, imisebenzi yethu ichaziwe. Sebenzani, bakwethu! (Kunesaqhwithi, ihlombe elithatha isikhathi eside, liphenduka ihlombe. Wonke umuntu uyasukuma.)

Imibono yakho izolalelwa ngokunaka okukhulu, usizo lwakho ekudaleni iwebhusayithi yodoli abazakhelayo luzotholwa ngokubonga okukhulu. Ulwazi oluthe xaxa mayelana nencwadi likuwebhusayithi, lufihlwe ngobuhlakani kuMatryoshka C.

Source: www.habr.com

Engeza amazwana