Матрошка Сі. Пластовая сістэма мовы праграмы

Паспрабуем прадставіць хімію без Перыядычнай сістэмы Мендзялеева (1869). Колькі ж элементаў трэба было памятаць, прычым у адвольным парадку… (Тады — 60.)

Для гэтага дастаткова падумаць аб адной або некалькіх адразу мовах праграмавання. Тыя ж пачуцці, тая ж творчая бязладзіца.

А зараз мы можам перажыць пачуцці хімікаў XIX стагоддзі, калі ім прапанавалі ўсе іх веды, і трохі зверху, у адной Перыядычнай табліцы.

Матрошка Сі. Пластовая сістэма мовы праграмы


Кніга «Матрашка Сі. Пластовая сістэма мовы праграмы» прадстаўляе ўсе адзінкі мовы Сі як на далоні. Гэта дазваляе ўпарадкаваць іх, выправіць састарэлыя звесткі і нават удакладніць само паняцце праграмы.

Сёння звесткі па праграмаванні маюць патрэбу ў сістэматызацыі нават больш, чым хімічныя элементы 150 гадоў таму.

Першая неабходнасць - выкладанне. Мендзялееў пачаў стварэнне сваёй сістэмы, калі паўстаў перад пытаннем - з якога элемента пачынаць чытаць лекцыі: O, H, N, He, Au... Пры гэтым яму было прасцей - ён вучыў хіміі лепшых - студэнтаў СПб універсітэта. А праграміраванне ўжо выкладаюць у школе і хутка пачнуць у дзіцячым садку.

Другая неабходнасць - навуковы падыход. З дапамогай Перыядычнай сістэмы былі адчыненыя новыя элементы і выпраўленыя звесткі аб старых. Яна дапамагла ў стварэнні мадэлі атама (1911). І гэтак далей.

Трэцяя неабходнасць - удакладненне паняцця праграмы.

Сучаснае праграмаванне адной нагой засела ў 50-х гадах XX стагоддзі. Тады праграмы былі простыя, а машыны і машынныя мовы - складаныя, таму ўсё круцілася вакол машын і моў.

Цяпер усё наадварот: праграмы складаныя і першасныя, мовы простыя і другасныя. Гэта называецца прыкладны падыход, які ўсім быццам бы знаёмы. Але студэнтаў і распрацоўшчыкаў працягваюць пераконваць, што ўсё па-ранейшаму.

Што вяртае нас да першай лекцыі прыват-дацэнта Мендзялеева. Што казаць першакурснікам? Дзе ісціна? Вось у чым пытанне.

Свой адказ на яго прапануе кніга “Матрошка Сі. Пластовая сістэма мовы праграмы». Прычым яна звернута не толькі да студэнтаў, але і да падрыхтаваных праграмістаў, паколькі шукаць ісціну і пераварочваць светапогляд павінны менавіта яны, то бок мы.

Далей ідзе кароткі змест кнігі.

1. ўвядзенне

У 1969 годзе была створана мова Сі, якая стала асноватворнай мовай праграмавання і застаецца ёй вось ужо 50 гадоў. Чаму гэта так? У першую чаргу, таму што Сі - гэта прыкладной мова, якая надала праграме чалавечны выгляд замест машыннага. Гэта дасягненне замацавалі мовы з сямейства Сі: C++, JavaScript, PHP, Java, C# і іншыя. Па-другое, гэта кароткая і прыгожая мова.

Аднак саму мову Сі звычайна змешваюць з машынным асэмблерам, тым самым ускладняючы і скажаючы яго ўспрыманне. Іншы крайнасцю з'яўляецца навязванне ў нагрузку да мовы нейкай "філасофіі": працэдурнай, аб'ектнай, функцыянальнай, кампіляванай, інтэрпрэтаванай, тыпізаванай і гэтак далей. Гэта дадае эмоцый, але не дапамагае лепш апісаць мову.

Ісціна знаходзіцца пасярэдзіне, прычым для мовы Сі - строга пасярэдзіне паміж філасофскім і машынным успрыманнем.

Мова Сі - не самастойны, ён падпарадкоўваецца звычайнай пісьмовай гаворкі, і адначасова - сам кіруе мовай асэмблер. Гэта палажэнне апісвае Маўленчая мадэль праграмы, Згодна з якой праграма падзелена на тры падпарадкаваных віду: маўленчы, кодавы, камандны. Мова Сі адказвае за другі, кодавы выгляд.

Вызначыўшы месца мовы ў праграме, можна ўпарадкаваць звесткі аб ёй, што робіць Пластовая сістэма мовы праграмы, якая прадстаўляе мову Сі ў духу сістэмы Мендзялеева - на адной старонцы.

Сістэма пабудавана з улікам агульнасці прыкладных моў, Якая вынікае з іх маўленчай падпарадкаванасці. Адзін набор адзінак Матрошкі Сі дазваляе апісваць і параўноўваць розныя мовы, стварыўшы шэраг Матрошак: C++, PHP, JavaScript, C#, MySQL, Python і гэтак далей. Годна і правільна, што розныя мовы апісваюцца адзінкамі асноватворнай мовы.

2. РАЗДЗЕЛ 1. Маўленчая мадэль праграмы. Зразумелы Сі

У першым раздзеле прадстаўлена маўленчая мадэль праграмы, якая адлюстроўвае прыкладны падыход. Згодна з ім, праграма мае тры відавочных паслядоўных віду:

  1. маўленчай - прамая гаворка праграміста, вырашальнага задачу,
  2. кодавы - кадаваньне рашэння ў матэматычны від на мове Сі (або любым іншым)
  3. і камандны - непасрэдныя машынны каманды.

Маўленчая мадэль тлумачыць, чаму Сі - простая і зразумелая мова. Сі пабудаваны па выяве і падабенству звыклай нам чалавечай гаворкі.

Першы від праграмы - прамая гаворка праграміста. Гаворка адпавядае чалавечаму мысленню. З дапамогай гаворкі пішуць праграмы пачаткоўцы праграмісты — спачатку па-руску, потым пакрокава пераводзячы дзеянні на кодавую мову. І менавіта па такім узоры была створана мова Сі.

Высновкі праграміста, выяўленыя прамовай, пераўтворацца ў кодавы лікавы выгляд. Гэтае пераўтварэнне варта назваць адлюстраваннем, паколькі гаворка і код маюць адну прыроду (адлюстраванне - нараджэнне - род). Гэта цалкам відавочна, калі супаставіць маўленчы (злева) і кодавы (справа) віды праграмы.

Матрошка Сі. Пластовая сістэма мовы праграмы

Цікаўна, што адлюстраванне адбываецца вельмі проста - усяго двума родамі выразаў.

Аднак, сучаснае апісанне мовы Сі (ад 1978 года) не змяшчае дастатковага спісу назваў ні для апісання мовы наогул, ні для задачы адлюстравання ў прыватнасці. Таму мы вымушаны заняцца творчасцю і ўвесці гэтыя назвы.

Выбар слоў павінен быць дакладным і ясным. Для гэтага запатрабаваўся асаблівы падыход, які коратка выказваецца так - строгае выкарыстанне роднай мовы. Для ангельцаў гэта была б ангельская, але мы не ангельцы. Так што выкарыстоўваем тое, што маем, і будзем імкнуцца размаўляць па-руску.

Адлюстраванне выконваюць два роды выразаў:

  1. вылічэнне (Вч) - адлюстроўвае змяненне ўласцівасцей прадмета. Уласцівасць прадмета выражаецца лікам, тады дзеянне над уласцівасцю - гэта дзеянне над лікам - аперацыя.
  2. падпарадкаванне (Пч) - адлюстроўвае змяненне парадку дзеянняў. Правобразам Пч з'яўляецца маўленчае складаназалежнае сказ, таму большасці відаў Пч пачынаецца з падпарадкавальных саюзаў «калі», «інакш», «пакуль», «для». Іншыя віды ПЧ іх дапаўняюць.

Дарэчы, вы можаце паверыць, што ў апісанні Сі няма назвы для выразаў вылічэнне - яны называюцца проста «выразы»? Пасля гэтага ўжо не здзівіць адсутнасць назвы і аб'яднання для роду падпарадкаванне, ды і наогул беднасць па частцы назваў, азначэнняў і абагульненняў. Усё таму, што знакаміты К/Р («Мова Сі», Керніган/Рычы, 1978) з'яўляецца не апісаннем, а кіраўніцтвам па ўжыванні мовы.

Аднак мець апісанне мовы ўсё ж хацелася б. Таму яго прапануе Пластовая сістэма мовы праграмы.

3. РАЗДЗЕЛ 2. Пластовая сістэма. Кароткі Сі

Любое апісанне павінна быць дакладным і лімітава кароткім. У выпадку мовы праграмы лабавое апісанне цяжка.

Вось у нас ёсць праграма. Яна складаецца з модуляў. Модулі складаюцца з падпраграм і падборак (structure). Падпраграмы складаюцца з асобных выразаў: аб'яваў, вылічэнняў, падпарадкаванняў. Падпарадкаванняў -цэлых дзесяць відаў. Падпарадкаванні падключаюць падузроўні і падпраграмы. Аб'яў таксама некалькі. Зрэшты, аб'явы ўключаюцца не толькі ў падпраграмы і падузроўні, але і ў модулі і ў падборкі. І большасць выразаў складаецца са слоў, якія апісваць настолькі складана, так што звычайна іх проста даюць двума спісамі - зыходныя і вытворныя словы, з якімі трэба будзе знаёміцца ​​на працягу ўсяго вывучэння і прымянення мовы. Дадамо да гэтага знакі прыпынку і яшчэ шэраг выразаў.

У такім пераказе няпроста зразумець хто на кім стаяў.

Прамы іерархічны падыход апісання мовы будзе празмерна складзены. Пошук вакольных шляхоў прыводзіць да апісання мовы на аснове яе маўленчай прыроды і каманднага боку. Такім чынам нарадзілася Пластовая сістэма, якая часткова супадае з Перыядычнай сістэмай Мендзялеева, якая таксама з'яўляецца пласты. Як высветлілася праз 42 гады пасля яе выдання (1869), перыядычнасць сістэмы звязана з электроннымі. пластамі (1911, мадэль атама Бора-Рэзерфарда). Таксама пластовую і перыядычную сістэмы родніць таблічнае размяшчэнне ўсіх адзінак на адной старонцы.

Апісанне адзінак мовы атрымліваецца кароткім - усяго 10 родаў выразаў і 8 родаў іншых адзінак, а таксама змястоўным і наглядным. Хаця і нязвыклым для першага знаёмства.

Адзінкі мовы падзелены на 6 узроўняў:

  1. атрады - радкі табліцы
  2. аддзелы - асобыя групы родаў (часткі першага радка)
  3. роду - вочкі (галоўны ўзровень дзялення)
  4. надвіды -падзельнікі відаў (рэдкі ўзровень)
  5. віды - формулы адзінак унізе ячэйкі або асобна
  6. узоры - самі адзінкі (толькі для слоў)

Узоры слоў апісвае слоўнік - асобная падсістэма, складзеная з тых жа шасці ўзроўняў.

Маўленчы складнік мовы Сі цалкам відавочны, хоць усё роўна заслугоўвае апісанні. А вось камандная частка мовы якраз звязана з кіраваннем кампіляцыяй, падчас якой ствараецца трэці від праграмы - камандны. Тут мы падыходзім да самай захапляльнай баку мовы Сі - прыгажосці.

4. НАСТУПНЫЯ КІРАЎНІКА. Прыгожы Сі

Мова Сі ляжыць у аснове сучаснага праграмавання. Чаму? Па-першае, у сілу найбольшай адпаведнасці гаворкі. Па-другое, таму што прыгожа абышоў абмежаванні машыннай апрацоўкі лікаў.

Што менавіта прапанаваў Сі? Выява і пласт.

Слова "вобраз" - гэта пераклад ангельскага слова "type", якое паходзіць ад грэцкага "прататып" - "правобраз". У рускай мове слова "тып" не перадае краевугольнасць паняцця, да таго ж змешваецца са службовым значэннем "выгляд".

Першапачаткова выява вырашаў чыста машынную задачу вылічэнні, а потым стаў узлётнай паласой для нараджэння аб'ектных моў.

Пласт адразу вырашаў некалькі задач - і машынных, і прыкладных. Таму разгляд пачнецца з адназадачнай выявы і пяройдзе да шматзадачнага пласта.

Адна з непрыемных рыс гістарычнага праграмавання складаецца ў тым, што большасць паняццяў, у тым ліку асноўныя, даюцца без азначэнняў. «Мова праграмавання (імя рэк) мае цэлы і плывучы тып лікаў…» — і пачухалі далей. Што такое "тып" (вобраз) - вызначаць неабавязкова, таму што аўтары самі гэта не да канца разумеюць і замнуць "для яснасці". Калі іх прыпруць да сцяны, то дадуць размытае і бескарыснае вызначэнне. Вельмі дапамагае схавацца за замежнымі словамі: для рускіх аўтараў - за ангельскімі (тып), для ангельцаў - за французскімі (subroutine), грэцкімі (палімарфізм), лацінскімі (інкапсуляцыя) або іх спалучэннямі (палімарфізм ad-hoc).

Але гэта не наш лёс. Наш выбар - азначэнні з паднятым забралам на чыстай рускай мове.

вобраз

вобраз - Гэта правобразнае імя велічыні, якое вызначае 1) уласныя ўласцівасці велічыні і 2) падбор аперацый да велічыні.

Слову "тып" (выгляд) адпавядае першая частка вызначэння: "уласныя ўласцівасці велічыні". Але галоўны сэнс выявы – у другой частцы: «падбор аперацый да велічынь».

Адпраўным пункт для ўвядзення выявы ў мове Сі - звычайнае вылічэнне, напрыклад, аперацыя складання.

папяровая матэматыка, якая запісваецца ад рукі ці друкаваная, не робіць адмысловага адрознення паміж выглядамі лікаў, звычайна мяркуючы іх рэчавымі. Таму аперацыі іх апрацоўкі адназначныя.

машынная матэматыка строга падзяляе лікі на цэлыя і дробавыя. Розныя віды лікаў па-рознаму захоўваюцца ў памяці і апрацоўваюцца рознымі камандамі працэсара. Напрыклад, каманды складання цэлых і дробавых лікаў - гэта дзве розных каманды, якія адпавядаюць двум розным вузлам працэсара. Затое каманда складання цэлага і дробавага аргументаў адсутнічае.

Прыкладная матэматыка, гэта значыць мова Сі, падзяляе віды лікаў, але аб'ядноўвае аперацыі: складанне для цэлых і/або дробавых лікаў запісваецца адным знакам дзеяння.

Выразнае вызначэнне паняцця выява дазваляе вызначана казаць пра два іншыя паняцці: велічыня и аперацыя.

Велічыня і аперацыя

Велічыня - Апрацоўваны лік.

Аперацыя - Апрацоўка значэнняў зыходных велічынь (аргументаў) для атрымання выніковага ліку (вынік).

Велічыня і аперацыя ўзаемазвязаны. Кожная аперацыя з'яўляецца велічынёй, бо мае лікавы вынік. А кожная велічыня з'яўляецца вынікам перасылкі значэння ў рэгістр працэсара / з працэсара, гэта значыць – вынікам аперацыі. Нягледзячы на ​​гэтую ўзаемасувязь, усё ж галоўным з'яўляецца магчымасць іх паасобнага апісання, няхай і з паўтарэннем аднаго слова ў розных аддзелах слоўніка, што і адбываецца ў ма3.

Машынны падыход дзяліў усе лікі, выкарыстоўваныя праграмістам, на каманды и дадзеныя. Раней і тыя, і іншыя былі менавіта лікамі, напрыклад, каманды пісаліся лікавымі кодамі. Аднак у прыкладных мовах каманды перасталі быць лікамі і сталі. словамі и знакамі дзеянняў. Лічбамі засталіся толькі "дадзеныя", але працягваць называць іх так недарэчна, таму што пры пераходзе ад машыннага да матэматычнага пункту гледжання ліку - гэта велічыні, якія дзеляцца зыходныя (дадзеныя) і выніковымі (шуканыя). "Невядомае дадзенае" - гэта будзе гучаць дурное.

Каманды таксама падзяліліся на два віды дзеянняў: матэматычныя і службовыя. Матэматычныя дзеянні - аперацыі. Да службовых звернемся пазней.

У мовы Сі звыклыя папяровыя і машынныя адназначныя, або адзінкавыя, матэматычныя аперацыі амаль пагалоўна становяцца множнымі.

Множныя аперацыі - некалькі аднайменных аперацый з рознымі вобразамі аргументаў і рознымі, блізкімі па сэнсе, дзеяннямі.

Цэлым аргументам адпавядае цэлая аперацыя, дробавым - дробавая. Гэтая розніца асабліва навочная пры аперацыі дзялення, калі выраз 1/2 дае вынік 0, а не 0,5. Такі запіс не адпавядае правілам папяровай матэматыкі, але мову Сі і не імкнецца іх выконваць (у адрозненні ад Фортрана) - ён гуляе па сваіх прыкладным правілам.

У выпадку змешвання цэлых і дробавых лікаў уключаецца адзіна правільнае прывядзенне значэнняў аргументаў - Падборачнае пераўтварэнне значэння з адной выявы ў іншы. Сапраўды, пры складанні цэлага і дробавага ліку вынік — дробавы, таму выява аперацыі падбірае аперацыю пераўтварэння цэлага аргумента ў дробавае значэнне.

Шэраг аперацый застаюцца не множнымі, А адзінкавымі. Такія аперацыі вызначаны толькі для аднаго віду аргументаў: астатак дзялення - цэлыя аргументы, кладка (пабітавыя аперацыі) - натуральныя цэлыя. Ма3 паказвае множнасць аперацый знакамі (#^) з указаннем выяў, для якіх аперацыя вызначана. Гэта важная, але прапускаецца раней уласцівасць кожнай аперацыі.

Усе функцыі з'яўляюцца адвольнымі адзінкавымі аперацыямі. Выключэнне складаюць аператары. бесскобочные функцыі, убудаваныя ў мову (зыходныя аперацыі).

садзейнічанне

садзейнічанне - Спадарожнае аперацыі дзеянне.

Калі разглядаць аперацыю як асноўнае дзеянне, то можна вылучыць два спадарожных, якія забяспечваюць аперацыю і адрозніваюцца ад яе. Гэта 1) кіраванне зменнай і 2) падпарадкаванне. Такое дзеянне названа садзейнічаннем.

Тут трэба адцягнуцца і асобна сказаць пра рускія пераклады падручнікаў па праграмаванні. У тэксце К/Р для запісу дзеянняў было ўведзена новае слова заяву (Выраз), якое зрабіла спробу падзяліць паняцці машыннай каманды на розныя дзеянні: 1) аперацыю, 2) аб'яву і 3) падпарадкаванне (названае «кіраўнічымі канструкцыямі»). Гэтую спробу пахавалі рускія перакладчыкі, замяніўшы «выраз» словам «аператар», якое:

  1. стала сінонімам машыннага слова «каманда»,
  2. аказалася сінонімам словазлучэння «знак дзеяння»,
  3. а таксама атрымлівала неабмежаваную колькасць дадатковых значэнняў. Гэта значыць ператварылася ў падабенства ангельскага артыкля "ээээ…".

Разгледзім спадарожныя дзеянні, ці садзейнічання.

Упраўленне зменнай

Упраўленне зменнай (УП) - стварэнне / выдаленне вочак зменнай.
УП адбываецца ў няяўным выглядзе пры аб'яве зменнай, якое і так ужо пішацца з іншай нагоды - для ўказання выявы велічыні. Відавочна кіруюцца толькі адзін від дадатковых зменных з дапамогай функцый malloc() і free().

Трэба адзначыць, што няяўныя дзеянні зручней для напісання, бо наогул не патрабуе нічога пісаць, але складаней для разумення - іх складаней улічыць і вытлумачыць.

падпарадкаванне

падпарадкаванне - падлучэнне / адключэнне пластовых раздзелаў.

Мова Сі прапанаваў выдатны ад асэмблера, прыкладны спосаб кіравання парадкам дзеянняў - падпарадкаванне. Яно адлюстроўвае і развівае маўленчае Складаназалежныя сказ з відавочным падзелам на галоўную частку (прапанова падпарадкаванне) і даданую частку (часткі подуровень / падпраграма).

І аб'ява, і падпарадкаванне цалкам пабудаваны на паняцці пласт.

Пласт

Пласт - Гэта абмежаваны аднаўзроўневы выбарчы набор выразаў.

Пласт відавочна і няяўна ўзяў на сябе выкананне адразу ж некалькіх задач:

  1. упарадкаванне праграмы,
  2. абмежаванне бачнасці імёнаў (няяўна),
  3. кіраванне зменнымі (вочкамі памяці) (няяўна),
  4. вызначэнне даданых раздзелаў для падпарадкавання,
  5. вызначэння функцый і падборак і іншыя.

У машынных мовах не было паняцця пласт, таму яно не з'явілася і ў К/Р, а ўжо калі чаго не было там - то ўводзіць гэта ў наступных кнігах было б ерассю і вальнадумствам. Таму паняцце пласт не з'явілася наогул, хаця вельмі карысна і цалкам відавочна.

Без пласта немагчыма сцісла і ясна растлумачыць шматлікія дзеянні і правілы праграмы. Напрыклад, чаму просты як тры капейкі goto - дрэнны, а мудрагелісты while - добры. Можна толькі нямогла лаяцца, як рабіў Дэйкстра («кваліфікацыя праграмістаў – функцыя, зваротна якая залежыць ад частаты з'яўлення аператараў goto у іх праграмах». Карацей, толькі казлы выкарыстоўваюць goto. Узровень абгрунтавання – Бог.) Праўда, гэта не так страшна, калі вашы кнігі увогуле нічога не абавязаныя тлумачыць, але, як мы ўжо сказалі, гэта не наш лёс.

Дарэчы, можна меркаваць, што Дэн Рычы пакінуў goto менавіта як ключ для пошуку нейкага неназванага паняцця, таму што ніякай неабходнасці ці прыгажосці ў выразе goto не было. Затое была патрэба простага і зразумелага тлумачэння новых прынцыпаў мовы, якія сам Рычы даваць не хацеў, і якія якраз заснаваны на паняцці пласт.

адхіленне

адхіленне - Змена звычайных уласцівасцяў новага імя.

Найважнейшае адхіленне як раз злучана са пластовымі ўласцівасцямі праграмы, і апісваецца адным словам «static», мелым розныя значэнне ў кожным з выглядаў пласта.

5. AПОШНІ РАЗДЗЕЛ. Агульнасць прыкладных моў

Прыкладныя мовы - гэта вобразныя мовы (якія маюць вобраз, «тыпізаваныя»). Яны заснаваны на відавочным ці няяўным выкарыстанні выявы. Прычым тут зноў выяўляецца супярэчнасць: відавочны вобраз - больш зразумелы, але менш зручны, і наадварот.

Матрошка Сі. Пластовая сістэма мовы праграмы

(Разметку табліцы пакуль не падвезлі, таму табліца дадзеная карцінкай.)

Пасля Сі развіццё прыкладных моў пайшло па шляху павелічэння іх вобразнасці. Найбольш важным для разумення высокастайнасці з'яўляецца прамы нашчадак Сі - мова З ++. Ён развівае ідэю адвольнага падбору аперацый да велічынь і ўвасабляе яе на аснове сі-шнага выразы падборка, якое атрымлівае новыя назву - аб'ект. Аднак Сі ++ не з'яўляецца такім жа кароткім і выразным, як Сі, у сілу перагрузкі новых відаў падборкі і звязаных з імі правілаў. Дарэчы, пагаворым аб "перагрузцы".

Перагрузка і палімарфізм

Слова "перагрузка" (overload) - састарэлы тэрмін машыннага падыходу, які пазначае стварэнне множных аперацый.

Машынных (сістэмных) праграмістаў множнасць аперацый цалкам магла раздражняць: «Што азначае гэты знак (+): складанне цэлых лікаў, складанне дробавых лікаў ці ўвогуле зрушэнне?! У наш час так не пісалі! Адгэтуль адмоўнае адценне абранага слова («перабор», «надакучыла»). Для прыкладнога праграміста множныя аперацыі - гэта краевугольны камень, галоўнае дасягненне і спадчына мовы Сі, настолькі натуральныя, што часта не ўсведамляемыя.

У мове Сі++ множнасць распаўсюдзілася не толькі на зыходныя аперацыі, але і на функцыі - як асобныя, так і аб'яднаныя ў класы - метады. Разам са шматлікімі метадамі з'явілася магчымасць іх перавызначэння ў пашыраных класах, якая была туманна названа "палімарфізмам". Спалучэнне палімарфізму і перагрузкі дало выбуховую сумесь, якая разляцелася на два палімарфізму: "праўдзівы" і "ad-hoc". Разабрацца ў гэтым можна толькі насуперак прысвоеным назвам. Замежнымі назвамі выбрукавана дарога ў ad.

Аб'ява выгляду "перагрузка" лепш выказаць словам дааб'яўленне - Дадае аб'яву аднайменнай функцыі з аргументамі іншай выявы.

Аб'ява выгляду «палімарфізм» лепш назваць словам перааб'яўленне - якое перакрывае аб'яву ў новым які пашырае пласце аднайменнай функцыі з аргументамі той жа выявы.

Тады будзе лёгка разабрацца, што аднайменныя метады розных вобразаў (аргументаў). даяўляюцца, а адной выявы перааб'яўляюцца.

Рускія словы вырашаюць.

Узлётная паласа

Разгляд паняццяў высока-вобразных моў пацвярджае важнасць дакладнага вызначэння асноўных паняццяў. З правільна апісаным Сі вывучэнне высока-вобразных моў будзе лёгкім і прыемным.

Асабліва гэта важна для няяўных высока-вобразных моў (PHP, JavaScript). Для іх важнасць аб'ектаў (складовых выяў) становіцца яшчэ вышэй, чым у З++, але само паняцце выявы становіцца няяўным і цяжкаўлоўным. З пункту гледжання зручнасці яны сталі прасцей, а вось з пункту гледжання разумення - складаней.

Таму пачынаць вывучэнне моў праграмавання трэба з мовы Сі і рухацца далей у парадку з'яўлення моў сямейства Сі.

Тое ж самае тычыцца апісання моў. Розныя мовы маюць супадальны, ці меншы набор родаў адзінак, чым мова Сі. Лік выглядаў і ўзораў можа адрознівацца ў абодва бакі: у Сі++ выглядаў больш, чым у Сі, у ЯваСкрыпт - менш.

Адмысловай згадкі заслугоўвае мова MySQL. Здавалася б - нічога агульнага, але ён выдатна апісваецца Матройкай, і знаёмства з ім становіцца хутчэй і прасцей. Што важна, улічваючы яго значэнне для вэба – сталовай дарогі сучаснага праграмавання. А дзе MySQL, тамака і іншыя SQL. Ну, і ўсякія фартраны-паскалі-пітоны таксама апісваюцца Матрошкай, як толькі рукі дойдуць.

Так што, нас чакаюць вялікія справы - прыкладное апісанне мовы Сі і адзінае апісанне наступных за ім моў. «Нашыя мэты зразумелыя, задачы вызначаныя. За працу, таварышы! (Бурныя, працяглыя апладысменты, якія пераходзяць у авацыю. Усе ўстаюць.)»

Вашы думкі будуць выслуханы з вялікай увагай, ваша дапамога ў стварэнні сайта матрошак будзе прынята з вялікай падзякай. Больш поўныя звесткі аб кнізе ляжаць на сайце, хітра схаваным у Матрошку Сі.

Крыніца: habr.com

Дадаць каментар