Matryoshka C. Mfumo wa lugha ya programu ya tabaka

Hebu jaribu kufikiria kemia bila Jedwali la Periodic la Mendeleev (1869). Ni vipengele vingapi vilipaswa kuwekwa akilini, na bila mpangilio maalum... (Kisha - 60.)

Ili kufanya hivyo, fikiria tu juu ya lugha moja au kadhaa za programu mara moja. Hisia sawa, machafuko sawa ya ubunifu.

Na sasa tunaweza kurejesha hisia za wanakemia wa karne ya XNUMX walipopewa ujuzi wao wote, na kidogo zaidi, katika Jedwali moja la Periodic.

Matryoshka C. Mfumo wa lugha ya programu ya tabaka


Kitabu "Matryoshka C. Mfumo wa lugha ya programu" huwasilisha vitengo vyote vya lugha C kwa mtazamo. Hii hukuruhusu kuzipanga, kusahihisha habari zilizopitwa na wakati, na hata kufafanua wazo la programu.

Leo, habari za programu zinahitaji kuratibiwa hata zaidi ya vipengele vya kemikali vilivyofanya miaka 150 iliyopita.

Sharti la kwanza ni kufundisha. Mendeleev alianza kuunda mfumo wake alipokabiliana na swali la ni kipengele gani cha kuanza kufundisha na: O, H, N, He, Au... Wakati huo huo, ilikuwa rahisi kwake - alifundisha kemia kwa wanafunzi bora zaidi. Chuo Kikuu cha St. Programu tayari inafundishwa shuleni na hivi karibuni itaanza katika shule ya chekechea.

Hitaji la pili ni mbinu ya kisayansi. Kwa msaada wa Jedwali la Kipindi, vipengele vipya viligunduliwa na habari kuhusu za zamani zilirekebishwa. Alisaidia kuunda mfano wa atomi (1911). Nakadhalika.

Hitaji la tatu ni kufafanua dhana ya programu.

Programu ya kisasa ina mguu mmoja uliokwama katika miaka ya 50 ya karne ya XNUMX. Hapo zamani, programu zilikuwa rahisi, lakini mashine na lugha za mashine zilikuwa ngumu, kwa hivyo kila kitu kilizunguka mashine na lugha.

Sasa kila kitu ni kinyume chake: programu ni ngumu na za msingi, lugha ni rahisi na sekondari. Hii inaitwa mbinu iliyotumika, ambayo kila mtu anaonekana kuifahamu. Lakini wanafunzi na watengenezaji wanaendelea kuwa na hakika kwamba kila kitu ni sawa.

Ambayo inaturudisha kwenye hotuba ya kwanza ya Privatdozent Mendeleev. Nini cha kuwaambia wanafunzi wapya? Ukweli uko wapi? Hilo ndilo swali.

Kitabu "Matryoshka C" kinatoa jibu lake kwa swali hili. Mfumo wa safu ya lugha ya programu". Zaidi ya hayo, inashughulikiwa sio tu kwa wanafunzi, bali pia kwa watengeneza programu waliofunzwa, kwa kuwa ni wao, yaani, sisi, ambao tunapaswa kutafuta ukweli na kubadilisha mtazamo wa ulimwengu.

Ufuatao ni mukhtasari wa kitabu.

1. Utangulizi

Mnamo 1969, lugha ya C iliundwa, ambayo ikawa lugha kuu ya programu na imebaki hivyo kwa miaka 50. Kwa nini iko hivi? Kwanza kabisa, kwa sababu C ni kutumika lugha ambayo ilitoa programu kibinadamu tazama badala yake mashine. Mafanikio haya yalilindwa na lugha kutoka kwa familia ya C: C++, JavaScript, PHP, Java, C# na zingine. Pili, ni lugha fupi na nzuri.

Walakini, lugha ya C yenyewe kawaida huchanganywa na kiunganishi cha mashine, na hivyo kutatiza na kupotosha mtazamo wake. Nyingine kali ni uwekaji wa "falsafa" fulani kwenye lugha: utaratibu, kitu, kazi, iliyokusanywa, kufasiriwa, kuchapwa, na kadhalika. Hii inaongeza hisia, lakini haisaidii kuelezea lugha vizuri zaidi.

Ukweli uko katikati, na kwa lugha ya C iko katikati kabisa kati ya mtazamo wa kifalsafa na mashine.

Lugha ya C haijitegemei, inatii lugha ya kawaida iliyoandikwa, na wakati huo huo inadhibiti lugha ya mkusanyiko yenyewe. Msimamo huu unaelezea Mfano wa hotuba ya programu, kulingana na ambayo programu imegawanywa katika aina tatu za chini: hotuba, kanuni, amri. Lugha C inawajibika kwa aina ya msimbo ya pili.

Baada ya kuamua mahali pa lugha katika programu, unaweza kupanga habari juu yake, ambayo hufanya Mfumo wa lugha ya programu ya tabaka, inayowakilisha lugha ya C katika roho ya mfumo wa mara kwa mara - kwenye ukurasa mmoja.

Mfumo umejengwa kwa kuzingatia jamii za lugha zinazotumika, kutokana na utii wao wa hotuba. Seti moja ya vitengo vya Matryoshka C inakuwezesha kuelezea na kulinganisha lugha tofauti, kuunda mfululizo wa Matryoshkas: C ++, PHP, JavaScript, C #, MySQL, Python na kadhalika. Inastahili na sahihi kwamba lugha tofauti zinaelezewa na vitengo vya lugha ya msingi.

2. SURA YA 1. Mfano wa hotuba ya programu. Wazi C

Sura ya kwanza inatoa mfano wa hotuba ya programu, inayoakisi mbinu iliyotumika. Kulingana na yeye, mpango huo una aina tatu za mlolongo dhahiri:

  1. hotuba - hotuba ya moja kwa moja ya programu kutatua tatizo,
  2. coded - kusimba suluhisho katika fomu ya hisabati katika lugha C (au nyingine yoyote)
  3. na amri - amri za mashine moja kwa moja.

Kielelezo cha usemi kinaeleza kwa nini C ni lugha rahisi na inayoeleweka. Xi amejengwa kwa taswira na mfano wa usemi wa binadamu unaofahamika kwetu.

Aina ya kwanza ya programu ni hotuba ya moja kwa moja ya programu. Hotuba inalingana na mawazo ya mwanadamu. Waandaaji wa programu wanaoanza huandika programu kwa kutumia hotuba - kwanza kwa Kirusi, kisha hatua kwa hatua kutafsiri vitendo katika lugha ya kificho. Na ni kwa mfano huu ambapo lugha ya C iliundwa.

Hitimisho la msanidi programu, lililoonyeshwa kwa hotuba, hubadilishwa kuwa fomu ya nambari iliyosimbwa. Mabadiliko haya yanapaswa kuitwa kutafakari, kwa kuwa hotuba na kanuni zina asili sawa (tafakari - kuzaliwa - jinsia). Hii ni dhahiri kabisa ikiwa tunalinganisha hotuba (upande wa kushoto) na msimbo (upande wa kulia) aina za programu.

Matryoshka C. Mfumo wa lugha ya programu ya tabaka

Inashangaza kwamba tafakari hutokea kwa urahisi sana - na aina mbili tu za misemo.

Walakini, maelezo ya kisasa ya lugha C (kutoka 1978) hayana orodha ya kutosha ya majina ama kuelezea lugha kwa ujumla, au kwa kazi ya kutafakari haswa. Kwa hiyo, tunalazimika kupata ubunifu na kuanzisha majina haya.

Uchaguzi wa maneno lazima uwe sahihi na wazi. Hii ilihitaji mbinu maalum, iliyoonyeshwa kwa ufupi kama ifuatavyo: matumizi madhubuti ya lugha ya asili. Kwa Kiingereza ingekuwa Kiingereza, lakini sisi sio Waingereza. Kwa hiyo tutatumia kile tulicho nacho na kujaribu kuzungumza Kirusi.

Tafakari hufanywa na aina mbili za misemo:

  1. hesabu (HF) - huonyesha mabadiliko katika mali ya kitu. Mali ya kitu inaonyeshwa na nambari, basi kitendo kwenye mali ni kitendo kwenye nambari - operesheni.
  2. utiisho (Pch) - huonyesha mabadiliko katika utaratibu wa vitendo. Mfano wa Pch ni sentensi changamano ya usemi, kwa hivyo aina nyingi za Pch huanza kwa viunganishi vidogo "ikiwa", "vinginevyo", "wakati", "kwa". Aina zingine za Kompyuta zinawasaidia.

Kwa njia, unaweza kuamini kuwa katika maelezo ya C hakuna jina la misemo ya hesabu - huitwa "maneno" tu? Baada ya haya, haitashangaza tena kuwa hakuna jina na ushirika kwa aina ya utii, na kwa kweli uchache wa majina, ufafanuzi na jumla kwa ujumla. Hii ni kwa sababu K/R maarufu (β€œLugha ya C”, Kernighan/Ritchie, 1978) si maelezo, bali ni mwongozo wa kutumia lugha.

Hata hivyo, bado ningependa kuwa na maelezo ya lugha. Kwa hiyo anatolewa Mfumo wa lugha ya programu ya tabaka.

3. SURA YA 2. Mfumo wa tabaka. Muhtasari C

Maelezo yoyote lazima yawe sahihi na mafupi sana. Katika kesi ya lugha ya programu, maelezo ya mbele ni magumu.

Hapa tunayo programu. Inajumuisha moduli. Modules zinajumuisha subroutines na makusanyo (muundo). Subroutines zinajumuisha misemo ya mtu binafsi: matamko, mahesabu, utii. Kuna aina nyingi kama kumi za utii. Uwasilishaji huunganisha viwango vidogo na subroutines. Pia kuna matangazo kadhaa. Hata hivyo, matamko yanajumuishwa sio tu katika subroutines na sublevels, lakini pia katika modules na makusanyo. Na misemo mingi huwa na maneno ambayo ni magumu kuelezea hivi kwamba kwa kawaida hutolewa katika orodha mbili - maneno asilia na yanayotokana, ambayo utafahamu wakati wote wa kujifunza na matumizi ya lugha. Hebu tuongeze alama za uakifishaji na idadi ya misemo mingine kwa hili.

Katika uwasilishaji kama huo, si rahisi kuelewa ni nani aliyesimama juu ya nani.

Mbinu ya moja kwa moja ya daraja la kuelezea lugha itakuwa ngumu kupita kiasi. Utafutaji wa kuzunguka hupelekea maelezo ya lugha kulingana na asili ya usemi wake na upande wa amri. Kwa hivyo, Mfumo wa Tabaka ulizaliwa, kwa sehemu sanjari na Mfumo wa Kipindi wa Mendeleev, ambao pia ni. ply. Kama ilivyotokea miaka 42 baada ya kuchapishwa (1869), upimaji wa mfumo unahusishwa na elektroniki. tabaka (1911, Bohr-Rutherford mfano wa atomi). Pia, mifumo ya Layered na Periodic ni sawa katika mpangilio wa jedwali wa vitengo vyote kwenye ukurasa mmoja.

Maelezo ya vitengo vya lugha ni mafupi - aina 10 tu za misemo na aina 8 za vitengo vingine, na vile vile vya maana na vya kuona. Ingawa isiyo ya kawaida kwa marafiki wa kwanza.

Vitengo vya lugha vimegawanywa katika viwango 6:

  1. vitengo - safu za meza
  2. idara - vikundi maalum vya genera (sehemu za mstari wa kwanza)
  3. jenasi - seli (kiwango kikuu cha mgawanyiko)
  4. superspecies - watenganishaji wa spishi (kiwango cha nadra)
  5. aina - fomula za kitengo chini ya seli au tofauti
  6. mifumo - vitengo vyenyewe (kwa maneno tu)

Maneno ya mfano yanaelezea kamusi - mfumo mdogo tofauti unaojumuisha viwango sita sawa.

Sehemu ya hotuba ya lugha C ni dhahiri kabisa, ingawa bado inastahili maelezo. Lakini sehemu ya amri ya lugha inahusiana kwa usahihi na udhibiti wa mkusanyiko, wakati ambapo aina ya tatu ya programu imeundwa - amri. Hapa tunakuja kwa kipengele cha kusisimua zaidi cha lugha ya C: uzuri.

4. SURA ZIFUATAZO. Mrembo Si

Lugha C ni msingi wa programu za kisasa. Kwa nini? Kwanza, kwa sababu ya mawasiliano makubwa zaidi ya hotuba. Pili, kwa sababu ilipita kwa uzuri mapungufu ya usindikaji wa nambari ya mashine.

Xi alipendekeza nini hasa? Picha na safu.

Neno "picha" ni tafsiri ya neno la Kiingereza "aina", ambalo linatokana na Kigiriki "prototype" - "aina". Katika lugha ya Kirusi, neno "aina" halitoi msingi wa dhana inayoonyeshwa; zaidi ya hayo, inachanganyikiwa na maana ya msaidizi "aina".

Hapo awali, picha ilitatua shida ya hesabu ya mashine, na kisha ikawa njia ya kuzaliwa kwa lugha za kitu.

Safu mara moja ilitatua matatizo kadhaa - wote mashine na kutumika. Kwa hiyo, kuzingatia itaanza na picha ya kazi moja na kuendelea na safu ya kazi nyingi.

Moja ya sifa mbaya za upangaji wa kihistoria ni kwamba dhana nyingi, pamoja na zile za msingi, hutolewa bila ufafanuzi. "Lugha ya programu (jina la mito) ina aina za nambari kamili na zinazoelea ..." na zilikuna zaidi. Sio lazima kufafanua "aina" (picha) ni nini, kwa sababu waandishi wenyewe hawaelewi hii kikamilifu na watainyamazisha "kwa sababu ya uwazi." Ikiwa wamefungwa kwenye ukuta, watatoa ufafanuzi usio wazi na usio na maana. Inasaidia sana kujificha nyuma ya maneno ya kigeni: kwa waandishi wa Kirusi - nyuma ya Kiingereza (aina), kwa Waingereza - nyuma ya Kifaransa (subroutine), Kigiriki (polymorphism), Kilatini (encapsulation) au mchanganyiko wao (ad-hoc polymorphism).

Lakini hii sio hatima yetu. Chaguo letu ni ufafanuzi na visor iliyoinuliwa katika Kirusi safi.

Picha

Picha ni jina tangulizi la kiasi, linalofafanua 1) sifa za kiasili na 2) uteuzi wa shughuli za wingi.

Neno "aina" (aina) linalingana na sehemu ya kwanza ya ufafanuzi: "sifa za ndani za kiasi." Lakini maana kuu ya picha iko katika sehemu ya pili: "uteuzi wa shughuli kwa idadi."

Sehemu ya kuanzia ya kutambulisha picha katika C ni hesabu ya kawaida, kama vile operesheni ya kuongeza.

Karatasi Hisabati, iwe imeandikwa kwa mkono au kuchapishwa, haileti tofauti kubwa kati ya aina za nambari, kwa kawaida ikizingatiwa kuwa ni halisi. Kwa hiyo, shughuli zao za usindikaji hazina utata.

Mashine Hisabati hugawanya nambari kwa nambari kamili na sehemu. Aina tofauti za nambari huhifadhiwa tofauti kwenye kumbukumbu na kusindika na maagizo tofauti ya processor. Kwa mfano, maagizo ya kuongeza nambari na sehemu ni maagizo mawili tofauti yanayolingana na nodi mbili tofauti za processor. Lakini hakuna amri ya kuongeza hoja kamili na za sehemu.

Imetumika hisabati, yaani, lugha ya C, hutenganisha aina za nambari, lakini inachanganya shughuli: nyongeza ya nambari kamili na/au sehemu imeandikwa na ishara moja ya kitendo.

Ufafanuzi wazi wa picha ya dhana huturuhusu kuzungumza juu ya dhana zingine mbili: Thamani ΠΈ operesheni.

Ukubwa na uendeshaji

Thamani - nambari inayochakatwa.

Operesheni - usindikaji wa maadili ya awali (hoja) ili kupata nambari ya mwisho (jumla).

Ukubwa na uendeshaji vinahusiana. Kila operesheni ni kiasi kwa sababu ina matokeo ya nambari. Na kila thamani ni matokeo ya kuhamisha thamani kwa / kutoka kwa rejista ya processor, yaani, matokeo ya uendeshaji. Licha ya uhusiano huu, jambo kuu ni uwezekano wa maelezo yao tofauti, pamoja na kurudiwa kwa neno moja katika sehemu tofauti za kamusi, ambayo ndio hufanyika katika MA3.

Mbinu ya mashine iligawanya nambari zote zinazotumiwa na programu timu ΠΈ data. Hapo awali, wote wawili walikuwa nambari, kwa mfano, amri ziliandikwa kwa nambari za nambari. Walakini, katika lugha zilizotumika, amri zilikoma kuwa nambari na zikawa kwa maneno ΠΈ ishara za hatua. "Data" pekee inabaki kama nambari, lakini ni upuuzi kuendelea kuwaita kwa njia hiyo, kwa sababu katika mpito kutoka kwa mashine kwenda kwa maoni ya hesabu, nambari ni idadi ambayo imegawanywa na asili (data) na ya mwisho (inahitajika) "Datum isiyojulikana" itasikika kuwa ya kijinga.

Timu pia ziligawanywa katika aina mbili za vitendo: hisabati na huduma. Vitendo vya hisabati - shughuli. Tutapata habari rasmi baadaye.

Katika lugha za C, karatasi na mashine ya kawaida isiyo na utata, au moja, shughuli za hisabati karibu kila mahali huwa nyingi.

Operesheni nyingi ni shughuli kadhaa za jina moja na aina tofauti za hoja na tofauti, sawa katika maana, vitendo.

Hoja kamili zinalingana na operesheni nzima, na hoja za sehemu zinalingana na operesheni ya sehemu. Tofauti hii ni wazi wakati wa operesheni ya mgawanyiko, wakati usemi 1/2 unatoa jumla ya 0, sio 0,5. Nukuu kama hiyo hailingani na sheria za hesabu za karatasi, lakini lugha ya C haijitahidi kufuata (tofauti na Fortran) - inacheza kulingana na yake. imetumika kanuni.

Katika kesi ya kuchanganya integers na sehemu, moja tu sahihi ni pamoja akitoa maadili ya hoja β€” badiliko la kuchagua la thamani kutoka taswira moja hadi nyingine. Hakika, wakati wa kuongeza nambari na nambari ya sehemu, matokeo ni ya sehemu, kwa hivyo picha ya operesheni inachukua utendakazi wa kubadilisha hoja kamili hadi thamani ya sehemu.

Idadi ya shughuli zimesalia nyingiNa single. Shughuli kama hizo hufafanuliwa tu kwa aina moja ya hoja: salio la mgawanyiko - hoja kamili, kuweka (shughuli za busara) - nambari za asili. Ma3 inaonyesha wingi wa shughuli na ishara (#^) zinazoonyesha picha ambazo operesheni imefafanuliwa. Hii ni mali muhimu lakini iliyopuuzwa hapo awali ya kila operesheni.

Vitendaji vyote ni shughuli za kitengo kiholela. Isipokuwa ni waendeshaji - kazi zisizo za mabano, iliyojengwa katika lugha (shughuli za awali).

Msaada

Msaada - hatua inayoambatana na operesheni.

Ikiwa tunazingatia operesheni kama hatua kuu, basi tunaweza kutofautisha zile mbili zinazoambatana ambazo hutoa operesheni na tofauti nayo. Hizi ni 1) udhibiti tofauti na 2) utii. Kitendo hiki kinaitwa msaada.

Hapa tunahitaji kujiondoa na kusema tofauti juu ya tafsiri za Kirusi za vitabu vya programu. Neno jipya lilianzishwa katika maandishi ya K/R ili kurekodi vitendo taarifa (maneno), ambayo ilijaribu kugawanya dhana za amri ya mashine katika vitendo tofauti: 1) uendeshaji, 2) tamko, na 3) utii (unaoitwa "uundaji wa udhibiti"). Jaribio hili lilizikwa na watafsiri wa Kirusi, wakibadilisha "maneno" na neno "opereta", ambalo:

  1. imekuwa sawa na neno la mashine "amri",
  2. iligeuka kuwa sawa na maneno "ishara ya hatua",
  3. na pia kupokea idadi isiyo na kikomo ya maadili ya ziada. Hiyo ni, imegeuka kuwa kitu kama nakala ya Kiingereza "Uhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Fikiria vitendo vinavyoambatana, au msaada.

Udhibiti unaobadilika

Udhibiti unaobadilika (UP) - kuunda / kufuta seli za kutofautiana.
UE hutokea kwa uwazi wakati wa kutangaza kutofautiana, ambayo tayari imeandikwa kwa sababu nyingine - kuonyesha picha ya thamani. Mwonekano mmoja pekee ndio unaodhibitiwa kwa uwazi vigezo vya ziada kutumia malloc() na bure() kazi.

Ikumbukwe kwamba vitendo vilivyo wazi ni rahisi zaidi kwa kuandika, kwani hazihitaji kuandika chochote, lakini ni vigumu zaidi kuelewa - ni vigumu zaidi kuzingatia na kutafsiri.

Kutii

Kutii β€” unganisha/lemaza sehemu za safu.

Lugha ya C ilitoa njia iliyotumika ya kudhibiti mpangilio wa vitendo, tofauti na mkusanyiko - utii. Huakisi na kukuza sentensi changamano ya usemi yenye mgawanyiko wazi katika sehemu kuu (kifungu cha utii) na sehemu ndogo (sehemu ndogo/subroutine).

Tamko na uwasilishaji wote umejengwa juu ya dhana safu.

Tabaka

Tabaka ni seti ndogo ya teuzi ya kiwango kimoja.

Safu hiyo kwa uwazi na kwa uwazi ilichukua kazi kadhaa mara moja:

  1. kuandaa programu
  2. kupunguza mwonekano wa majina (kabisa),
  3. usimamizi wa vigezo (seli za kumbukumbu) (dhahiri),
  4. ufafanuzi wa vifungu vidogo vya utii,
  5. ufafanuzi wa kazi na uteuzi na wengine.

Hakukuwa na dhana ya safu katika lugha za mashine, kwa hivyo haikuonekana katika K/R, na ikiwa kitu hakikuwepo, basi kuitambulisha katika vitabu vilivyofuata itakuwa uzushi na mawazo huru. Kwa hivyo, wazo la safu halikuonekana hata kidogo, ingawa ni muhimu sana na dhahiri kabisa.

Bila safu, haiwezekani kuelezea kwa ufupi na kwa uwazi vitendo vingi na sheria za programu. Kwa mfano, kwa nini goto ni rahisi kama kopecks tatu mbaya, na wakati mgumu ni mzuri. Unaweza tu kuapa bila msaada, kama Dijkstra alivyofanya (β€œustadi wa watayarishaji programu ni utendaji ambao kinyume chake unategemea mara kwa mara kutokea kwa kauli za goto katika programu zao.” Kwa ufupi, mbuzi pekee hutumia goto. Kiwango cha kuhesabiwa haki ni Mungu.) Ukweli, hii sio ya kutisha sana ikiwa vitabu vyako Hatupaswi kuelezea chochote, lakini, kama tulivyokwisha sema, hii sio hatima yetu.

Kwa njia, inaweza kuzingatiwa kuwa Dan Ritchie aliacha goto haswa kama ufunguo wa kutafuta wazo lisilo na jina, kwa sababu hakukuwa na hitaji au uzuri katika usemi goto. Lakini kulikuwa na hitaji la maelezo rahisi na ya kueleweka ya kanuni mpya za lugha, ambazo Richie mwenyewe hakutaka kutoa, na ambazo zinategemea wazo hilo. safu.

Kupotoka

Kupotoka - kubadilisha sifa za kawaida za jina jipya.

Kupotoka muhimu zaidi kunahusiana kwa usahihi na mali ya safu ya programu, na inaelezewa na neno moja "tuli", ambalo lina maana tofauti katika kila aina ya safu.

5. SURA YA MWISHO. Kawaida ya lugha zinazotumika

Lugha zilizotumika ni ya mfano lugha (kuwa na picha, "iliyochapishwa"). Zinatokana na matumizi ya picha au ya wazi. Zaidi ya hayo, hapa tena utata unaonekana: picha ya wazi inaeleweka zaidi, lakini haifai sana, na kinyume chake.

Matryoshka C. Mfumo wa lugha ya programu ya tabaka

(Mpangilio wa jedwali bado haujawasilishwa, kwa hivyo jedwali linaonyeshwa na picha.)

Baada ya C, ukuzaji wa lugha zilizotumika zilichukua njia ya kuongeza tamathali zao. Muhimu zaidi kwa kuelewa taswira ya juu ni kizazi cha moja kwa moja cha C - lugha ya C++. Anakuza wazo la uteuzi wa kiholela wa shughuli kwa idadi na kuijumuisha kwa msingi wa uteuzi wa usemi wa syntetisk, ambao hupokea jina jipya - kitu. Walakini, C++ sio fupi na ya kuelezea kama C kwa sababu ya upakiaji wa aina mpya za mkusanyiko na sheria zinazohusiana. Kwa njia, hebu tuzungumze juu ya "uzito".

Kupakia kupita kiasi na polymorphism

Neno "kupakia kupita kiasi" ni neno la kizamani la kujifunza kwa mashine la kuunda shughuli nyingi.

Watengenezaji programu wa mashine (mfumo). wingi shughuli zinaweza kuwa za kuudhi: "ishara hii (+) inamaanisha nini: kuongeza nambari kamili, kuongeza sehemu, au hata kuhama?! Katika wakati wetu hawakuandika hivyo!" Kwa hivyo maana mbaya ya neno lililochaguliwa ("overkill", "uchovu"). Kwa mpanga programu, shughuli nyingi ndizo msingi, mafanikio kuu na urithi wa lugha ya C, ya asili sana kwamba mara nyingi haitambuliwi.

Katika lugha ya C++ wingi kupanuliwa sio tu kwa shughuli za asili, lakini pia kwa kazi - za kibinafsi na pamoja katika madarasa - mbinu. Kwa mbinu nyingi ulikuja uwezo wa kuzipindua katika madarasa yaliyopanuliwa, ambayo yaliitwa kwa uwazi "polymorphism." Mchanganyiko wa upolimishaji na upakiaji mwingi ulitokeza mchanganyiko unaolipuka ambao uligawanyika katika polima mbili: "kweli" na "ad-hoc." Inawezekana kuelewa hili tu licha ya majina uliyopewa. Barabara ya tangazo imewekwa kwa majina ya kigeni.

Tamko la fomu "overload" linaonyeshwa vyema katika neno tangazo la ziada - kuongeza tamko la utendaji wa jina moja na hoja za picha tofauti.

Tamko la fomu "polymorphism" inaitwa bora zaidi tangazo upya - tamko linalopishana katika safu mpya ya kiendelezi ya chaguo la kukokotoa la jina moja lenye hoja za picha sawa.

Basi itakuwa rahisi kuelewa kuwa njia sawa za picha tofauti (hoja) - kutangazwa zaidi, na picha moja - kutangazwa tena.

Maneno ya Kirusi huamua.

Njia ya kukimbia

Kuzingatia dhana za lugha za kitamathali huthibitisha umuhimu wa ufafanuzi wazi wa dhana za kimsingi. Ikiwa C imeelezewa kwa usahihi, kujifunza lugha za kitamathali za hali ya juu itakuwa rahisi na ya kufurahisha.

Hii ni muhimu hasa kwa lugha za mafumbo ya hali ya juu (PHP, JavaScript). Kwao, umuhimu wa vitu (picha za mchanganyiko) huwa juu zaidi kuliko katika C ++, lakini dhana yenyewe ya picha inakuwa isiyo wazi na isiyoeleweka. Kutoka kwa mtazamo wa urahisi, wamekuwa rahisi, lakini kutoka kwa mtazamo wa ufahamu, wamekuwa vigumu zaidi.

Kwa hivyo, unapaswa kuanza kujifunza lugha za programu na lugha ya C na kusonga zaidi kwa mpangilio ambao lugha za familia ya C zinaonekana.

Vivyo hivyo kwa kuelezea lugha. Lugha tofauti zina seti sawa, au ndogo, za vitengo vya jinsia kuliko lugha ya C. Idadi ya aina na sampuli zinaweza kutofautiana katika pande zote mbili: C++ ina aina zaidi ya C, wakati JavaScript ina chache.

Lugha ya MySQL inastahili kutajwa maalum. Inaweza kuonekana kuwa hakuna kitu sawa, lakini ameelezewa kikamilifu na Matryoshka, na kumjua inakuwa haraka na rahisi. Ambayo ni muhimu, kutokana na umuhimu wake kwa mtandao - barabara ya dining ya programu ya kisasa. Na ambapo kuna MySQL, kuna SQL nyingine. Kweli, kila aina ya Fortran-Pascal-Pythons pia inaelezewa na Matryoshka, mara tu wanapopata mikono yao juu yake.

Kwa hivyo, mambo makubwa yanangojea - maelezo yaliyotumika ya lugha ya C na maelezo ya umoja ya lugha zinazoifuata. "Malengo yetu yako wazi, majukumu yetu yameainishwa. Fanya kazi, wandugu! (Dhoruba, makofi ya muda mrefu, yakigeuka kuwa ovation. Kila mtu anasimama.)."

Maoni yako yatasikilizwa kwa umakini mkubwa, msaada wako katika kuunda tovuti ya wanasesere wa viota utapokelewa kwa shukrani kubwa. Habari kamili zaidi juu ya kitabu iko kwenye wavuti, iliyofichwa kwa ujanja huko Matryoshka C.

Chanzo: mapenzi.com

Kuongeza maoni