Matryoshka C. Inkqubo yolwimi yenkqubo

Makhe sizame ukuba nomfanekiso chemistry ngaphandle Mendeleev kaThixo Periodic Table (1869). Zingaphi izinto ekufuneka zigcinwe engqondweni, kwaye akukho myalelo uthile... (Ngoko - 60.)

Ukwenza oku, cinga nje ngolwimi olunye okanye ezininzi zokucwangcisa ngexesha elinye. Iimvakalelo ezifanayo, isiphithiphithi sokudala esifanayo.

Kwaye ngoku sinokuphinda sihlaziye iimvakalelo zeekhemisti zenkulungwane ye-XNUMX xa banikwa lonke ulwazi lwabo, kunye nangaphezulu, kwi-Periodic Table.

Matryoshka C. Inkqubo yolwimi yenkqubo


Incwadi ethi "Matryoshka C. Inkqubo yoluhlu lwenkqubo yolwimi" ibonisa zonke iiyunithi zolwimi oluthi krwaqu nje. Oku kukuvumela ukuba uzilungelelanise, ulungise ulwazi oluphelelwe lixesha, kunye nokucacisa eyona ngcamango yenkqubo.

Namhlanje, ulwazi lwenkqubo lufuna ukucwangciswa nangaphezulu kunezinto zekhemikhali ezazisenza kwiminyaka eyi-150 eyadlulayo.

Imfuneko yokuqala kukufundisa. UMendeleev waqala ukudala inkqubo yakhe xa ejongene nombuzo wokuba yeyiphi na into angaqala ngayo ukufundisa: O, H, N, Yena, Au ... Kwangaxeshanye, kwaba lula kuye - wafundisa ikhemistri kwabagqwesileyo - abafundi IYunivesithi yaseSt. Kwaye inkqubo sele ifundiswe esikolweni kwaye kungekudala iza kuqala kwi-kindergarten.

Imfuno yesibini yindlela yenzululwazi. Ngoncedo lweThebhile yePeriodic, izinto ezintsha zafunyanwa kwaye ulwazi malunga nezidala zalungiswa. Wanceda ekudaleni imodeli yeathomu (1911). Kwaye nangokunjalo.

Imfuno yesithathu kukucacisa ingcamango yeprogram.

Udweliso lwenkqubo lwangoku lubambe unyawo olunye kwi-50s yenkulungwane yama-XNUMX. Emva koko, iinkqubo zazilula, kodwa oomatshini kunye neelwimi zoomatshini zazinzima, ngoko yonke into yayijikeleza koomatshini kunye neelwimi.

Ngoku yonke into ingenye indlela: iinkqubo zinzima kwaye ziphambili, iilwimi zilula kwaye zisesekondari. Oku kubizwa ngokuba yindlela esetyenziswayo, ebonakala ngathi wonke umntu uyayazi. Kodwa abafundi kunye nabaphuhlisi bayaqhubeka beqiniseka ukuba yonke into iyafana.

Okusibuyisela kwintetho yokuqala yePrivatdozent Mendeleev. Yintoni ukuxelela abatsha? Iphi inyaniso? Lowo ngumbuzo.

Incwadi ethi "Matryoshka C" inika impendulo yalo mbuzo. Inkqubo yoluhlu lwenkqubo yolwimi". Ngaphezu koko, akubhekiselwanga kubafundi kuphela, kodwa kunye nabaprogram abaqeqeshiweyo, kuba kunjalo, oko kukuthi, thina, simele sifune inyaniso kwaye sitshintshe imbono yehlabathi.

Okulandelayo sisishwankathelo sencwadi.

1. Intshayelelo

Ngo-1969, ulwimi lwe-C lwenziwa, olwathi lwaba lulwimi lwenkqubo olusisiseko kwaye luhlala lunjalo iminyaka engama-50. Kutheni kunjalo nje? Okokuqala, kuba uC isicelo ulwimi olunike ucwangciso ubuntu jonga endaweni yoko umatshini. Le mpumelelo ikhuselwe ngeelwimi ezisuka kusapho lukaC: C ++, JavaScript, PHP, Java, C # kunye nabanye. Okwesibini, lulwimi olufutshane kwaye oluhle.

Nangona kunjalo, ulwimi lwe-C ngokwalo luhlala luxutywa kunye ne-assembler yomatshini, ngaloo ndlela lunzima kwaye lugqwetha imbono yalo. Olunye olugabadeleyo kukunyanzeliswa “kwentanda-bulumko” ethile kulwimi: inkqubo, into, ukusebenza, ukuqulunqwa, ukutolika, ukuchwethezwa, njalo njalo. Oku kongeza imvakalelo, kodwa akuncedi ukuchaza ulwimi ngcono.

Inyaniso iphakathi, kwaye ulwimi lwe-C luphakathi ngokungqongqo phakathi kwefilosofi kunye nombono womatshini.

Ulwimi C aluzimele, luthobela ulwimi oluqhelekileyo olubhaliweyo, kwaye kwangaxeshanye lulawula ulwimi lwendibano ngokwalo. Esi sikhundla siyachaza Imodeli yentetho yenkqubo, ngokwendlela inkqubo eyahlulwe ngayo kwiintlobo ezintathu ezingaphantsi: intetho, ikhowudi, umyalelo. Ulwimi C lunoxanduva lwesibini, uhlobo lwekhowudi.

Emva kokumisela indawo yolwimi kwiprogram, unokulungelelanisa ulwazi malunga nalo, okwenza Inkqubo yolwimi yenkqubo, emele ulwimi lwe-C ngomoya wenkqubo ye-periodic - kwiphepha elinye.

Inkqubo yakhiwe kuthathelwa ingqalelo uluntu lweelwimi ezisetyenziswayo, ngenxa yokuthobela kwabo intetho. Isethi enye yeeyunithi zeMatryoshka C ikuvumela ukuba uchaze kwaye uqhathanise iilwimi ezahlukeneyo, udale uluhlu lweMatryoshkas: C ++, PHP, JavaScript, C #, MySQL, Python njalo njalo. Kuyafaneleka kwaye kuchanekile ukuba iilwimi ezahlukeneyo zichazwe ziiyunithi zolwimi olusisiseko.

2. ISAHLUKO 1. Imodeli yentetho yenkqubo. Sula uC

Isahluko sokuqala siyanikezela imodeli yentetho yenkqubo, ebonisa indlela esetyenziswayo. Ngokutsho kwakhe, le nkqubo ineentlobo ezintathu ezicacileyo ezilandelelanayo:

  1. intetho - intetho ethe ngqo yomdwebi wenkqubo exazulula ingxaki,
  2. ikhowudi - ukufaka ikhowudi kwisisombululo kwifom yezibalo kulwimi C (okanye nayiphi na enye)
  3. kunye nomyalelo - imiyalelo yomatshini ngqo.

Imodeli yentetho ichaza ukuba kutheni uC elulwimi olulula noluqondakalayo. I-Xi yakhiwe ngokomfanekiso kunye nokufana nentetho yomntu eyaziwayo kuthi.

Uhlobo lokuqala lwenkqubo yintetho ethe ngqo yomdwelisi wenkqubo. Intetho ihambelana nokucinga komntu. Abaprogram abaqalayo babhala iinkqubo besebenzisa intetho - okokuqala ngesiRashiya, ngoko inyathelo ngesinyathelo ukuguqulela izenzo kwikhowudi yolwimi. Kwaye ngokuchanekileyo kule modeli apho ulwimi C lwenziwa.

Izigqibo zomdwelisi, ezichazwe kwintetho, ziguqulwa zibe yikhowudi yamanani. Le nguqu kufuneka ibizwe ukucinga, ekubeni intetho kunye nekhowudi zinesimo esifanayo (ukubonakalisa - ukuzalwa - isini). Oku kucacile ukuba sithelekisa intetho (ngasekhohlo) kunye nekhowudi (ngasekunene) iintlobo zenkqubo.

Matryoshka C. Inkqubo yolwimi yenkqubo

Kuyathakazelisa ukuba ukucamngca kwenzeka ngokulula- ngeentlobo ezimbini kuphela zamabinzana.

Nangona kunjalo, inkcazo yanamhlanje yolwimi lwe-C (ukususela ku-1978) ayiqulathanga uluhlu olwaneleyo lwamagama mhlawumbi ukuchaza ulwimi ngokubanzi, okanye ngokukodwa umsebenzi wokubonisa. Ke ngoko, siyanyanzeleka ukuba siyile kwaye sazise la magama.

Ukukhethwa kwamagama kufuneka kuchaneke kwaye kucace. Oku kufuna indlela ekhethekileyo, echazwe ngokufutshane ngolu hlobo: ukusetyenziswa ngokungqongqo kolwimi lwenkobe. KumaNgesi ibiya kuba sisiNgesi, kodwa asisiNgesi. Ngoko siya kusebenzisa oko sinako kwaye sizame ukuthetha isiRashiya.

Ukucamngca kwenziwa zintlobo ezimbini zamabinzana:

  1. ubalo (HF) - ibonisa utshintsho kwiipropati zento. Ipropati yento ibonakaliswa ngenani, ngoko isenzo kwipropati sisenzo kwinani - umsebenzi.
  2. ukuzithoba (Pch) - ibonisa utshintsho kumyalelo wezenzo. Iprototype ye-Pch sisivakalisi esintsonkothileyo sentetho, ngoko ke uninzi lweendidi zePch ziqala ngokuhlanganisa izihlanganisi "ukuba", "kungenjalo", "ngelixa", "for". Ezinye iintlobo zeePC ziyancedisana nazo.

Ngendlela, ngaba unokukholelwa ukuba kwinkcazo yeC akukho gama leentetho zokubala - zibizwa nje ngokuba "iintetho"? Emva koko, akusayi kuphinda kusimangalise ukuba akukho gama kunye nombutho wohlobo lokuthotyelwa, kwaye ngokwenene ukungabikho kwamagama, iinkcazo kunye nokudibanisa ngokubanzi. Oku kungenxa yokuba i-K/R eyaziwayo (“Ulwimi lwe-C”, i-Kernighan/Ritchie, 1978) ayiyonkcazelo, kodwa isikhokelo sokusebenzisa ulwimi.

Nangona kunjalo, ndingathanda ukufumana inkcazo yolwimi. Ngoko ke unikelwa Inkqubo yolwimi yenkqubo.

3. ISAHLUKO 2. Inkqubo yomaleko. Isishwankathelo C

Nayiphi na inkcazo kufuneka ichaneke kwaye icace ngokugqithisileyo. Kwimeko yolwimi lweprogram, inkcazo yangaphambili inzima.

Apha sinenkqubo. Iqukethe iimodyuli. Iimodyuli zibandakanya ii-subroutines kunye nokuqokelela (isakhiwo). Ii-subroutines zibandakanya ukubonakaliswa komntu ngamnye: izibhengezo, izibalo, ukuzithoba. Zininzi kangangoko iintlobo ezilishumi zokuthotyelwa. I-Subordination idibanisa amanqanaba angaphantsi kunye nee-subroutines. Kukho neentengiso ezininzi. Nangona kunjalo, izibhengezo zibandakanyiwe kuphela kwii-subroutines kunye ne-sublevels, kodwa nakwiimodyuli kunye nokuqokelela. Yaye uninzi lwamabinzana aquka amagama ekunzima ukuwachaza kangangokuba adla ngokunikwa kuluhlu olubini—amagama antlandlolo namagama athatyathiweyo, oya kuqhelana nawo ebudeni bokufunda nokusetyenziswa kolwimi. Makhe songeze iziphumlisi kunye nenani lezinye iintetho kule nto.

Kwintetho enjalo, akukho lula ukuqonda ukuba ngubani owayemi phezu kwakhe.

Indlela ethe ngqo yoluhlu lwemigangatho yokuchaza ulwimi inokuba nzima kakhulu. Uphendlo olujikelezayo lukhokelela kwinkcazo yolwimi olusekwe kubume bentetho yalo nakwicala lomyalelo. Ngaloo ndlela, iNkqubo yeLayer yazalwa, ngokuyinxenye ihambelana neNkqubo yePeriodic yeMendeleev, nayo ply. Njengoko kwavela iminyaka engama-42 emva kokupapashwa kwayo (1869), ixesha lenkqubo linxulunyaniswa ne-elektroniki. iileya (1911, imodeli ye-athomu yaseBohr-Rutherford). Kwakhona, iinkqubo zeLayered kunye nePeriodic ziyafana kulungiselelo lwetheyibhile yazo zonke iiyunithi kwiphepha elinye.

Inkcazo yeeyunithi zolwimi imfutshane - kuphela iindidi ezili-10 zamabinzana kunye neentlobo ezi-8 zezinye iiyunithi, kunye nentsingiselo kunye nezibonwayo. Nangona ingaqhelekanga kumntu wokuqala owazanayo.

Iiyunithi zolwimi zahlulwe ngokwamanqanaba ama-6:

  1. iiyunithi - imiqolo yetafile
  2. amasebe - amaqela akhethekileyo genera (iinxalenye zomgca wokuqala)
  3. genus - iiseli (inqanaba eliphambili lolwahlulo)
  4. superspecies - izahluli zeentlobo (inqanaba elinqabileyo)
  5. iindidi - iifomyula zeyunithi ezantsi kweseli okanye ngokwahlukeneyo
  6. iipateni - iiyunithi ngokwazo (zamagama kuphela)

Imizekelo yamagama iyachaza isigama - inkqubo esezantsi esecaleni eyenziwe ngamanqanaba amathandathu afanayo.

Icandelo lentetho lolwimi C licacile, nangona lisafanele ukuchazwa. Kodwa inxalenye yomyalelo yolwimi ihambelana ngokuchanekileyo nokulawulwa kokuhlanganiswa, ngexesha apho uhlobo lwesithathu lwenkqubo lwenziwe - umyalelo. Apha sifika kowona mba unomdla wolwimi lwe-C: ubuhle.

4. IZIQULATHO EZILANDELAYO. Umhle Si

Ulwimi C lusisiseko senkqubo yanamhlanje. Ngoba? Okokuqala, ngenxa yeyona mbalelwano inkulu kwintetho. Okwesibini, kuba igqithile kakuhle imida yokusetyenzwa kwenombolo yomatshini.

Yintoni kanye kanye uXi acebise ngayo? Umfanekiso kunye nomaleko.

Igama elithi "umfanekiso" yinguqulelo yegama lesiNgesi elithi "uhlobo", elivela kwisiGrike "prototype" - "uhlobo". Ngolwimi lwesiRashiya, igama elithi "uhlobo" alidlulisi ilitye lembombo le ngcamango echazwe, ngaphezu koko, ibhidaniswe nentsingiselo encedisayo "uhlobo".

Ekuqaleni, umfanekiso wasombulula ingxaki yokubala komatshini, kwaye emva koko waba yindlela yokuzalwa kweelwimi zento.

Umaleko ngokukhawuleza wasombulula iingxaki ezininzi - zombini umatshini kunye nesicelo. Ngoko ke, ukuqwalaselwa kuya kuqala ngomfanekiso womsebenzi omnye kwaye uqhubele phambili kwi-multi-task layer.

Enye yeempawu ezingathandekiyo zenkqubo yembali kukuba uninzi lweekhonsepthi, kubandakanywa nezisisiseko, zinikwa ngaphandle kweenkcazo. “Ulwimi lwenkqubo (igama lemilambo) lunamanani apheleleyo kunye namanani adadayo...” kwaye bakrwempa ngakumbi. Akuyimfuneko ukuchaza ukuba yintoni "uhlobo" (umfanekiso), kuba ababhali ngokwabo abayiqondi ngokupheleleyo le nto kwaye baya kuyithulisa "ngenxa yokucaca." Ukuba zikhonkxwe eludongeni, ziya kunika inkcazo engacacanga kwaye engenamsebenzi. Kunceda kakhulu ukufihla emva kwamagama angaphandle: kubabhali baseRashiya - ngasemva kwesiNgesi (uhlobo), kumaNgesi - emva kwesiFrentshi (subroutine), isiGrike (i-polymorphism), isiLatini (encapsulation) okanye ukudibanisa kwabo (i-ad-hoc polymorphism).

Kodwa oku akusiyo ikamva lethu. Ukhetho lwethu luchazwa nge-visor ephakanyisiweyo kwisiRashiya esicocekileyo.

Umfanekiso

Umfanekiso ligama lesandulela sobungakanani, sichaza 1) iimpawu zengaphakathi zobungakanani kunye 2) nokukhethwa kwemisebenzi yobungakanani.

Igama elithi "uhlobo" (uhlobo) lihambelana nenxalenye yokuqala yenkcazo: "iimpawu zangaphakathi zobuninzi." Kodwa intsingiselo ephambili yomfanekiso ikwicandelo lesibini: “ukukhethwa kokusebenza ngokwezixa.”

Indawo yokuqala yokwazisa umfanekiso kwi-C lubalo oluqhelekileyo, njengomsebenzi wokudibanisa.

Iphepha IMathematika, nokuba ibhalwe ngesandla okanye ishicilelwe, ayenzi mahluko ungako phakathi kweentlobo zamanani, ngokuqhelekileyo kucingelwa ukuba awokwenene. Ngoko ke, imisebenzi yabo yokucubungula icacile.

Umatshini IMathematika yohlula-hlula amanani ngokwee-integer kunye namaqhezu. Iindidi ezahlukeneyo zamanani zigcinwa ngokwahlukileyo kwimemori kwaye zicutshungulwa yimiyalelo eyahlukeneyo yeprosesa. Umzekelo, imiyalelo yokongeza ii-integers kunye namaqhezu yimiyalelo emibini eyahlukeneyo ehambelana neendawo ezimbini ezahlukeneyo zeprosesa. Kodwa akukho myalelo wokudibanisa inani elipheleleyo kunye neengxoxo zeqhezu.

Isetyenziswa imathematika, oko kukuthi, ulwimi C, lwahlula iindidi zamanani, kodwa ludibanisa imisebenzi: ukudibanisa kwee-integers kunye/okanye amaqhezu abhalwa ngophawu lwesenzo olunye.

Inkcazo ecacileyo yomfanekiso wengqikelelo ivumela ukuba sithethe ngokuqinisekileyo ngezinye iikhonsepthi ezimbini: ixabiso и ukusebenza.

Ubukhulu kunye nokusebenza

Ixabiso - inani liyaqwalaselwa.

Ukusebenza - Ukusetyenzwa kwamaxabiso amaxabiso okuqala (iingxoxo) ukufumana inani lokugqibela (lilonke).

Ubukhulu kunye nokusebenza zihambelana. Umsebenzi ngamnye ngumthamo kuba unesiphumo samanani. Kwaye ixabiso ngalinye liyisiphumo sokudlulisa ixabiso kwirejista yeprosesa, oko kukuthi, umphumo wokusebenza. Ngaphandle kolu lwalamano, eyona nto iphambili kukuba kunokwenzeka ukuba inkcazo yabo eyahlukileyo, nangona ukuphindaphinda kwegama elinye kumacandelo ahlukeneyo kwisichazi-magama, okwenzekayo kwi-MA3.

Indlela yomatshini yahlula onke amanani asetyenziswa ngumdwelisi imiyalelo и idatha. Ngaphambili, bobabini babe ngamanani, umzekelo, imiyalelo yabhalwa kwiikhowudi zamanani. Noko ke, kwiilwimi ezisetyenziswayo, imiyalelo yayeka ukuba ngamanani yaye yaba amagama и iimpawu zesenzo. Kuphela "idatha" ehlala njengamanani, kodwa kungenangqondo ukuqhubeka ubabiza ngaloo ndlela, kuba ekutshintsheni ukusuka kumatshini ukuya kwindawo yokujonga imathematika, amanani ahlukaniswe ngowokuqala (idatha) kwaye okokugqibela (efunekayo). "I-datum engaziwayo" iya kuvakala ibubudenge.

Amaqela aye ahlulwa abe ziindidi ezimbini zezenzo: imathematika kunye nenkonzo. Iintshukumo zemathematika - imisebenzi. Siza kufika kwizinto ezisemthethweni kamva.

Kwiilwimi ze-C, iphepha eliqhelekileyo kunye nomatshini ocacileyo, okanye omnye, imisebenzi yemathematika phantse ibe yinto eninzi.

Imisebenzi emininzi yimisebenzi emininzi yegama elifanayo kunye neentlobo ezahlukeneyo zeengxoxo kunye nezahlukeneyo, ezifanayo ngentsingiselo, izenzo.

Iingxoxo ezipheleleyo zihambelana nomsebenzi uphela, kwaye iingxoxo zeqhezu zihambelana nokusebenza kweqhezu. Lo mahluko ucace ngakumbi ngexesha lokusebenza kolwahlulo, xa ibinzana elithi 1/2 linika i-0, hayi i-0,5. Olu phawu aluhambelani nemigaqo yezibalo zephepha, kodwa ulwimi C aluzami ukuthobela (ngokungafaniyo neFortran) - ludlala ngokwalo. isicelo imithetho.

Kwimeko yokuxuba ii-integers kunye namaqhezu, ekuphela kwayo echanekileyo ibandakanyiwe ukuphosa amaxabiso engxabano — uguqulo olukhethiweyo lwexabiso ukusuka komnye umfanekiso ukuya komnye. Enyanisweni, xa udibanisa inani elipheleleyo kunye nenani le-fractional, isiphumo siyingxenye, ngoko umfanekiso womsebenzi ucholo umsebenzi wokuguqula iingxoxo ezipheleleyo ukuya kwixabiso eliqhekekileyo.

Inani lemisebenzi eseleyo isininzi, kwaye ongatshatanga. Imisebenzi enjalo ichazwa kuphela kudidi olunye lweengxoxo: intsalela yolwahlulo - iingxoxo ezipheleleyo, ukupakisha (ukusebenza kancinci) - amanani endalo. I-Ma3 ibonisa ubuninzi bemisebenzi kunye neempawu (# ^) ezibonisa imifanekiso apho umsebenzi uchazwe khona. Le yipropathi ebalulekileyo kodwa ebingahoywanga ngaphambili kuyo yonke imisebenzi.

Yonke imisebenzi yimisebenzi yeyunithi engenamkhethe. Icala ngabaqhubi - imisebenzi engeyiyo yesibiyeli, eyakhelwe kulwimi (imisebenzi yokuqala).

Uncedo

Uncedo - isenzo esikhapha umsebenzi.

Ukuba siqwalasela ukusebenza njengesenzo esiphambili, ngoko siyakwazi ukwahlula ezimbini ezihambayo ezibonelela ngokusebenza kwaye zihluke kuyo. Ezi zi-1) ulawulo oluguquguqukayo kunye ne-2) ukuzithoba. Esi senzo sibizwa ngokuba uncedo.

Apha kufuneka sidideke kwaye sithethe ngokwahlukileyo malunga neenguqulelo zesiRashiya zeencwadi zeprogram. Igama elitsha laziswa kumbhalo we K/R ukurekhoda iintshukumo mazwi (inkcazo), eyazama ukwahlula iingqiqo zomyalelo womatshini kwizenzo ezahlukeneyo: 1) ukusebenza, 2) isibhengezo, kunye ne-3) ukuthobela (okuthiwa "ulawulo lwakha"). Lo mzamo wangcwatywa ngabaguquleli baseRashiya, besusa "intetho" kunye negama elithi "opharetha", elithi:

  1. iye yafana negama lomatshini elithi "umyalelo",
  2. kwavela isithethantonye nebinzana elithi “uphawu lwesenzo”,
  3. kwaye kwakhona ifumene inani elingenamkhawulo lamaxabiso ongezelelweyo. Oko kukuthi, iguqulwe ibe yinto efanayo neyesiNgesi "Ihhhhhhhhhhhhhhhh" yeHershhhh "

Qwalasela izenzo ezihamba nazo, okanye uncedo.

Ulawulo oluguquguqukayo

Ulawulo oluguquguqukayo (UP) - ukudala / ukucima iiseli eziguquguqukayo.
I-UE yenzeka ngokungafihlisiyo xa ibhengeza ukuguquguquka, esele ibhaliwe ngesinye isizathu - ukubonisa umfanekiso wexabiso. Inye kuphela imbono elawulwa ngokucacileyo ezahlukeneyo ezongezelelweyo usebenzisa i malloc () kwaye free () imisebenzi.

Kufuneka kuqatshelwe ukuba izenzo ezicacileyo zilungele ngakumbi ukubhala, kuba azifuni ukubhala nantoni na, kodwa kunzima ukuyiqonda - kunzima ukuyiqwalasela kunye nokutolika.

Ukuzithoba

Ukuzithoba — qhagamshela/vala amacandelo umaleko.

Ulwimi C lunikeze indlela esetyenziswayo yokulawula ukulandelelana kwezenzo, eyahlukileyo kwi-assembler - subordination. Ibonisa kwaye iphuhlise isivakalisi esintsonkothileyo sentetho kunye nokwahlulahlula okucacileyo kwinxalenye ephambili (igatya lokuthobela) kunye nenxalenye engaphantsi (amacandelo amancinci/angaphantsi).

Zombini isibhengezo kunye nokungeniswa kwakhelwe ngokupheleleyo kwingqikelelo Uluhlu.

Ubeko

Ubeko linqanaba elinye eliqingqiweyo leqela elikhethiweyo lentetho.

Umaleko ngokucacileyo kwaye ngokufihlakeleyo uthathe imisebenzi emininzi ngexesha elinye:

  1. ukulungelelanisa inkqubo
  2. ukunciphisa ukubonakala kwamagama (ngokucacileyo),
  3. Ulawulo lwezinto eziguquguqukayo (iiseli zememori) (ezicacileyo),
  4. Inkcazo yamagatya angaphantsi ukuthotyelwa,
  5. iinkcazo zemisebenzi kunye nokhetho kunye nabanye.

Kwakungekho ngqikelelo yomaleko kwiilwimi zoomatshini, ngoko ke ayizange ivele kwi-K/R, kwaye ukuba kukho into eyayingekho, ukuyingenisa kwiincwadi ezilandelayo yayiza kuba luqhekeko kunye nokucinga ngokukhululekileyo. Ngoko ke, ingcamango yomaleko ayizange ibonakale kwaphela, nangona iluncedo kakhulu kwaye icacile.

Ngaphandle koluhlu, akunakwenzeka ukucacisa ngokufutshane nangokucacileyo ezininzi izenzo kunye nemithetho yeprogram. Umzekelo, kutheni i-goto ilula njenge-kopecks ezintathu ezimbi, kwaye inkohliso ngelixa ilungile. Ungafunga ngokungenakunceda, njengokuba wenzayo uDijkstra (“ubuchule babenzi benkqubo ngumsebenzi oxhomekeke ngokuchaseneyo kuphindaphindo lokuvela kweengxelo zegoto kwiinkqubo zabo.” Ngokufutshane, ziibhokhwe kuphela ezisebenzisa igoto. Inqanaba lokugwetyelwa nguThixo.) Enyanisweni, oku akusoyiki kangako ukuba iincwadi zakho Akufuneki sichaze nantoni na, kodwa, njengoko sele sitshilo, oku akusiyo ikamva lethu.

Ngendlela, kunokucingelwa ukuba uDan Ritchie ushiye i-goto ngokuchanekileyo njengesitshixo sokukhangela ingcamango engachazwanga ngagama, kuba bekungekho mfuneko okanye buhle kwintetho ethi goto. Kodwa kwakukho imfuneko yengcaciso elula neqondakalayo yemigaqo emitsha yolwimi, leyo uRichie akazange afune ukuyinika, kwaye esekelwe ngokuchanekileyo kwingcamango. Uluhlu.

Ukuphambuka

Ukuphambuka — ukutshintsha iimpawu zesiqhelo zegama elitsha.

Ukuphambuka okubaluleke kakhulu kuhambelana ngokuchanekileyo kunye neempawu zomaleko weprogram, kwaye ichazwa ngegama elinye elithi "static", elinentsingiselo eyahlukileyo kuhlobo ngalunye lomaleko.

5. ISAHLUKO SOKUGQIBELA. Ukuqheleka kweelwimi ezisetyenziswayo

Iilwimi ezisetyenziswayo zi ngokomfuziselo iilwimi (ezinomfanekiso, "ochwetheziweyo"). Zisekelwe ekusetyenzisweni okucacileyo okanye okufihlakeleyo komfanekiso. Ngaphezu koko, apha kwakhona ukuphikisana kubonakala: umfanekiso ocacileyo uyaqondakala ngakumbi, kodwa ungaphantsi, kwaye ngokuphambene noko.

Matryoshka C. Inkqubo yolwimi yenkqubo

(Uyilo lwetafile alukahanjiswa, ngoko itheyibhile iboniswa ngomfanekiso.)

Emva kweC, ukuphuhliswa kweelwimi ezisetyenzisiweyo kuthathe indlela yokwandisa umzekeliso wabo. Eyona nto ibalulekileyo ekuqondeni imifanekiso ephezulu yinzala ngqo ka-C - ulwimi lwe-C++. Uphuhlisa umbono wokhetho olungenamkhethe lwemisebenzi yobungakanani kwaye uyifake kwisiseko sokhetho lwentetho yokwenziwa, efumana igama elitsha - into. Nangona kunjalo, i-C ++ ayifutshane kwaye ibonakalisa njenge-C ngenxa yokugqithiswa kweentlobo ezintsha zokuqokelela kunye nemithetho ehambelana nayo. Hi ndlela leyi, makhe sithethe "ngomthwalo ogqithisileyo".

Ukulayisha ngaphezulu kunye nepolymorphism

Igama elithi "umthwalo ogqithisileyo" ligama eliphelelwe lixesha lokufunda ngoomatshini lokudala imisebenzi emininzi.

Oomatshini (inkqubo) abaprogram Ubuninzi Ukusebenza kusenokucaphukisa: “Uthetha ukuthini olu phawu (+): ukudibanisa amanani apheleleyo, ukudibanisa amanani amaqhezu, okanye nokushenxiswa?! Ngexesha lethu abazange babhale ngolo hlobo!” Ngoko ke intsingiselo engafanelekanga yegama elikhethiweyo ("overkill", "dired"). Kumdwelisi wesicelo, imisebenzi emininzi isisiseko, impumelelo ephambili kunye nelifa lolwimi lwe-C, ngokwendalo kangangokuba aziqatshelwa.

Ngolwimi lwe-C++ Ubuninzi yandiswe kungekuphela kwimisebenzi yokuqala, kodwa nakwimisebenzi - zombini umntu kwaye idityaniswe kwiiklasi - iindlela. Ngeendlela ezininzi zeza ukukwazi ukuzigqithisa kwiiklasi ezandisiweyo, ezazibizwa ngokuba yi "polymorphism." Ukudityaniswa kwepolymorphism kunye nokugcwala kakhulu kuvelise umxube oqhumayo owahlulahlulwe waba ziipolymorphisms ezimbini: "yinyani" kunye "ne-ad-hoc." Kunokwenzeka ukukuqonda oku kuphela nangona unikwe amagama. Indlela eya kwintengiso igalelwe amagama asemzini.

Isibhengezo sefom "umthwalo ogqithisiweyo" uvakaliswa ngcono kwigama isaziso esongezelelweyo — ukongeza isibhengezo somsebenzi wegama elifanayo ngeengxoxo zomfanekiso owahlukileyo.

Isibhengezo sefom "polymorphism" ibizwa ngokuba ngcono isaziso kwakhona - isibhengezo esigqitheneyo kuluhlu olutsha olongezelelweyo lomsebenzi wegama elifanayo kunye neengxoxo zomfanekiso ofanayo.

Emva koko kuya kuba lula ukuqonda ukuba iindlela ezifanayo zemifanekiso eyahlukeneyo (iingxabano) - ibhengezwe ngakumbi, kunye nomfanekiso omnye - iphinde yaziswa.

Amagama esiRashiya athatha isigqibo.

Indlela yokubaleka

Ukuqwalaselwa kweekhonsepthi zezafobe eziphezulu zeelwimi kuqinisekisa ukubaluleka kwengcaciso ecacileyo yeengqikelelo ezisisiseko. Ngokuchazwa ngokuchanekileyo uC, ukufunda iilwimi ezinomfanekiso ophezulu kuya kuba lula kwaye kube mnandi.

Oku kubaluleke ngakumbi kwi iilwimi zezafobe ezifihlakeleyo (PHP, JavaScript). Kubo, ukubaluleka kwezinto (imifanekiso edibeneyo) iba phezulu ngakumbi kune-C ++, kodwa ingcamango yomfanekiso iba yinto ecacileyo kwaye ayinakwenzeka. Ukususela kumbono wokulungelelaniswa, baye baba lula, kodwa ukusuka kwinqanaba lokuqonda, baye baba nzima ngakumbi.

Ke ngoko, kuya kufuneka uqale ukufunda iilwimi zenkqubo ngolwimi lweC kwaye uqhubele phambili ngokulandelelana kweelwimi zosapho lukaC.

Kukwanjalo nasekuchazeni iilwimi. Iilwimi ezahlukeneyo zineseti efanayo, okanye encinci, yeeyunithi zesini kunolwimi C. Inani leentlobo kunye neesampuli zinokwahluka kumacala omabini: I-C++ ineentlobo ezininzi kune-C, ngelixa iJavaScript inembalwa.

Ulwimi lweMySQL lufanelwe ukukhankanywa ngokukodwa. Kubonakala ngathi akukho nto ifanayo, kodwa uchazwa ngokugqibeleleyo nguMatryoshka, kwaye ukumazi kuba ngokukhawuleza kwaye kulula. Eyona nto ibalulekileyo, inikwe ukubaluleka kwayo kwiwebhu - indlela yokutya yeprogram yanamhlanje. Kwaye apho kukho i-MySQL, kukho ezinye ii-SQL. Ewe, zonke iintlobo zeFortran-Pascal-Pythons nazo zichazwe nguMatryoshka, ngokukhawuleza ukuba zifumana izandla.

Ke, izinto ezinkulu zisilindele - inkcazo esetyenzisiweyo yolwimi lweC kunye nenkcazo edibeneyo yeelwimi ezilandela. “Iinjongo zethu zicacile, imisebenzi yethu ichaziwe. Hambani emsebenzini, maqabane! (Kwaqhwatywa isaqhwithi, kwaqhwatywa ixesha elide, kwajika kwatsho ihlombe. Wonke umntu uyaphakama.)

Izimvo zakho ziya kuphulaphulwa ngononophelo olukhulu, uncedo lwakho ekudaleni iwebhusayithi yoonodoli bendlwana iya kumkelwa ngombulelo omkhulu. Ulwazi olupheleleyo malunga nencwadi lukwiwebhusayithi, efihliweyo ngobuchule eMatryoshka C.

umthombo: www.habr.com

Yongeza izimvo