Вікіпедія ruewiki https://rue.wikipedia.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0 MediaWiki 1.47.0-wmf.20 first-letter Медіа Шпеціална Діскузія Хоснователь Діскузія з хоснователём Вікіпедія Діскузія ку Вікіпедії Файл Діскузія ку файлу MediaWiki Діскузія ку MediaWiki Шаблона Діскузія ку шаблонї Поміч Діскузія ку помочі Катеґорія Діскузія ку катеґорії TimedText TimedText talk Модуль Обговорення модуля Подія Обговорення події Вікіпедія:Статї, якы повинны быти 4 1079 170201 169353 2026-09-23T14:21:15Z Rue323 31002 /* Їджіня і польногосподарство */ 170201 wikitext text/x-wiki Тото є список (приближно) 1000 найвызначнїшых статей, котры бы мала обсяговати кажда народна Вікіпедія. Зато ту не найдете карпаторусиньскы імена (окрім Енді Варголу) і назвы. Кажда статя бы мала мати холем 3 аж 5 одказів. Зато, же іде о найвызначнїшы статї, было бы добрї, кібы вшыткы належали міджі вынятковы. {{TOCright}} == Біоґрафії == === Малярї і архітекторы === # [[Ле Корбизье|Корбюзьє, Ле]] # [[Салвадор Далі|Далі, Салвадор]] # [[Албрехт Дюрер|Дюрер, Албрехт]] # '''[[Вінсент ван Ґоґ|Вінсент ван Ґоґ]]''' # [[Франсіско Ґойя|Ґойя, Франсіско]] # [[Кацусіка Гокусай|Гокусай, Кацусіка]] # [[Фріда Кало|Кало, Фріда]] # '''[[Леонардо да Вінчі|Леонардо да Вінчі]]''' # [[Анрі Матісс|Матісс, Анрі]] # '''[[Мікеланджело|Мікеланджело]]''' # '''[[Пабло Пікассо|Пабло Пікассо]]''' # [[Рафаел|Рафаел]] # '''[[Рембрандт|Рембрандт]]''' # [[Петер Паул Рубенс|Рубенс, Петер Паул]] # [[Сінан|Сінан]] # [[Дієґо Веласкес|Веласкес, Дієґо]] # [[Енді Варгол|Варгол, Енді]] # [[Френк Ллойд Райт|Райт, Френк Ллойд]] === Авторы, писателї і поеты === # [[Абу-Нувас|Абу-Нувас]] # [[Ганс Крістіан Андерсен|Андерсен, Ганс Крістіан]] # [[Мацуо Башо|Башо]] # [[Хорхе Луїс Борхес|Борхес, Хорхе Луїс]] # [[Джордж Ґордон Байрон, 6-тый Барон Байрон|Байрон, Джордж]] # '''[[Міґель де Сервантес|Міґель де Сервантес]]''' # [[Джефрі Чосер|Чосер, Джефрі]] # [[Антон Чехов|Чехов, Антон]] # '''[[Данте Аліґєрі]]''' # [[Чарлз Діккенс|Діккенс, Чарлз]] # [[Федор Достоєвскый|Достоєвскый, Федор]] # [[Ґабрієл Ґарсія Маркес|Ґарсія Маркес, Ґабрієл]] # '''[[Йоганн Волфґанґ фон Ґёте]]''' # [[Гафіз|Гафіз]] # '''[[Гомер|Гомер]]''' # '''[[Віктор Гюґо|Віктор Гюґо]]''' # [[Джеймс Джойс|Джойс, Джеймс]] # [[Франц Кафка|Кафка, Франц]] # [[Калідаса|Калідаса]] # [[Лі Бо|Лі Бо]] # [[Наґіб Магфуз|Магфуз, Наґіб]] # [[Мольєр|Мольєр]] # [[Публій Овідій Насо|Насо, Публій Овідій]] # [[Марцел Пруст|Пруст, Марцел]] # [[Александер Пушкін|Пушкін, Александер]] # '''[[Вільям Шекспір|Вільям Шекспір]]''' # [[Софокл|Софокл]] # [[Рабіндранат Таґор|Таґор, Рабіндранат]] # '''[[Лев Толстой|Лев Толстой]]''' # [[Марк Твейн|Твейн, Марк]] # [[Верґілій|Верґілій]] === Композіторы і музиканты === # [[Луї Армстронґ|Армстронґ, Луї]] # '''[[Йоганн Себастьян Бах|Йоганн Себастьян Бах]]''' # [[The Beatles|The Beatles]] # '''[[Людвіґ ван Бетховен|Людвіґ ван Бетховен]]''' # [[Йоганнес Брамс|Брамс, Йоганнес]] # [[Фредерік Шопен|Шопен, Фредерік]] # [[Антонін Дворжак|Дворжак, Антонін]] # [[Ґеорґ Фрідріх Гендел|Гендел, Ґеорґ Фрідріх]] # [[Йозеф Гайдн|Гайдн, Йозеф Франц]] # [[Ґустав Малер|Малер, Ґустав]] # '''[[Вольфґанґ Амадей Моцарт|Фольфґанґ Амадей Моцарт]]''' # [[Джованні Пєрлуїджі да Палестріна|Палестріна, Джованні Пєрлуіджі]] # [[Едіт Піаф|Піаф, Едіт]] # [[Елвіс Преслі|Преслі, Елвіс]] # [[Джакомо Пуччіні|Пуччіні, Джакомо]] # [[Франц Шуберт|Шуберт, Франц]] # [[Іґор Стравіньскый|Стравіньскый, Іґор]] # '''[[Петро Ілліч Чайковскый|Петро Ілліч Чайковскый]]''' # '''[[Джузеппе Верді|Джузеппе Верді]]''' # [[Антоніо Вівалді|Вівалді, Антоніо]] # [[Ріхард Ваґнер|Ваґнер, Ріхард]] === Вандровници === # [[Руал Амундсен|Амундсен, Руал]] # [[Ніл Армстронґ|Армстронґ, Ніл]] # [[Жак Картьє|Картьє, Жак]] # '''[[Крістофор Колумб|Крістофор Колумб]]''' # [[Джеймс Кук|Кук, Джеймс]] # [[Ернан Кортес|Кортес, Ернан]] # '''[[Юрій Ґаґарін|Юрій Ґаґарін]]''' # [[Васко да Ґама|да Ґама, Васко]] # [[Ібн Батута|Ібн Батута]] # '''[[Фернан Маґеллан|Фернан Маґеллан]]''' # [[Марко Поло|Поло, Марко]] # [[Чжен Хе|Чжен Хе]] === Режісеры, сценарісты і акторы === # [[Інґмар Берґман|Берґман, Інґмар]] # [[Сара Бернар|Бернар, Сара]] # [[Чарлі Чаплін|Чаплін, Чарлі]] # [[Марлен Дітріх|Дітріх, Марлен]] # [[Уолт Дісней|Дісней, Уолт]] # [[Серґей Михайлович Ейзенштейн|Ейзенштейн, Серґей]] # [[Федеріко Фелліні|Фелліні, Федеріко]] # [[Алфред Гічкок|Гічкок, Алфред]] # [[Стенлі Кубрік|Кубрік, Стенлі]] # [[Акіра Куросава|Куросава, Акіра]] # [[Мерілін Монро|Монро, Мерілін]] # [[Сатьяджит Рей|Рей, Сатьяджит]] # [[Стівен Спілберґ|Спілберґ, Стівен]] === Вынаходници, вчены і математіци === # '''[[Архімед|Архімед]]''' # [[Авіценна|Авіценна]] # [[Тім Бернерс-Лі|Бернерс-Лі, Тім]] # [[Брагмаґупта]] # '''[[Миколай Коперник|Миколай Коперник]]''' # [[Марія Кюрі|Кюрі, Марія]] # '''[[Чарлз Дарвін|Чарлз Дарвін]]''' # '''[[Томас Едісон|Томас Едісон]]''' # '''[[Алберт Айнштайн|Алберт Айнштайн]]''' # '''[[Евклід|Евклід]]''' # [[Леонард Ейлер|Ейлер, Леонард]] # [[Майкл Фарадей|Фарадей, Майкл]] # [[Енріко Фермі|Фермі, Енріко]] # '''[[Генрі Форд|Генрі Форд]]''' # [[Ґален|Ґален]] # '''[[Ґалілео Ґалілей|Ґалілео Ґалілей]]''' # [[Карл Фрідріх Ґаус|Ґаус, Карл Фрідріх]] # '''[[Йоганн Ґутенберґ|Йоганн Ґутенберґ]]''' # '''[[Давид Гилберт|Гілберт, Давід]]''' # [[Джеймс Прескотт Джоуль|Джоуль, Джеймс Прескотт]] # [[Йоганн Кеплер|Кеплер, Йоганн]] # [[Ал-Хорезмі|Ал-Хорезмі]] # [[Ґотфрід Вільгельм Лейбніц|Лейбніц, Ґотфрід]] # [[Карл Лінней|Лінней, Карл]] # [[Джеймс Клерк Максвелл|Максвелл, Джеймс Клерк]] # [[Дмитро Менделеєв|Менделеєв, Дмитро]] # '''[[Ісаак Ньютон|Ісаак Ньютон]]''' # '''[[Луі Пастер|Луі Пастер]]''' # '''[[Макс Планк|Планк, Макс]]''' # [[Ернест Резерфорд|Резерфорд, Ернест]] # '''[[Ервін Шредінґер|Шредінґер, Ервін]]''' # '''[[Нікола Тесла|Тесла, Нікола]]''' # '''[[Алан Тюрінґ|Тюрінґ, Алан]]''' # '''[[Джеймс Ватт|Джеймс Ватт]]''' === Філозофы === # '''[[Арістотель|Арістотель]]''' # [[Сімона де Бовуар|Бовуар, Сімона де]] # [[Чанакя]] # [[Ноам Чомскі|Чомскі, Ноам]] # '''[[Конфуцій|Конфуцій]]''' # '''[[Рене Декарт|Рене Декарт]]''' # '''[[Зіґмунд Фройд|Зіґмунд Фройд]]''' # [[Ґеорґ Вілгелм Фрідріх Геґел|Геґел, Ґеорґ Вілгелм Фрідріх]] # [[Ібн Халдун|Ібн Халдун]] # '''[[Іммануіл Кант|Іммануіл Кант]]''' # [[Джон Мейнард Кейнс|Кейнс, Джон Мейнард]] # '''[[Лао Цзи|Лао Цзи]]''' # '''[[Джон Локк|Джон Локк]]''' # [[Нікколо Макіавеллі|Макіавеллі, Нікколо]] # '''[[Карл Маркс|Карл Маркс]]''' # '''[[Фрідріх Ніцше|Фрідріх Ніцше]]''' # '''[[Платон|Платон]]''' # [[Жан-Жак Руссо|Руссо, Жан-Жак]] # [[Жан-Пол Сартр|Сартр, Жан-Пол]] # [[Сима Цян|Сима Цян]] # [[Адам Сміт|Сміт, Адам]] # '''[[Сократ|Сократ]]''' # '''[[Волтер|Волтер]]''' # [[Макс Вебер|Вебер, Макс]] # [[Людвіґ Вітґенштейн|Вітґенштейн, Людвіґ]] # [[Чжу Сі|Чжу Сі]] === Політічны лідеры === # [[Акбар Джелал-ад-дін|Джелал-ад-дін, Акбар]] # '''[[Александер Великый|Александер Великый]]''' # [[Ашока|Ашока]] <!-- Greatest Indian monarch of antiquity; spread Buddhism --> # [[Мустафа Кемал Ататюрк|Ататюрк, Мустафа Кемал]] # '''[[Октавіан Авґуст|Октавіан Авґуст]]''' # [[Отто фон Бісмарк|фон Бісмарк, Отто]] # [[Сімон Болівар|Болівар, Сімон]] # '''[[Наполеон І|Наполеон Бонапарт]]''' # [[Юлій Цезар|Цезар, Юлій]] # [[Карл I. Великый|Карл I. Великый]] # [[Вінстон Черчіл|Черчіл, Вінстон]] # [[Конштантін I|Конштантін Великый]] # '''[[Кір Великый|Кір Великый]]''' # [[Шарл де Ґолл|де Ґолл, Шарл]] # [[Алжбета I Анґліцька|Алжбета I Анґліцька]] # [[Магатма Ґанді|Ґанді, Магатма]] # '''[[Чінґізхан|Чінґізхан]]''' # [[Че Ґевара|Ґевара, Че]] # '''[[Адолф Гітлер|Адолф Гітлер]]''' # [[Яна з Арку|Яна з Арку]] # [[Мартін Лутер Кінґ|Кінґ, Мартін Лутер]] # '''[[Володимир Ленін|Володимир Ленін]]''' # [[Абрагам Лінколн|Лінколн, Абрагам]] # [[Людвік XIV Французьскый|Людвік XIV.]] # [[Роза Луксембурґ|Луксембурґ, Роза]] # [[Нелсон Мандела|Мандела, Нелсон]] # [[Мао Цзедун|Мао Цзедун]] # [[Джавагарлал Негру|Негру, Джавагарлал]] # [[Кваме Нкрума|Нкрума, Кваме]] # [[Петро I Російскый|Петро I Російскый]] # '''[[Цінь Ші Хуан-ді|Цінь Ші Хуан-ді]]'''<!-- Created first Chinese state and dynasty --> # [[Франклін Рузвелт|Рузвелт, Франклін Д.]] # [[Саладін|Саладін]] # [[Осиф Сталін|Сталін, Осіф]] # [[Сулейман Пышный|Сулейман Пышный]] <!-- Greatest Ottoman sultan --> # [[Сун Ятсен|Сун Ятсен]] # [[Тімур|Тімур]] # [[Омар|Омар]] <!-- Conquered Persia, Syria, Palestine, and Egypt for Islam --> # '''[[Джордж Вашінґтон|Джордж Вашінґтон]]''' === Реліґійны фіґуры і теолоґы === # [[Абрагам|Абрагам]] # [[Томаш Аквіньскый|Аквіньскый, Томаш]] # [[Святый Августин|Авґустін з Гіппо]] # '''[[Будга Ґаутама|Будга]]''' # [[ал-Ґазалі|ал-Ґазалі]] # '''[[Ісус Хрістос|Ісус Хрістос]]''' # [[Мартін Лутер|Лутер, Мартін]] # '''[[Моісей|Моісей]]''' # '''[[Могамед|Могамед]]''' # [[Нагарджуна]] == Філозофія == # [[Атеізм|Атеізм]] # [[Краса|Краса]] # [[Діалектіка|Діалектіка]] # [[Етіка|Етіка]] # [[Епістемолоґія|Епістемолоґія]] # [[Слободна воля|Слободна воля]] # '''[[Знаня|Знаня]]''' # [[Лоґіка|Лоґіка]] # [[Матеріалізм|Матеріалізм]] # '''[[Філозофія|Філозофія]]''' # [[Реаліта|Реаліта]] # [[Правда|Правда]] == Реліґія == # [[Реліґійный фундаменталізм|Фундаменталізм]] # '''[[Бог|Бог]]''' ## [[Монотеізм|Монотеізм]] ## [[Політеізм|Політеізм]] # '''[[Міфолоґія|Міфолоґія]]''' # '''[[Реліґія|Реліґія]]''' # '''[[Душа|Душа]]''' # Шпеціфічны реліґії ## '''[[Будгізм|Будгізм]]''' ## '''[[Хрістіанство|Хрістіанство]]''' ### [[Католицька церьков|Католицька церьков]] ### [[Протестантство]] ## [[Конфуцианство]] ## '''[[Індуїзм|Індуізм]]''' ### [[Трімурті]] ## '''[[Іслам|Іслам]]''' ### [[Шіїты|Шііты]] ## [[Джайнізм|Джайнізм]] ## '''[[Юдаїзм|Юдаїзм]]''' ## [[Сікгізм|Сікгізм]] ## [[Таоізм|Таоізм]] ## [[Зороастрізм|Зороастрізм]] # Духовны практікы ## [[Суфізм|Суфізм]] ## [[Йоґа|Йоґа]] ## [[Зен|Зен]] == Соціалны наукы == # '''[[Громада|Громада]]''' # [[Цівілізація|Цівілізація]] # '''[[Ошколованя|Ошколованя]]''' === Псіхолоґія === # '''[[Хованя ся|Хованя ся]]''' # '''[[Емоція|Емоція]]''' # [[Любов|Любов]] # [[Розум|Розум]] # [[Псіхолоґія|Псіхолоґія]] # '''[[Мыслїня|Мыслїня]]''' === Родина і одношіня меджі людьми === # '''[[Фамилія|Фамилія]]''' # '''[[Дїтина|Дїтина]]''' # [[Хлоп|Хлоп]] # '''[[Манжелство|Манжелство]]''' # [[Жена|Жена]] === Політіка === # '''[[Політіка|Політіка]]''' # [[Колоніалізм|Колоніалізм]] # [[Діпломація|Діпломація]] # '''[[Влада|Влада]]''' ## [[Демокрація|Демокрація]] ## [[Діктатура|Діктатура]] ## [[Монархія|Монархія]] ## [[Републіка|Републіка]] # [[Ідеолоґія|Ідеолоґія]] ## [[Анархізм|Анархізм]] ## [[Комунизм|Комунізм]] ## [[Конзерватівізм|Конзерватівізм]] ## [[Фашізм|Фашізм]] ## [[Лібералізм|Лібералізм]] ## [[Марксізм|Марксізм]] ## [[Націоналізм|Націоналізм]] ## [[Соціалізм|Соціалізм]] # [[Імперіалізм|Імперіалізм]] # '''[[Штат|Штат]]''' # [[Політічна партія|Політічна партія]] # [[Пропаґанда|Пропаґанда]] === Бізніс і економіка === # '''[[Економіка|Економіка]]''' # [[Капітал (економіка)|Капітал]] # [[Капіталізм|Капіталізм]] # [[Мена|Мена]] ## [[Евро|Евро]] ## [[Японьскый єн|Японьскый єн]] ## [[Америцькый долар]] # [[Промысел|Промысел]] # '''[[Пінязї|Пінязї]]''' # [[Дань|Дань]] === Право === # '''[[Право|Право]]''' # [[Конштітуція|Конштітуція]] === Меджінародны орґанізації === # [[Африцька унія|Африцька унія]] # [[Арабска ліґа|Арабска ліґа]] # [[Асоціація штатів Южновыходной Азії|Асоціація штатів Южновыходной Азії]] # [[Сполоченство Націй]] # [[Европска унія|Европска унія]] # '''[[Міджінародный рух Червеного Хреста і Червеного Півмісяця|Меджінародный рух Червеного Хреста і Червеного Півмісяця]]''' # [[НАТО|НАТО]] # [[Нобелівска премія|Нобелівска премія]] # [[ОПЕК|ОПЕК]] # '''[[Орґанізація Зъєдиненых Націй|Орґанізація споєных народів]]''' ## [[Міджінародный суд|Меджінародный суд]] ## [[Міджінародный меновый фонд|Меджінародный меновый фонд]] ## [[ЮНЕСКО|ЮНЕСКО]] ## [[Універзална декларація людьскых прав|Універзална декларація людьскых прав]] ## [[Світова орґанізація охороны здоровя]] # [[Світова банка|Світова банка]] # [[Світова торгова орґанізація|Світова торгова орґанізація]] === Война і зброїня === # '''[[Збройна сила|Збройна сила]]''' # '''[[Мір|Мір]]''' # [[Терорізм|Терорізм]] # '''[[Война|Война]]''' ## [[Громадяньска война|Громадяньска война]] === Соціалны вопросы === # [[Аборт]] # '''[[Смертна кара]]''' # [[Фемінізм]] # [[Ґлобалізація|Ґлобалізація]] # '''[[Людьскы права|Людьскы права]]''' # [[Худоба]] (бідность) # [[Расізм|Расізм]] # '''[[Рабство|Рабство]]''' == Язык і література == # '''[[Язык|Язык]]''' # Шпеціфічны языкы ## [[Арабскый язык|Арабскый]] ## [[Бенґальскый язык|Бенґальскый]] ## [[Кітайскый язык|Кітайскый]] <!--With the clarification that it is, linguistically speaking, not a single language.--> ## [[Анґліцькый язык|Анґліцькый]] ## [[Французькый язык|Французькый]] ## [[Нїмецькый язык|Нїмецькый]] ## [[Ґрецькый язык|Ґрецькый]] ## [[Гебрейскый язык|Гебрейскый]] ## [[Гіндустані]] ## [[Японьскый язык|Японьскый]] ## [[Латиньскый язык|Латиньскый]] ## [[Перьскый язык|Перьскый]] ## [[Портуґальскый язык|Портуґальскый]] ## [[Російскый язык|Російскый]] ## [[Санскріт|Санскріт]] ## [[Шпанєльскый язык|Шпанєльскый]] ## [[Свагілі]] ## [[Турецькый язык|Турецькый]] # [[Лінґвістіка|Лінґвістіка]] # [[Ґраматіка|Ґраматіка]] # '''[[Слово|Слово]]''' ## [[Фонема]] ## [[Склад (лінґвістика)|Склад]] # '''[[Писмова сістема]]''' ## [[Арабскый алфавіт|Арабскый алфавіт]] ## [[Китайськоє писаня|Кітайскый сімбол]] ## [[Кіріліця|Кіріліця]] ## [[Ґрецькый алфавіт|Ґрецькый алфавіт]] ## [[Ганґиль]] ## [[Латиньскый алфавіт|Латиньскый алфавіт]] # [[Ґрамотность|Ґрамотность]] # '''[[Переклад (языконаука)|Переклад]]''' # '''[[Література|Література]]''' ## [[Проза|Проза]] ### [[Уміня войны]] ## [[Фікшн|Фікція]] ### [[Тісяча і єдна ніч|Тісяча і єдна ніч]] ## [[Роман]] ### [[Сон у челленуй палатї]] ### [[Повість за Ґендзі|Повість за Ґендзі]] ## '''[[Поезія|Поезія]]''' ### [[Епос о Гилгамешови]] ### [[Илиада]] ### [[Магабгарата]] ### [[Шах-наме|Шах-наме]] ## Реліґійны тексты ### [[Біблія]] ### [[Магабгарата]] == Міряня == # '''[[Міряня|Міряня]]''' # [[Система SI]] # [[Цент]] == Маса, обєм і довжка == # [[Килограм|Кілоґрам]] # [[Литер|Літер]] # [[Метер|Метер]] === Час === # '''[[Календарь|Календарь]]''' ## [[Ґреґоріаньскый календарь|Ґреґоріаньскый календарь]] # [[Годинкы]] # [[Секунда|Секунда]] # '''[[День|День]]''' # '''[[Рік|Рік]]''' # [[Часова зона|Часова зона]] == Наука == # '''[[Наука|Наука]]''' # '''[[Природа|Природа]]''' === Астрономія === # '''[[Астрономія|Астрономія]]''' # [[Астероід|Астероід]] # '''[[Великый выбух]]''' # [[Чорна дїра|Чорна дїра]] # [[Комета|Комета]] # '''[[Ґалаксія|Ґалаксія]]''' ## [[Молочна дорога|Молочна дорога]] # '''[[Місяць (сателіт)|Місяць]]''' # '''[[Планета|Планета]]''' ## '''[[Земля (планета)|Земля]]''' ## [[Юпітер (планета)|Юпітер]] ## [[Марс (планета)|Марс]] ## [[Меркур (планета)|Меркур]] ## [[Нептун (планета)|Нептун]] ## [[Сатурн (планета)|Сатурн]] ## [[Уран (планета)|Уран]] ## [[Венера (планета)|Венера]] # [[Сонячна сістема|Сонячна сістема]] # [[Космічноє лїтаня|Козмічный лет]] # '''[[Звізда|Звізда]]''' ## '''[[Сонце|Сонце]]''' # [[Весмір|Весмір]] === Біолоґія === # '''[[Біолоґія|Біолоґія]]''' # Біолоґічны речовины ## '''[[ДНА|ДНА]]''' ## [[Ензім|Ензім]] ## [[Протеін|Протеін]] # [[Ботаніка|Ботаніка]] # '''[[Смерть|Смерть]]''' ## [[Самовражда|Самовражда]] # [[Еколоґія|Еколоґія]] ## [[Огрожены виды]] # [[Удомашнїня|Удомашнїня]] # '''[[Жывот|Жывот]]''' # [[Біолоґічна класіфікація]] ## [[Вид (біолоґія)|Вид]] ==== Біолоґічны процесы ==== # '''[[Метаболізм|Метаболізм]]''' ## [[Травлїня]] ## [[Фотосінтеза|Фотосінтеза]] ## [[Дыханя]] # '''[[Еволуція|Еволуція]]''' # '''[[Розмножованя|Розмножованя]]''' ## [[Тяж]] ## [[Пол (біолоґія)|Пол]] ==== Орґанізмы ==== # '''[[Орґанізм|Орґанізм]]''' # '''[[Жывотины]]''' ## [[Нематоды]] ## [[Мягкуны]] (моллюскы) ## [[Членистоногы]] ### '''[[Хробач]]''' #### [[Мурянкы|Мурянкы]] #### [[Пчолы|Пчолы]] #### [[Комары|Комары]] ### [[Павукы|Павукы]] ## [[Хордовы]] ### '''[[Земноводны|Земноводны]]''' ### '''[[Птахы|Птахы]]''' #### [[Курка|Курка]] #### [[Голубовы]] ### '''[[Рыбы|Рыбы]]''' #### [[Жралок|Жралок]] ### '''[[Ссавцї|Ссавцї]]''' #### [[Верблюд|Верблюд]] #### [[Мачка|Мачка]] #### [[Корова|Корова]] #### [[Пес|Пес]] #### [[Кінь|Кінь]] #### [[Вівця|Вівця]] #### [[Грызуны]] (Rodentia) #### [[Свиня домашня|Домашня свиня]] #### [[Приматы|Приматы]] ##### '''[[Чоловік розумный|Чоловік розумный]]''' #### [[Морьскы ссавцї]] ##### [[Cetacea|Whales, dolphins and porpoises]] ### '''[[Плазы|Плазы]]''' #### [[Дінозавры|Дінозавры]] #### [[Гады|Гады]] # [[Археї|Археї]] # '''[[Бактерії|Бактерії]]''' # '''[[Грибы|Грибы]]''' # '''[[Рослины]]''' ## [[Косиця|Квіткы]] ## [[Дерево|Дерево]] # [[Найпростїшы|Найпростїшы]] ==== Анатомія ==== # '''[[Анатомія]]''' # [[Груди]] # '''[[Бунка (біолоґія)|Бунка]]''' # [[Кружіня крові]] ## [[Кров]] ## [[Сердце|Сердце]] # [[Ендокрінна сістема]] # [[Сістема травлїня]] ## [[Ободова кышка]] ## [[Тонка кышка]] ## [[Печунка]] # [[Свалы]] # [[Нервова сістема]] ## [[Мозоґ]] ## [[Нерв]] ## [[Сензорна сістема]] ### [[Ухо]] ### [[Ніс]] ### [[Око]] # [[Репродукчна сістема]] # [[Respiratory system|Respiratory system]] # [[Костра]] # [[Скора]] ==== Здоровя і медіціна ==== # '''[[Медіціна|Медіціна]]''' # [[Addiction|Addiction]] ## [[Ethanol|Ethanol]] ## [[Табак]] # [[Алцгеймерова хворота]] # '''[[Раковіна|Раковіна]]''' # [[Chronic obstructive pulmonary disease]] # [[Common cold|Common cold]] # [[Dentistry|Dentistry]] # [[Інвалідность]] ## [[Сліпота]] ## [[Глухота]] # [[Mental disorder|Mental disorder]] # '''[[Хворота|Хворота]]''' # [[Епілепсія]] # [[Pharmaceutical drug|Pharmaceutical drug]] ## [[Antibiotic|Antibiotic]] # '''[[Здоровя|Здоровя]]''' # [[Gastroenteritis]] # [[Headache|Headache]] # [[Сердцьовый напад|Інфаркт міокарда]] # [[Імунітна сістема]] # '''[[Маларія|Маларія]]''' # [[Malnutrition|Malnutrition]] # [[Менструація]] # [[Obesity|Obesity]] # [[Пандемія]] # [[Pneumonia|Pneumonia]] # [[Poliomyelitis|Poliomyelitis]] # [[Sexually transmitted disease|Sexually transmitted disease]] ## '''[[АІДС|АІДС]]''' # [[Stroke|Stroke]] # [[Сухоты]] # [[Diabetes mellitus|Diabetes mellitus]] # '''[[Вірус|Вірус]]''' ## [[Influenza|Influenza]] ## [[Smallpox|Smallpox]] === Хемія === # '''[[Хемія|Хемія]]''' # [[Неорганична хемия|Неорґанічна хемія]] # [[Біохемія]] ## [[Гормон]] # [[Хемічна злученина]] ## [[Кыселина]] ## [[Основа (хемія)]] ## [[Сіль]] # '''[[Хемічный елемент]]''' ## '''[[Періодічна сістема елементів]]''' ## [[Алуміній]] ## [[Карбон]] ## [[Мідь]] ## '''[[Золото]]''' ## '''[[Гідроґен]]''' ## '''[[Желїзо]]''' ## [[Азот]] ## '''[[Оксиген]]''' ## [[Стрібро]] ## [[Цін]] # [[Орґанічна хемія]] ## [[Алкоголы]] ## [[Угльоводы]] ## [[Ліпіды]] # '''[[Молекула]]''' # [[Аналітічна хемія]] # [[Фізічна хемія]] === Ґеолоґія === # [[Лавина]] # '''[[Клімат]]''' ## [[El Niño-Southern Oscillation|El Niño-Southern Oscillation]] ## [[Ґлобалне потеплїня]] # [[Землетрясїня]] # '''[[Ґеолоґія]]''' ## '''[[Мінералы]]''' ### [[Діамант]] ## [[Plate tectonics|Plate tectonics]] ## [[Скала]] # [[Природне нещастя]] ## [[Повінь]] ## [[Цунамі]] # [[Вулкан]] # '''[[Хвіля]]''' ## [[Хмара]] ## [[Додж]] ## [[Снїг]] ## [[Торнадо]] ## [[Тропічный ціклон]] ## [[Вітор]] === Фізіка === # '''[[Фізіка|Фізіка]]''' # [[Акцелерація|Акцелерація]] # '''[[Атом|Атом]]''' # '''[[Енерґія|Енерґія]]''' ## [[Закон всокочіня енерґії]] # '''[[Електромаґнетічне жарїня]]''' ## [[Інфрачервене жарїня|Інфрачервене]] ## [[Ултрафіалове жарїня|Ултрафіалове]] ## [[Світло|Світло]] ### '''[[Фарба]]''' # [[Класічна механіка]] # '''[[Сила]]''' ## [[Електромаґнетізм]] ### [[Маґнетічне поле]] ## [[Ґравітація]] ## [[Силна інтеракція]] ## [[Слаба інтеракція]] # [[Маґнет|Маґнет]] # '''[[Вага]]''' # '''[[Ков|Ков]]''' ## [[Оцїль|Оцїль]] # [[Nuclear fission|Nuclear fission]] # '''[[Термодінамічна фаза|Термодінамічна фаза]]''' ## [[Ґаз|Ґаз]] ## [[Liquid|Liquid]] ## [[Плазма (фізіка)|Плазма]] ## [[Solid|Solid]] # [[Квантова механіка|Квантова механіка]] # [[Радіоактівный розпад]] # '''[[General relativity|General relativity]]''' # [[Special relativity|Special relativity]] # [[Semiconductor|Semiconductor]] # '''[[Звук|Звук]]''' # '''[[Швыдкость|Швыдкость]]''' ## [[Швыдкость світла|Швыдкость світла]] # '''[[Час|Час]]''' # [[Термодінаміка|Термодінаміка]] # [[Вакуум]] === Математіка === # '''[[Математіка]]''' # [[Аріфметіка]] ## [[Лоґарітм]] ## '''[[Чісло]]''' ## [[Теорія чісел]] # [[Алґебра]] ## [[Комплексне чісло]] ## [[Equation]] ## [[Лінеарна алґебра]] # [[Ґеометрія]] ## [[Угол]] ## [[Площа]] ## [[Сістема коордінат]] ## [[Чісло пі]] ## [[Піфаґорово речіня]] ## [[Сіметрія]] ## [[Тріґонометрія]] # [[Математічна аналіза]] ## [[Differential equation]] ## [[Чісловы методы]] # Правдоподобность і штатістіка ## [[Правдоподобность]] ## [[Штатістіка]] # Logic and foundations ## [[Функція (математіка)]] ## [[Бесконечность]] ## [[Математічне доказательство]] ## [[Теорія множин]] == Їджіня і польногосподарство == === Польногосподарство === # '''[[Польногосподарство]]''' ## [[Irrigation]] ## [[Плуг]] === Їджіня === # '''[[Їджіня|Їджіня]]''' # [[Хлїб|Хлїб]] # [[Cereal|Cereal]] ## [[Ярець]] ## [[Мелай|Кендеріця]] ## [[Овес|Овес]] ## [[Рис|Ріжа]] ## [[Жыто|Жыто]] ## [[Sorghum|Sorghum]] ## [[Пшеніця|Пшеніця]] # [[Сыр|Сыр]] # [[Чоколада|Чоколада]] # [[Мед|Мед]] # [[Плод (ботаніка)|Плод]] ## [[Ябко|Ябко]] ## [[Банан|Банан]] ## [[Грозно]] ## [[Соя|Соя]] ## [[Цітрон|Цітрон]] ## [[Орїх (плод)|Орїх (плод)]] # [[Мясо|Мясо]] # [[Цукор|Цукерь]] # [[Кертовина]] ## [[Бандурка|Бандурка]] ==== Напої ==== # [[Пиво|Пиво]] # [[Кава|Кава]] # [[Джус|Джус]] # '''[[Молоко|Молоко]]''' # [[Чай|Чай]] # '''[[Вода|Вода]]''' # [[Вино|Вино]] == Технолоґія == # '''[[Технолоґія|Технолоґія]]''' # [[Біотехнолоґія|Біотехнолоґія]] # [[Облечіня]] ## [[Бавовна|Бавовна]] # [[Інджінїрінґ|Інджінїрінґ]] ## [[Машына]] ## [[Робот]] ## [[Шруба]] ## [[Колесо]] # [[Металурґія]] # [[Нанотехнолоґія|Нанотехнолоґія]] === Комунікація === # '''[[Комунікація|Комунікація]]''' # [[Книга|Книга]] # '''[[Інформація|Інформація]]''' ## [[Енціклопедія|Енціклопедія]] # [[Журналістіка]] ## [[Новины (папірёвы)|Новины]] ## [[Медія]] # [[Друкарство]] # [[Телефон|Телефон]] === Електроніка === # [[Електроніка|Електроніка]] ## [[Електрічный обвод]] ## [[Фреквенція|Фреквенція]] # Сучасткы ## [[Кондензатор]] ## [[Індукчна шпулька]] ## [[Транзістор]] ## [[Діода]] ## [[Резістор]] ## [[Трансформатор]] ==== Компютеры і інтернет ==== # '''[[Компютер|Компютер]]''' ## [[Твердый діск|Твердый діск]] ## [[Централный процесор|Централный процесор]] # [[Умела інтеліґенція|Умела інтеліґенція]] # [[Інформачна технолоґія|Інформачна технолоґія]] ## [[Алґорітм|Алґорітм]] # [[Інтернет|Інтернет]] ## [[Електронічна пошта|Електронічна пошта]] ## [[Цїлосвітова павучіна|Цїлосвітова павучіна]] # [[Операчна сістема|Операчна сістема]] # [[Язык проґрамованя|Язык проґрамованя]] # [[Софтвер|Проґрамове забеспечіня]] === Енерґія і палива === # [[Обновительна енерґетіка|Обновительна енерґетіка]] # [[Електрика|Електрика]] ## [[Ядерна енерґетіка|Ядерна енерґетіка]] # [[Фосилны палива]] # [[Internal combustion engine|Internal combustion engine]] # [[Парова машына|Парова машына]] # [[Огень|Огень]] === Матеріалы === # [[Скло|Скло]] # [[Папірь|Папірь]] # [[Пласт|Пласт]] # [[Деревина]] === Транспорт === # [[Транспорт|Транспорт]] # [[Летадло|Летадло]] # [[Автомобіл|Автомобіл]] # [[Біціґель|Біціґель]] # [[Понорка]] (субмаріна) # [[Шыфа|Шыфа]] # [[Влак]] === Зброїня === # [[Weapon|Weapon]] ## [[Sword|Sword]] ## [[Firearm|Firearm]] ### [[Machine gun|Machine gun]] ## [[Nuclear weapon|Nuclear weapon]] # [[Танк|Танк]] # [[Explosive material|Explosive material]] ## [[Бушный порох|Бушный порох]] == Уменя і рекреація == # '''[[Култура|Култура]]''' # '''[[Уменя|Уменя]]''' ## [[Комікс|Комікс]] ## [[Малярство]] ## [[Фотоґрафія|Фотоґрафія]] ## [[Скулптура|Скулптура]] ## [[Гончарьство]] # [[Танець|Танець]] # [[Мода|Мода]] # [[Театер]] # [[Каліґрафія|Каліґрафія]] === Архітектура і будованя === # '''[[Архітектура|Архітектура]]''' # [[Arch|Arch]] # [[Міст|Міст]] # [[Канал (гідротехніка)|Канал]] # [[Dam|Dam]] # [[Dome|Dome]] # '''[[Хыжа|Хыжа]]''' # Шпеціфічны будовы ## [[Angkor Wat]] ## [[Колосей]] ## [[Great Wall of China|Great Wall of China]] ## [[Еффельова турня|Айфелова вежа]] ## [[Empire State Building|Empire State Building]] ## [[Hagia Sophia|Храм Божой Премудрости]] ## [[Парфенон]] ## [[Giza pyramid complex]] ## [[St. Peter's Basilica|St. Peter's Basilica]] ## [[Статуя Слободы]] ## [[Тадж Махал]] ## [[Three Gorges Dam]] # [[Піраміда|Піраміда]] # [[Вежа|Вежа]] === Філм, радіо і телевізія === # '''[[Філм|Філм]]''' ## '''[[Анімація|Анімація]]''' # '''[[Радіо|Радіо]]''' # '''[[Телевізія|Телевізія]]''' === Музика === # '''[[Музика|Музика]]''' # [[Пісня|Пісня]] # Шпеціфічны музичны жанры ## [[Блуз|Блуз]] ## [[Класічна музика|Класічна музика]] ### [[Опера]] ### [[Сімфонія|Сімфонія]] ## [[Електронічна музика|Електронічна музика]] ## [[Фламенґо|Фламенґо]] ## [[Гіп-гоп|Гіп-гоп]] ## [[Джез|Джез]] ## [[Реґе|Реґе]] ## [[Рок-музика|Рок-музика]] ## [[Самба|Самба]] # Шпеціфічны музичны інштрументы ## [[Бубны|Бубны]] ## [[Флавта|Флавта]] ## [[Ґітара|Ґітара]] ## [[Клавір|Клавір]] ## [[Трубка|Трубка]] ## [[Гуслї|Гуслї]] === Релакс === # '''[[Гра|Гра]]''' ## [[Backgammon|Backgammon]] ## [[Шахы|Шахы]] ## [[Ґо (бавка)]] ## [[Компютерна ігра|Компютерны гры]] # [[Gambling|Gambling]] # [[Martial arts|Martial arts]] ## [[Карате|Карате]] ## [[Джудо|Джудо]] # [[Олімпійскы гры|Олімпійскы гры]] # '''[[Шпорт|Шпорт]]''' ## [[Athletics]] ## [[Baseball|Baseball]] ## [[Баскетбал|Баскетбал]] ## [[Крікет|Крікет]] ## [[Фотбал|Фотбал]] ## [[Ґолф|Ґолф]] ## [[Rugby football|Rugby]] ## [[Теніс|Теніс]] # '''[[Грачка|Грачка]]''' == Історія == # '''[[Історія|Історія]]''' === Правік і стародавный світ === # [[Правік|Правік]] # [[Камяна доба|Камяна доба]] # [[Бронзова доба|Бронзова доба]] # [[Желїзна доба|Желїзна доба]] # [[Мезопотамія|Мезопотамія]] # [[Шумер]] # [[Старовікый Еґіпет|Старовікый Еґіпет]] # [[Старовіке Ґрецько|Старовіке Ґрецько]] # [[Римска империя]] # [[Дінастія Ган|Дінастія Ган]] # [[Держава Ґуптів|Держава Ґуптів]] === Середнёвіча і ранный нововік === # [[Абасідьскый халіфат]] # [[Просвітительство]] # [[Азтекы]] # [[Візантьска ріша]] # [[Хрестовы походы]] # [[Священна римска імперія]] # [[Інкска ріша]] # [[Малійска ріша]] # [[Майска цівілізація]] # [[Середнёвіча]] # [[Монґольска ріша]] # [[Дінастія Мінґ]] # [[Османьска ріша]] # [[Реформация]] # [[Ренесанція]] # [[Дінастія Танґ]] # [[Вікінґове]] === Сучасность === # [[Арабско-ізраільскый конфлікт]] # [[Обчаньска война в США]] # [[Апартеід]] # '''[[Брітаньска Імперія|Брітаньска Імперія]]''' # '''[[Холодна война|Холодна война]]''' # [[Културна револуція]] # '''[[Велика французьска револуція]]''' # [[Велика депресія]] # [[Голокауст]] # '''[[Промыслова револуція]]''' # [[Націстічне Нїмецько]] # [[Реставрація Мейджі]] <!-- most significant event in Japanese history --> # [[Октоброва револуція]] # [[Дінастія Чінґ]] # [[Вєтнамска война]] # '''[[Перша світова война]]''' # '''[[Друга світова война]]''' == Ґеоґрафія == # '''[[Ґеоґрафія|Ґеоґрафія]]''' # '''[[Місто|Місто]]''' # '''[[Контінент|Контінент]]''' # [[Лїс]] # [[Гора]] # [[Пустыня|Пустыня]] # [[Северный пол|Северный пол]] # '''[[Океан|Океан]]''' # [[Ріка|Ріка]] # '''[[Море|Море]]''' # [[Южный пол|Южный пол]] === Контіненты і вызначны реґіоны === # '''[[Африка|Африка]]''' # '''[[Антарктіда|Антарктіда]]''' # '''[[Азія|Азія]]''' # '''[[Европа|Европа]]''' # [[Середнїй Выход|Середнїй Выход]] # '''[[Северна Америка|Северна Америка]]''' # '''[[Океанія|Океанія]]''' # '''[[Южна Америка|Южна Америка]]''' === Країны === Мають быти створены статї про векшыну, або вшыткы 243 країны [http://en.wikipedia.org/wiki/List_of_sovereign_states Список країн], але зараз найважнїшы суть: # [[Афґаністан|Афґаністан]] # [[Алжір|Алжір]] # [[Арґентіна|Арґентіна]] # [[Австралія]] # [[Австрія|Австрія]] # [[Бандґладеш|Бандґладеш]] # '''[[Бразілія|Бразілія]]''' # [[Канада|Канада]] # '''[[Кітайска Народна Републіка|Кітайска Народна Републіка]]''' # [[Демократічна републіка Конґо]] # [[Куба|Куба]] # [[Еґіпет|Еґіпет]] # [[Етіопія|Етіопія]] # '''[[Франція|Франція]]''' # '''[[Нїмецько|Нїмецько]]''' # '''[[Індія|Індія]]''' # [[Індонезія|Індонезія]] # '''[[Іран|Іран]]''' # [[Ірак|Ірак]] # [[Ізраіль|Ізраіль]] # '''[[Італія|Італія]]''' # '''[[Японія|Японія]]''' # [[Мексіко|Мексіко]] # [[Голандія|Голандія]] # [[Новый Зеланд|Новый Зеланд]] # [[Ніґерія|Ніґерія]] # [[Пакістан|Пакістан]] # [[Польско|Польско]] # [[Портуґалія|Портуґалія]] # '''[[Росія|Росія]]''' # [[Саудьска Арабія|Саудьска Арабія]] # [[Сінґапур]] # [[Южна Африка|Южна Африка]] # [[Южна Корея|Южна Корея]] # '''[[Іспанія|Іспанія]]''' # [[Судан|Судан]] # [[Швайцарія|Швайцарія]] # [[Танзанія|Танзанія]] # [[Таїланд|Таїланд]] # [[Турція|Турція]] # [[Україна|Україна]] # '''[[Велика Брітанія|Велика Брітанія]]''' # '''[[США|США]]''' # [[Ватікан|Ватікан]] # [[Вєтнам|Вєтнам]] # [[Венезуела|Венезуела]] === Міста === # [[Амстердам|Амстердам]] # [[Атены|Атены]] # [[Баґдад|Баґдад]] # [[Банкок|Банкок]] # '''[[Пекінґ|Пекінґ]]''' # '''[[Берлін|Берлін]]''' # [[Боґота|Боґота]] # [[Брусел|Брусел]] # [[Буенос Аірес|Буенос Аірес]] # [[Каіро|Каіро]] # [[Капске Місто|Капске Місто]] # [[Дамаск|Дамаск]] # [[Делі|Делі]] # [[Дгака|Дгака]] # [[Дубай (місто)|Дубай]] # [[Гонґ Конґ|Гонґ Конґ]] # [[Істанбул|Істанбул]] # [[Джакарта|Джакарта]] # '''[[Єрусалим|Єрусалим]]''' # [[Карачі|Карачі]] # [[Кіншаса|Кіншаса]] # [[Колката|Колката]] # [[Лаґос (місто)|Лаґос]] # '''[[Лондон|Лондон]]''' # [[Лос Анджелес|Лос Анджелес]] # [[Мадрід|Мадрід]] # [[Мекка|Мекка]] # [[Мексіко Сіті|Мексіко Сіті]] # '''[[Москва|Москва]]''' # [[Мумбаі|Мумбаі]] # [[Найробі|Найробі]] # '''[[Ню Йорк (місто)|Ню Йорк]]''' # '''[[Паріж|Паріж]]''' # [[Ріо де Жанейро|Ріо де Жанейро]] # '''[[Рим]]''' # '''[[Санкт-Петербурґ|Санкт-Петербурґ]]''' # [[Сан Пауло|Сан Пауло]] # [[Соул|Соул]] # [[Шанґгай|Шанґгай]] # [[Сідні|Сідні]] # [[Тегеран|Тегеран]] # '''[[Токіо|Токіо]]''' # [[Відень|Відень]] # [[Вашінґтон (місто)|Вашінґтон]] === Водоймы === # '''[[Амазонка (ріка)|Амазонка (ріка)]]''' # [[Северный ледовый океан|Северный ледовый океан]] # '''[[Атлантічный океан|Атлантічный океан]]''' # [[Балтіцьке море|Балтіцьке море]] # [[Чорне море|Чорне море]] # [[Карібске море|Карібске море]] # [[Каспіцьке море|Каспіцьке море]] # [[Конґо (ріка)|Конґо (ріка)]] # [[Дунай|Дунай]] # [[Ґанґа (ріка)|Ґанґа (ріка)]] # [[Великый барєрний ріф |Великый барєрний ріф ]] # [[Великы озера|Великы озера]] # '''[[Індійскый океан|Індійскый океан]]''' # [[Інд (ріка)|Інд (ріка)]] # [[Байкал|Байкал]] # [[Танґаніка (озеро)|Танґаніка (озеро)]] # [[Вікторія (озеро)|Вікторія (озеро)]] # [[Середоземне море|Середоземне море]] # [[Міссісіпі (ріка)|Міссісіпі (ріка)]] # [[Ніґер (ріка)|Ніґер (ріка)]] # '''[[Ніл|Ніл]]''' # [[Северне море|Северне море]] # '''[[Тихый океан|Тихый океан]]''' # [[Панамскый канал|Панамскый канал]] # [[Рін|Рін]] # [[Суезькый канал|Суезькый канал]] # [[Южный океан|Южный океан]] # [[Волґа (ріка)|Волґа (ріка)]] # [[Янцзі (ріка)|Янцзі (ріка)]] # [[Жовта ріка]] === Горы і пустынї === # [[Алпы|Алпы]] # [[Анды|Анды]] # '''[[Гімалаї|Гімалаї]]''' ## [[Монт Еверест|Монт Еверест]] # [[Кіліманджаро|Кіліманджаро]] # [[Скалисты горы|Скалисты горы]] # '''[[Сагара|Сагара]]''' [[Катеґорія:Вікіпедія]] 1manzx9gn3783fdaul8xndqguxos6hn Шаблона:Lang-la 10 2413 170244 132578 2026-09-23T21:57:43Z Flipdot 23893 170244 wikitext text/x-wiki [[латиньскый язык|лат.]]{{#if: {{{1|}}}|&#32;''{{lang|la|{{{1|}}}}}''}}<noinclude> [[Category:Шаблоны языків|la]] {{documentation}} </noinclude> 1ue0m62dn7ucr1puxqqco0l7v6rxmiw Майдан (чеперушка) 0 8749 170233 170187 2026-09-23T19:34:36Z Halajkovič 33393 +приданя прапорів 170233 wikitext text/x-wiki {{Чеперушка-етм}} '''Майдан''' тото часто трафляючий ся [[Топонім|топонимъ]]. В русинском языкови означать чистинку в [[лѣс]]ѣ, лазок в горах; друге значѣня&nbsp;— розбой, рабованя („ити на майдан“&nbsp;— ити рабовати).<ref>{{Cite book| last=Чопей |first=Ласлов |author-link=Ласлов Чопей |title=Русько-мадярский словарь |location=[[Будапешт]] |year=1883 |page=177 }}</ref> Походитъ отъ османского турецкого {{lang|ota|میدان}} ''{{lang|ota-Latn|meydan}}'', отъ [[Перськый язык|перского]] {{lang|fa|میدان}} ''{{lang|fa-Latn|meydân/maydān}}'' „площа, мѣсто сборовъ“.<ref>[https://web.archive.org/web/20220101000000/https://www.lexico.com/definition/maidan “maidan”] in Lexico, Dictionary.com; Oxford University Press, 2019–2022.</ref> == Географичны назвы == === {{flagicon|Пакістан}} [[Пакистан]] === * [[Майдан (Пакистан)|Майдан]] — долина в Пакистанѣ, в районѣ Нижный Дир. === {{flagicon|Сербія}} [[Сербия]] === * [[Майдан (Сербия)|Майдан]] — село в Банатѣ, в громадѣ Нови-Кнежевац. === {{flagicon|Україна}} [[Украина]] === * [[Майдан (Закарпатска область)|Майдан]] — село в Закарпатской области. * [[Майдан (Ковельскый район)|Майдан]] — село на Волыни, в Ковельском районѣ. * [[Майдан (Маневичскый район)|Майдан]] — село на Волыни, в Маневичском районѣ. * [[Майдан Незалежности]] — площа въ [[Кийов|Киевѣ]]. == Исторія == * [[Евромайдан]] ({{Lang-uk|Євромайдан}}) — серія протестовъ 2013–2014.&nbsp;роковъ въ [[Украйина|Украинѣ]], въ томъ числѣ на [[Майдан Незалежности|Майданѣ Незалежности]]. * [[Револуція достойности]] ({{Lang-uk|Революція гідності}}) — революція 2014.&nbsp;року въ Украинѣ, наслѣдокъ [[Евромайдан]]а. * [[Норончова револуція]] ци Норончовый майдан ({{Lang-uk|Помаранчева революція, Помаранчевий майдан}}) — серія протестовъ 2004–2005.&nbsp;роковъ въ [[Украйина|Украинѣ]] на [[Майдан Незалежности|Майданѣ Незалежности]]. == Референции == {{reflist}} [[Катеґорія:Чеперушкы]] dc26ub9n3pciold6b3gqr2dw2yp9r2h Русиньске школство 0 10149 170196 169735 2026-09-23T13:23:15Z Rue323 31002 /* Історія */ 170196 wikitext text/x-wiki {{Діалект|Пряшівскый діалект русиньского языка|пряшівскым діалектом|пряшівскый}} [[File:Alexander Dukhnovich.jpg|235px|thumb|[[Александер Духновіч]] быв [[Русины|русиньскый]] [[Просвітительство|просвітитель]] і [[Педагог|педаґоґ]], автор славного букваря „Книжица читальная для начинающих“ (1847), котрый ся став основов русиньского школства]] '''Русиньске школство''' є сістема освітнїх інштітуцій, проґрамів і ініціатів заміряных на учіня [[Русиньскый язык|русиньского языка]], [[Історія Русинів|історії]] і [[Русиньска култура|културы]], як ай інштітуцій, в котрых ся русиньскый язык поужывать як главный учебный язык.<ref>{{cite book |last1=Маґочій |first1=П. Р. |last2=Поп |first2=І. |title=Енциклопедія історії та культури карпатських русинів |publisher=Видавництво В. Падяка |location=[[Ужгород]] |year=2010 |isbn=978-966-387-044-1}}</ref> Історія русиньского школства сягать до [[XVII. стороча|17. стороча]], коли взникли першы церьковны школы на теріторіях з компактным залюднїнём Русинів. Далшый розвой і значны штруктуралны зміны прошла тота область в періодї габсбурьской монархії, в меджівойновім періодї (главно в [[Чехословакія|Чехословакії]] і [[Рѣчь Посполита II.|Польску]]), як ай по [[Друга світова война|другой світовой войнї]]. В сучасности русиньске школство фунґує в розлічных формах (як волительный або повинный предмет, недїльны школы, языковы кружкы або повноцїнны ґімназіалны класы) в штатах, де жыє русиньска народностна меншына: на [[Русины на Словеньску|Словеньску]], у [[Русины в Польску|Польску]], у [[Руснаци у Сербиї|Сербії]] (де має [[Язык Паноньскых Русинів|русиньскый язык]] штатут урядного учебного языка в дакотрых школах [[Войводина|Войводины]]), у [[Русины в Хорватії|Хорватії]], у [[Русины в Мадярьску|Мадярьску]], у [[Русины в Румыниї|Румунії]], у [[Русины в Чеську|Чеську]], у [[Русины в США|США]], у [[Русины в Канадї|Канадї]] і на [[Русины на Українї|Українї]]. == Історія == === Найстаршы документы о русиньскім школстві === Найстаршы документы о русиньскім школстві на теріторії компактно заселеній [[Лемкы|Лемками]] суть зос церьковных школ і ся датують од року 1638. В документї з 20. децембра року 1647, котрый быв адресованый [[Мушина|мушиньскому]] старостови, єпіскoп [[Пётр Ґембіцькый]] выдав таке наряджіня: Свої дїти жытелї обидвох міст ([[Мушина|Мушины]] і [[Тиліч]]а), як і підданы із сел до школ на навчаня посылати мають, жебы їх там в богослужобных ділах навчали а молити ся учіли так коло католицькых костолів, як і коло руськых церьквей. Список школ із року 1780, зробеный в часах папской візітації інформує, же на 36 уніатьскых парохіях мушиньского деканату, лем 4 парохії не мали церьковну школу. В церьковных школах ся учіли такым „руськым“ языком, якым школярї бісїдовали дома, але із своїм півцёучітелём, котрый звычайно походив із того самого ці сусїднёго села. Учіли ся тыж чітати і писати по польскы. О тім, же Лемкове з давных доб мали інтерес школовати ся, свідчать архівны штатістікы із знамой колеґії, пізнїше ґімназії в [[Подолинець|Подолинцї]] на [[Спіш]]у. === Русиньске школство у Габсбурьской монархії === Іщі за фунґованя [[Габсбурьска монархія|Габсбурьской монархії]] можеме відїти зачаток навчаня [[Русиньскый язык|русиньского языка]]. Жебы підвышити уровень освіты ґрекокатолицького духовенства была в роцї 1774 у [[Відень|Відню]] (і з ініціатівы [[Андрій Бачіньскый|Андрія Бачіньского]]) заложена Кралёвска ґенерална [[Ґрекокатолицька церьков|ґрекокатолицька]] семінарія при храмі св. Варвары (Королевская общая грекокатолическая [[семинария]] в Вене при св. Варваре — Regium Generale Seminarium Greaco-Catholicum Viennae ad Sanctum Barbaram). Про каждоденну потребу а потім і офіціално была прията скорочена назва [[Барбареум]] (Barbareum). Церьков св. Варвары ся стала про ґрекокатоліків парохіалным центром. Бачіньскый завів і навчаня русиньского языка в семінарії, якый ся став [[Урядный язык|урядным языком]] і єпіскопской канцеларії. За 10 років фунґованя ся в нім навчало 46 ґрекокатолицькых штудентів. З того 11 місц было зарезервованых про семінарістів з [[Мукачевска ґрекокатолицька єпархія|Мукачевской єпархії]], 6 про [[Перемышльська ґрекокатолицька єпархія|Перемышльську єпархію]] і 6 про [[Крижевска грекокатолицка епархия|Крижевацьку єпархію]]. 6 абсолвентів семінарії ся стало єпіскопами, 10 професорами універзіт і єпархіалных семінарій, 8 директорами семінарій і 8 писателями. Меджі іншыма в Барбареу здобыли освіту і [[Ґріґорій Тарковіч]], першый уніатьскый метрополіта [[Антоній Ангеловіч]], [[Алексѣй Повчий|Алексій Повчій]], [[Михайло Щавницькый]] (першый ректор Ґенералной ґрекокатолицькой семінарії у Львові) і др. В 1784 роцї было [[Барбареум]] заперте.<ref>{{cite web |title=Barbareum |url=http://pl.wikipedia.org/wiki/Barbareum |accessdate=2013-04-28}}</ref> Священици церькви св. Варвары зіставали одповідныма за семінарістів з [[Пряшів|Пряшова]], [[Мукачово|Мукачова]] і [[Перемышль|Перемышля]], котры ся навчали в семінарії „Штадтконвікт“ фунґуючій меджі роками 1803—1848. Семінарія мала 368 учнїв. Дакілько абсолвентів ся стало дуже вызначныма дїячами русиньского народного возроджіня, напр. [[Михаил Лучкай]], [[Виктор Добрянскый|Віктор Добряньскый]] ці єпіскоп і галічскый метрополіта [[Йосіф Сембратович]]. В часї фунґованя семінарії Штадтконвікт, ся в церькви св. Варвары сходив лінґвістічный кружок, головов котрого быв вызначный славіста — філолоґ [[Бартоломій Копітарь]]. В кружку ся тыж сходили вызначны русиньскы персоны, авторы русиньскых ґраматік споминів [[Михаил Лучкай]] і [[Іван Фоґарашій]]. Меджі священиками церькви св. Варвары были тыж русиньскы културны актівісты [[Іван Ольшавскый]] і [[Николай Нодь]].<ref>{{cite book |last=Маґочій |first=П. Р. |chapter=Штадтконвікт |editor1-last=Маґочій |editor1-first=П. Р. |editor2-last=Поп |editor2-first=І. |title=Енциклопедія історії та культури карпатських русинів |publisher=Видавництво В. Падяка |location=Ужгород |year=2010 |pages=823 |isbn=978-966-387-044-1}}</ref> Аж в роцї 1852 было у Відню заложене друге [[Барбареум]], котре єствовало до 13. авґуста 1893 рока. Обидві семінарії зограли велику роль не лем про розвиток церьковного, але і народно-політічного руху Русинів. В роцї 1784 была у [[Львів|Львові]] заложена Ґенерална ґрекокатолицька духовна семінарія, де галічскы штуденты віденьского Барбареа могли продовжовати в штудію. Першым ректором ся став [[Михаил Щавницькый]] (од 1784 до 1787). Вєдно із Львівсков універзітов прияв (на основі декрету цісаря Ёзефа ІІ.) заложыня „Студіум Рутенум“ (Studium Ruthenum) 9. марца 1787 рока, як першого світьского высшого научного інштітуту про Русинів [[Австрійска імперія|Австрійской імперії]]. Щавницькый быв і орґанізатором штудія.<ref>{{cite book |last=Маґочій |first=П. Р. |chapter=Щавницький Михайло |editor1-last=Маґочій |editor1-first=П. Р. |editor2-last=Поп |editor2-first=І. |title=Енциклопедія історії та культури карпатських русинів |publisher=Видавництво В. Падяка |location=Ужгород |year=2010 |pages=828 |isbn=978-966-387-044-1}}</ref> На Студіум Рутенум могли наступовати кандідаты, котры уже мали 17 років, знали чітати і писати руськым языком і были з [[Галич|Галічіны]]. Уквартелёваны были в Ґенералній духовній семінарії. Студіум Рутенум дїяло до 1809 рока. За цілый час фунґованя Студіум Рутенум закінчіло 470 штудентів.<ref>{{cite web |title=Studium Ruthenum |url=http://pl.wikipedia.org/wiki/Studium_ruthenum |accessdate=2013-04-28}}</ref> Од року 1848 фунґовала на Львівскій універзітї Катедра русиньского языка і літературы. === Русиньске школство в Угорьску === Перша універзітна катедра, яка ся занимала Русинами жыючіми на юг од [[Карпаты|Карпат]] была заложена на Будапештьскій універзітї в роцї 1919. На єй челї стояв [[Александер Бонкало]]. В 20. сторочу ся русинистіка зачала учіти на універзітї аж в послїдній четвертінї на Універзітї в [[Новый Сад|Новім Садї]]. Закон з рока 1868 о тзв. „рівноправности народностей“ допущав лем єден народ, мадярьскый, зато нияка орґанізація народностных меншын ту не могла леґално екзістоваты. Комплікованый быв і факт, же освітна сістема не продуковала ниякых новых актівістів. На середнїх школах у Пряшові, котры были під справов ґрекокатолицькой церькви, педаґоґічный процес проходив в мадярьскім языку. Зато навчіти ся кіріліку і заміряти ся на свойу первісну културу могли школярї лем на низшых уровнях школьской сістемы — в основных школах. В 1874 роцї былп у пряшівсім реґіонї 247 школ, в котрых ся в педаґоґічнім процесї даяков формов вжывав русиньскый язык. Но о 30 років пізнїше, в р. 1906, їх кількость упала лем на 23 а в 68 основных школах ся вело білінґвалне русиньско-мадярьске навчаня. Далшый рік ся тото чісло наслїдком інтензівной мадярізації зменшыло докінця на 9 школ. З історічных документів є інтересный вырочный справодай в мадярьскім языку з білінґвалной Пряшівской кралёвской католицькой главной ґімназії, зо школьского року 1910/11. Выука русиньского языка там была орґанізована од 2. по 8. класу шість раз до тыждня. В єднім школьскім роцї 1910/11 ся русиньскый язык нараз учіло аж 60 штудентів з ґрекокатолицькых родин. === Русиньске школство Лемковины === Выслїдкы народнобудительского снажіня ся стали очівісныма в XIX. сторочу, коли з [[Лемковина|Лемковины]] вышла ціла плеяда вызначных людей в конфесійнім, научнім, літературнім і културнім жывотї [[Галич|Ґаліції]], меджі котрыма суть і особности цїлоевропского вызнаму. З них уведеме двох галічскых ґрекокатолицькых метрополитів — Ёзефа і Сілвестра Сембратовічовых, єпіскопів [[Фом Поляньскый|Фому Поляньского]] і [[Юліян Пелеш|Юліяна Пелеша]] (Пелеш быв окрем іншого і учітелём наслїдника цісарьского трону — князя Рудолфа), професорів теолоґії, окрем высше спомянутых тыж [[Онуфрій Криницькый|Онуфрея Криницького]], [[Тітус Мішковский|Тіта Мішковского]] і [[Василь Масцюх|Василя Масцюха]]. Хоць лемківска інтеліґенція в бівшій мірї была інтеліґенціёв церьковнов, в тім часї ся у [[Лемкы|Лемків]] профіловало світьске навчаня. Велику популаріту здобыли штудії права. В XIX. сторочу [[Лемковина]] вступила і до світа юрісдікції — мала едукованых судцїв, адвокатів, но і політіків і журналістів. Могли бы сьме спомянути іщі много далшых вызначных Лемків про годновірность школьской сістемы на Лемковінї. Едукачному процесу Лемків в другій половинї XIX. стороча были великыма помічниками тзв. [[Руска Бурса|„Руськы бурсы“]], дякуючі котрым могли штудовати і дїти з худобнїшых померів. В „бурсах“ штуденты мали забезпечене не лем бываня і страву, але і патріотічну выхову і едукацію. Одхованцї сандецькой і ґорліцькой „бурсы“ были найактівнїшыма патріотами і културныма дїятелями Лемковины в меджівойновім періодї. Їх думаня і почутя было наміряне в дусї еманціпації лемківской културы. Тот факт має велике значіня про статус [[Русиньскый язык|лемківского языка]]. Од року 1891 ся жывый язык лемківского села навсе дістає до писаных текстів. То значіть, же зачінать выходити першый часопис в лемківскім языку — двотыжденнік, нескорше тыжденнік Лемко (1911—1914). Школярї ся учіли з учебників, котры написав Метод Трохановскый і были выданы Штатным выдавательством школьскых учебників у Львовї. Были то: Лемківскій Буквар (Львів 1933) і Перша лемківска чытанка (Львів 1934). Прирїхтованы были і далшы учебникы, про высшы класы, но тоты уже небыли выданы. === Русиньске школство у Чехословакії === На [[Підкарпатьска Русь|Підкарпатьскій Руси]] „містный язык“ ся став (вєдно з чеськым языком), едным з двох офіціалных „штатных“ языків. Чехословацька влада уж 18. новембра 1919 в Ужгородї выдала [[Генералный штатут про Подкарпатску Русь|Ґенералный штатут про орґанізацію і адміністрацію Підкарпатьской Руси]], в якім назначіла рїшіня языкового вопросу Русинів: навчалным і урядным языком ся мав стати „народный язык“. Штатур тыж рекомендовав „орґанізовати як найскорше русиньскы школы“, причім русиньскый язык бы быв навчалным языком у першых класах а поступно тыж у высшых класах у вшыткых школах. При уводжованю до жывота, взникали многы проблемы, котры были найвыразнїшы в школстві. В школьскім роцї 1923/1924 на выходнім [[Словеньско|Словеньску]] было лем 95 народных школ, в котрых ся вжывав русиньскый діалект. По крітіках америцькых Русинів быв і [[Томаш Ґарік Масарік|презідент Масарик]] примушеный конштатовати, же [[Русины на Словеньску]] не мають адекватну кількость школ. В роках 1932—1937 чехословацьке міністерство школства поволило, жебы 59 народных школ зо словеньского языка перешло на русиньскый а в 43 далшых ся завело навчана русиньского языка в розсягу найменше по три годины на тыждень. То значіть, же в роцї 1938 было на Словеньску довєдна 168 русиньскых народных школ а в далшых 43 ся счасти учів русиньскый язык. Од рока 1940 навчаня в народных школах мало належати до компетенції церькви. То доволило навчаня і в русиньскім языку а зарівно сі то выжадало выданя штирёх новых учебників. Настолїня комуністічного режіму в 1948 роцї значіло загамованя природного процесу самоідентіфікації русиньского жытельства на Словеньску, як і політічны амбіції русиньской меншыны. Русины были у вшыткых офіціалных документах евідованы як Українцї а самособов так то было і в русиньскых народных школах (в р. 1952 адміністратівным способом змінены на україньскы). Мушена українізація принесла із собов далшый важный проблем, котрый нарушів і до теперь нарушує русиньскый самоідентріфікачный процес — добровольну словакізацію, в тім часї приниману як лїпшу путь із двох не приятелных. == Сучасна школска сфера у Польску == Пять річный період фунґованя [[Лемківскый язык|лемківского языка]] в штатній школьскій сістемі охабило тверды шляпаї в самоусвідомлюючім процесї [[Лемкы|Лемків]]. Кедь язык Лемків быв на конець заміненый україньскым языком, нескорше польскым, Лемкы были уже пересвідчены о едукачнім потенціалї свого материньского языка, котрого навчаня загамовала політічна сістема. Зачали ся мобілізовати ку тому, жебы назад здобыли можность школованя в материньскім языку в штатных школах. Довгый час ся то не дало. Основна зміна в процесї навчаня лемківского языка пришла аж в посткомуністічнім Польску. В згодї з демократізаціёв штату, жытелї Польска надобыли право слободного выберу світоназору і заложіня орґанізації в згодї із своїма потребами. Потреба Лемків презентовати ся, была така велика, же уже в маю 1989 заложыли орґанізацію — [[Стоваришыня Лемків]]. Цілём орґанізації є: Захрана, розвиток і шыреня духовной і матеріалной културы Лемків, навчаня в лемківскім языку, популарізація історії Лемковины і здобываня зналостей о жывотї і актівітах Лемків за граніцями Польска. На реалізацію тых цілїв має уведжена орґанізація Комісію про едукацію, котра зачала боёвати о можность офіціалного навчаня Лемків в материньскім языку. В септембру 1991 в основній школї в Устю Ґорліцьком (в минулости ся село звало Устя Руске) ся першый раз по войнї, дякуючі тогдышнїй председнічцї Комісії про едукацію [[Мирослава Хомяк|Мірославы Хоміаковой]], зачали школяры учіти [[лемківскый язык]] як неповинный предмет. О рік нескорше Міністерство народного школства быдало поволїня на навчаня меншыновых языків як материньскых, што зініціовало навчаня лемківского языка в далшых школах на Лемковінї — в Криніцї і Роздїлю. В далшых роках ся [[лемківскый язык]] розшырив і до іншых школ — в западных областях Польска, де жыє много Лемків. В сучасности є подля штатістікы очівісный процес підвышованя чісла школ і школярїв, котры ся учать [[лемківскый язык]]. Кедь подля даных Міністерства внутра і адміністрації Польской републікы в школьскім роцї 2001/2002 было в Польску 14 школ, в котрых ся учіло [[лемківскый язык]] 127 школярїв, в школьскім роцї 2005/2006 то уже было 37 школ, в котрых ся [[лемківскый язык]] учіло 295 школярїв. В академічнім роцї 2001/2002 ся зачала нова етапа в навчаню лемківского языка. По першый раз в історії ся [[лемківскый язык]] дістав на уровень высокого школства. На Педаґоґічній академії в Кракові, на Інштітутї русской філолоґії взникла апробація: русска філолоґіа і русиньскый [[лемківскый язык]]. Є то форма подвойного філолоґічного заміряня. Штуденты дістають паралелно повну дотацію предметів з обсягу русской філолоґії і тыж повну дотацію предметів з лемківской філолоґії. меджі предметами в лемківскім языку суть: практічне навчаня русиньско-лемківского языка, описна ґраматика русиньско-лемківского языка, познаткы з історії і култуты русиньско-лемківской меншыны, русиньско-лемківска література, історія русиньско-лемківского языка, конфронтачна ґраматика польско-лемківска і україньско-лемківска, методіка навчаня русиньско-лемківского языка, діпломовый семінарь з русиньско-лемківского языка. Першый раз в історії была можна едукація філолоґів з повноцїннов приправов на учіня лемківского языка. Першы абсолвенты, котры здобыли діплом в роцї 2006, уже наступили до практікы — то значіть, же зачали учіти [[лемківскый язык]] в школах. Школованя в материньскых языках меншын на верейных школах є дотоване штатом. На основі уставы, части О сістемі едукації, може быти такый сістем школованя орґанізованый тыж в сукромнім школстві. В Польску але сукромны школы має лем жыдівска меншына, і то лем дві. Правны управы тыкаючі ся прав на школованя в материньскых языкaх приналежників народностных і етнічных ґруп в Польску суть годночены позітівно. Гірша є сітуація з учебникамі. Навчаня лемківского языка ся реалізує подля учебых основ, одобреных Міністерством народного школства Польска, авторів [[Мирослава Хомяк|М. Хомяковой]], Г. Ґрантовской, П. Трохановского, О. Дуц-Файфер, М. Ванцю-Шавлука і А. Квоку: Program nauczania języka łemkowskiego (rusyńskiego) dla szkoły podstawowej i gimnazjum. Про школьскы потребы быв тот проґрам схваленый розгоднутём MEN-DKW — 4014 — 133/99 із дня 31. 3. 1999. Одобрены суть і основы авторкы Мірославы Хомяковой — Program nauczania języka łemkowskiego (rusyńskiego) dla szkoły średniej (liceum, technikum, szkoła zawodowa). Kurs podstawowy. Быв одобреный на основі MEN-DKW-4015-7/00 із дня 18. 9. 2000. Што ся тыкать учебників, можеме сконштатовати, же їх чісло ся звышіло, но не забезпечують в достаточній мірї едукачный процес в лемківскім языку, літературї і културї. В початкох учітелї і школярї поужывали Букварь выданый іщі в меджівойновых часах. Пізнїше быв в сондажнім накладї выданый учебник зоставеный з матеріалів сформованых главно М. Хомяковов, просередництвом културно-сполоченьской орґанізації [[Стоваришыня Лемків]]. В роцї 2003 Міністерство народного школства і шпорту, по одобрїню учебників про навчаня лемківского языка кваліфікованыма одборниками, увело до свого выдавательского плану першы учебникы лемківского языка. По дакілько роках орґанізованого навчаня лемківского языка в школьскій сістемі Польска, можеме реґістровати много позітівных явів в розвої процесу навчаня. Передовшыткым все ся підвышує чісло школ і школярів, котры ся учать [[лемківскый язык]]. Розшырує ся база учебників, підвышує ся чісло кваліфікованых учітелїв лемківского языка. Є іщі много дефіцітів, котры взникають переважно зато, бо Лемкове суть розметаны по цілім Польску, зато ся і дуже скоро асімілують. Вшыткы тоты факты суть прічінов того, же на навчаня лемківского языка ся не голосить таке чісло школярів, яке бы ся очековало а наконець то веде ку споёваню клас або творїню меджішкольскых форем навчаня лемківского языка. В такій сітуації є тяжка приправа гармоноґраму навчалных годин так, жебы то выговлёвало вшыткым учасникам навчалного процесу. кедь возьмеме в увагу вшыткы аспекты і зроблены аналізы, можеме конштатовати, же [[лемківскый язык]] має в процесї едукації перспектіву. Одстраниня недостатків є про Лемків першоряднов задачов.<ref>{{cite book |last=Duc-Fajfer |first=O. |chapter=Lemkovský jazyk v edukačnom systéme v Poľsku |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=217—231}}</ref> == Сучасна школска сфера у Сербії == Концём 19. стороча, коли штат вырішив перетрансформовати конфесійны школы на штатны ся змінив язык навчаня на мадярьскый. Жебы ся навчаня і надале реалізовало в русиньскім языку і жебы школярї непереходили на навчаня в штатнім мадярскім языку, церькевно-школьскый выбор в Рускім Керестурї і Коцурї перебрав на себе повинность плаченя учітелїв. Прикладом є руськокерестурьскый учітель Мікола Будіньскый, котрый демонштратівно одышов із школы в Рускім Керестурї, перешов до школы в Коцурї і запоїв ся до педаґоґічной праксі народных учітелїв, котры мали підпору, так повісти, вшыткых Русинів і особито німецкого обывательства в Коцуре (Biljnja 1987, с.51). Конфесійна школа в Коцурї екзістовала до року 1921, чім зробила велику задачу в утриманю народной ідентіты Русинів а їх народного усвідоміня. В року 1921 Русины здобыли право на школованя в материньскім языку. Тым были фактічно узнаны за народностну меншыну. На основі того были нескорше в меджівойновім періодї основаны дві културно-освітны орґанізації а зачала ся плодна выдавательска дїалность. Выходили календарї, першы учебнікы про ОШ, новинкы і часопис про дїти — Наша заградка, котрый выходить до днесь. Іщі до ІІ. світовой войны было основане Низша реална мішана штатна ґімназія в Рускім Керестурі з навчалным языком русиньскым (1945). Была одкрыта на основі тогдышнїх леґітімных школьскых законів: Закона о штатных школах (1944), Закона о сімрічній повинній школьскій освітї про вшыткы дїти до пятнацять років (1945), што ся потім реалізовало на штирирічных основных школах і трирічных ґімназіях. Середня школа з навчалным языком не єствовала довго, бо до 1948 рока ся штирирічны ОШ і трирічны середнї школы трансформовали на вісямрічны основны школы. Історічным моментом про середнёшкольску освіту быв рік 1970, коли ся основало в Руськім Керестурі особите оддїліня ґімназії Жарка Зренянина з Вербасу. Быв сформованый Освітный сентр Петра Кузмяка, котре вязало до себе Основну школу Петра Кузмяка а сучасно і середнёшкольску освіту, выхову і професіонално-одборне навчаня од школьского рока 1977/78. Зміны школьскых законів в роцї 1990 значіли обновлїня ґімназіалной освіты, што дало можность, жебы ся тогдышня середня школа перетрансформовала на ґімназію.<ref>{{cite web |author=Одбор за науку Националного совиту рускей нацлоналней меншини |title=Национална стратеґия Руснацох у Сербиї |url=http://files.zavod.rs/2013/06/strategija-ruski.pdf |accessdate=2013-12-12}}</ref> На штирирічній ґімназії ся річно одкрыють три оддїліня — дві з навчалным языком серьбскым і єдно з навчалым языком русиньскым. Навщівлять го коло 25 школярів. Ґімназія є унікатна освітна інштітуція на світї, бо в ниякім другім штатї ся навчаня не проводить в русиньскім языку (вшыткы предметы). На вшыткы предметы з вынятком чуджіх языків має школа учебникы. Дакотры написали русиньскы авторы а дакотры были переложены із серьбского языка. Ґімназія має і свій інтернат з капацітов 70 місц і находить ся безпосередно в ареалї. В Руськім Керестурї компактно жыє русиньске жытельство, зато вшыткы дїти в містній основній школї Петра Кузмяка здобывають освіту в русиньскім языку.<ref>{{cite book |last=Латяк |first=Д. |chapter=Руски студенти и стредньошколци (1927—2001). Орґанізачна дїялносц |title=Думки з Дунаю 13-14 |location=Буковар |year=2012 |pages=171—263 |isbn=978-955-7767-07-5}}</ref> В Коцуре і Дюрдёве є сітуація шпеціфічна, бо жытельство є там мултінародностне. Зато ся в тых двох двоязычных серьбско-русиньскых школах знижує чісло школярів поступно аж під 15, што значіть мінімалне можне чісло потрібне на одкрытя оддїліня. Міністерство школства Серьбской републікы має в тім одношіню позітівный приступ, бо підпорує намаганя школьскых выборів, жебы тоты оддїліня могли быти одкрыты і при нізшім чіслї школярів. В каждім із спомянутых міст екзістує матерьска школка. В Руськім Керестурі при матерьскій школцї фунґують і яслї. В містах і селах де жыють Русины в меншім чіслї ся орґанізує кружкова дїялность русиньского языка, тзв. Пестованя русиньского языка з елементамі народной културы. Тоты ся реалізують во веце як десятёх містах ці селах і навщівлять їх коло 400 школярїв. Про потребы кружків ся ужывають три учебникы, котры подля їх головного рецензента суть на тілько оріґіналны, суть одборниками высоко оцїнены і выникають меджі учебниками іншых меншын у Войводинї. Русиністіка, як універзітна дісціпліна на Філозофічній факултї в Новім Садї екзістує од року 1972, коли быв на місце ректора зволеный [[Юлиан Рамач]]. Навчаня русиньского языка і літературы як факултатівного предмету і зарівно выберового предмету належала до компетенцій Лекторату русиньского языка і літературы. В роцї 1981 была на Педаґоґічнім інштітутї основана Штудійна ґрупа про русиньскый язык і літературу а в роцї 1983 ся утворила Катедра русиньского языка і літературы. Штуденты спочатку штудовали паралелно два одборы (русиньскый язык і літературу і серьбскый язык і літературу) а промовали в апробації: учітель русиньского языка і літературы і серьбского языка і літературы про школы з навчалным языком русиньскым. Штуденты сі могли выбрати і єдноодборове штудіюм русиньского языка і літературы. Днесь ся катедра называть Оддїліня русиністікы. Єдным найвекшых успіхів Оддїліня русиністікы є богата научна публікачна чінность зо сферы русиністікы. Дотримованя прав на навчаня в русиньскім языку в Сербії суть ґарантованы в „Законє о предшколскім воспитаню и образованю, Законє о основней школи, Законє о штреднєй школи и Законє о високим образованю“ Повінне школованя в матерьскій школї є так само як і у нас, т. з. єден рік перед зачатком школьского навчаня. Основне школованя є повинне до 15 років. Середнёшкольскы штудії суть роздїлены до двох сеґментів, як общі штудії і як одборны (професійно-фаховы) штудії. Высокошкольскы штудії суть професійно напрямены. Школованя в русиньскім языку на тых школах є можне в такім припадї, же в класї не є менше як 15 школярів, котры ся в русиньскім языку хотять школовати. кедь ся навчаня не веде в русиньскім языку, тогды є можность русиньскый язык проводиты формов выберового предмету. Матерьскы школы суть в Сербії наставлены так, же суть до них придїлёваны дїти подля місца перебываня, т. з., же окремо в містах то родічам і дїтём стяжує можность навщівлёвати русиньску школку. Основне шолованя в русиньскім языку є реалізоване на трёх основных школах: в Руским Керестурі, Коцурі і Дюрдёві. В Коцурі і Дюрдёві ся не наповнять законне мінімум — 15 школярів єднакого віку, зато ся хоснує іщі часть реґулатівы, котра допущать можность, жебы міністер освіты доволив ухопити і менше чісло школярів, як є становлене в законї. В основнім школстві ся такым способом в русиньскім языку школує коло 560 дїтей. Про дїти котрых языком навчаня є серьбскый язык, є можности навчаня русиньского языка на годинах з предмету „Руски язык з елеменнтами националней култури“. Є то єден із 15 выберовых предметів, заступленых 2 годинами до тыждня. На середнїх школах штудує коло 60 штудентів, на высокій коло 35.<ref>{{cite book |last=Fejsa |first=M. |chapter=Vzdelávací systém Rusínov v Srbsku |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=192—201}}</ref> == Сучасна школска сфера у Хорватії == Векша часть Русинів в Хорватьску жыють в селах [[Петровци]] і [[Миклошевци]] і творять там векшыну жытельства. Освітна сістема в русиньскім языку має в Хорватьску довгу традіцію. Першы школы в Петровцях і Міклошевцях были церьковны. Взникали під патронатом Кріжевацького єпіскопства і екзістовали аж до року 1874, коли быв приятый Закон о народній штирикласній школї, подля котрого патронат над школами і учітелями перебрав штат. Школы были переменованы на общонародны школы. Навчаня ся проводило в хорватьскім языку. Русиньскый язык ся хосновав лем на годинах реліґії і то лем тогды, кедь быв священік Русин, т. з. знав тот язык. Хоць ани в меджівойновім періодї ся не навчало в русиньскім языку, народне чутя, котре ся дїдило з ґенерації на ґенерацію было барз міцне. Русиньскый язык меджі Русинами пошырёвали і пестовали русиньскы народны учітелї, котры зо школярями по школї бісїдовали по русиньскы, приготовлёвали културны проґрамы про родічів і цілый валал на кажде церьковне свято. В Петровцях ся русиньска културы пошырёвала іщі посередництвом співацькой ґрупы. Церьковный збор дїяв і в Міклошевцях, котрого основателём і диріґентом быв Йоакім Костелник. Позітівны зміны в навчаню материньского русиньского языка ся зачали ралізовати по другій світовій войнї. З ініціатівы народностной орґанізації Руска матка в школьскім роцї 1949/50 ся по першый раз обявив премет „rusinski jezik“ як рівноцїнный навчалный предмет в школї. Навчаня русиньского языка ся зачало в Петровцях, Міклошовцях і в Раёвом Селе. Навчаня в материньскім языку ся перерывать в шістьдесятых роках, в Міклошевцях і Раёвом Селе іщі скорше. Меджі роками 1956—1969 навчаня в русиньскім языку цалком абсентує. Од 70. до 90. років минулого стороча ся утримала контінуіта школства в русиньскім языку і быв зазначеный ёго выразный розвиток. Во Вуковарї быв в роцї 1968 приятый Закон о поужываню языка меншынового жытельства, подля котрого ся міг материньскый язык навчати як рівноцїнных повинный предмет в ОШ там, де тоту школу навщівлёвали школярї, про котрых штатный язык не быв материньскый. Так было навчаня русиньского языка і културы орґанізоване в Петровцях, Міклошевцях, Вуковаре і в Раёвом Селе. Материньскый язык ся учів в дотації пятёх годин до тыждня: 3 — языка, 2 — културы. Учебникы забезпечовало Дружство за руски язик в Новом Садї. Кінцём 70-ых років на основі жадостей родічів і сельскых урядів была в Міклошевцях одкрыта матерьска школа, як перша сельска школа в Хорватьску з русиньскым выховным языком. Од рока 1982 аж до рока 1991 ся проводили „лєтнї школи за руско-українску младеэ Горватскей“, котрых орґанізатором быв Союз Русинох и Українцох Горватскей, што доста помагало розвитку русиньского школства. Свою традіцію утримали доднесь, прічім ся орґанізовали і в тяжкім войновім періодї (обчаньска война в роках 1991—1997). Тот період ся став про Русинів у Хорватії крітічным, кедьже боёвы операції проходили на теріторії, компактно залюдненій Русинами. Навчаня русиньского языка ся там не утримало ани на єдній школї. В часї войны ся в Вінковцях находило доста русиньскых выселенців, зато ту была зорґанізована Мала школа русиньского языка, котра зосереджовала школярів з розлічных клас, розлічных міст і сел, дочасно жыючіх во Вінковцях. Была під справов Хорватьской републікы. Навчаня ся реалізовало кажду суботу в 5 годиновых блокох. Навчаня проходило найперше в просторах основной школы, нескорше в штудентьскім центрї. Навчаня русиньского языка теперь проходить періодом ренесанції. По скінчіню войны ся люде назад вернули до своїх сел а Мала школа русиньского языка во Вінковцях укончіла свою дїялность. Но з ініціатівы Союзу Русинів і Українців Хорватьска ся русиньскый язык завів до школ в Петровцях і Міклошевцях од першой аж по восьму класу, як выберовый предмет з тройгодиновов дотаціёв. В роцї 2000 быв приятый Закон о выхові і школованю в языку народностных меншын. На основі того были реалізованы дакотры зміны в навчаню русиньского языка: предмет ся называть Пестованя русиньского языка і културы і навчаня было одгласовано подля моделу Ц, што значіть по 5 годин до тыждня, причім учіво повязує до себе 4 основны предметы: Русиньскый язык, Історія Русинів, Ґеоґрафія Русинів, Вытварне уменя і музычна култура Русинів. З цілём інформовати школярів з літератнов і културнов дїдовізнёв Русинів, як і з далшыма аспектами їх жывота, жачала розвивати културну дїялность школа в Петровцях і зачали орґанізовати Школьскый вечур літерарной творбы Русинів. Навчаня русиньского языка в Хорватьску є од 1999 рока лем в примарній едукації. Проблемами суть недостаток учебників, абсенція платных учебных основ, одборня приправа і розшырёваня кваліфікації учітелїв русиньского языка.<ref>{{cite book |last=Гнатко |first=Н. |chapter=Проблеми виучованя мацеринского язика Руснацох у Републики Горватскей |editor-last=Плїшкова |editor-first=А. |title=Русиньскый язык меджі двома конґресами. Зборник рефератів з ІІІ. Меджінародного конґресу русиньского языка |location=Пряшів |year=2008 |pages=164—169}}</ref><ref>{{cite book |last=Hnatko |first=N. |chapter=Rusínske školstvo v Chorvátsku |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=202—216}}</ref> == Сучасна школска сфера у Мадярьску == В сучасности ся освіта школярїв народностных меншын у Мадярьску реалізує подля проґраму мадярьской освітной сістемы. Основным цілём освіты народностных меншын є захованя і укріплёваня їх ідентіты. За важне ся бере навчаня наукы о власти, історії, фолклору, културы і уменя, котры суть частёв школьскых учебных основ. О навчаню школярів Мадярьска в русиньскім языку можеме говорити з позіції трёх діалектів, котры доднесь у Мадярьску пережыли (підкарпаторусиньскый, діалект села [[Комлошка]] — основаный на принціпі выходославяньскых языків з хоснованём словеньскых і мадярьскых слов; діалект села Мучонь — подобный діалекту бачскосрємскых Русинів) :[[Комлошка]]: В 1994 роцї ся зачало з факултатівным навчанём русиньского языка, нескорше была орґанізована недїльня школа русиньского языка і културы. Потім ся з дїтей, котры мали інтерес основала єдна класа, в котрій ся довєдна учать школярї 1. — 4. класы. Реалізує ся в дотації штирёх годин до тыждня. Затоже в Мадярьску іщі не были выданы учебникы азбуков, чітанкы про русиньскых школярів, в Комлошцї были найприятелнїшы учебникы, котры были выданы на Словеньску, бо словеньскый варіант русиньского спісовного языка є про жытелїв Комлошкы найближшый. Што є інтересне, же одколи ся зачало з навчанём русиньского языка, містны педаґоґове собі самы доповнили освіту, жебы і они были приготовлены на нову сітуацію. Докінця і учітелькы в матерьскых школах обогатили свій выховный проґрам о русиньску културу (співанкы, традіції), жебы дїтвак, кторый наступить до першой класы быв уже на навчаня материньского языка приготовленый. :[[Мучонь]]: Навчаня русиньского языка ся ту зачало в роцї 1995. Напроти Комлошцї є [[Мучонь]] векше село, но парадохно ся ту русиньскый язык утримав в меншій мірї. Жебы тот факт пригамовати, завели в містній школї по дві годины навчаня русиньского языка до тыждня. Мучоньскый діалек має сполочны знакы з войводиньскым русиньскым языком, зато мучоньскый школярї ся на годинах учать з учебників выданых у Войводинї. В Будапештї і іншых реґіонах Мадярьска Русины комунікують підкарпатьскым варіантом русиньского языка. Од року 2002 при реґіоналных і окресных самосправах екзістують недїльны школы про дїти. Навчаня ся реалізує раз до тыждня по дві годины. Навчаня ся реалізує з учебників на базї підкарпатьского варіанту русиньского языка. В роцї 1992 была основана катедра україньской а русиньской філолоґії на містній высшій школї в Нїредьгазї. Єй основателём є вызначный славіста, фахман в области історії языка і културы Русинів 18. стороча Іштван Удварій. Основаня катедры было з єдного боку продовжованём научно-выскумной роботы в области русиністікы, котру Іштван Удварі зачав омного скорше, но з другого боку назвов катедры потвердив, же академічна громада в Мадярьску має моралну повинность вернути ся по довгых роках ку традіції, заложеній містныма русиністами Антоніём Годинком і Александром Бонкалом.<ref>{{cite book |last=Kapráľ |first=M. |chapter=Moderná maďarská rusinistika a jej zakladateľ Ištván Udvári |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=253—262}}</ref> Першорядов задачов Русинів у Мадярьску є кодіфікація русиньского языка, котра є в штадію приправы. Далшов задачов є приготовити адрів, т. з. мати професіоналных учітелїв русиньского языка, бо кедь будуть професіоналы, потім мож основати оріґіналны тематічны планы на выучіня родного языка. Уже ся в тім дїлї даякы крокы зробили. Спочатку фунґовала в Америцї Руска Школа, котра была веджена в русиньскім языку. Были то державны школы або припадовали під парохію ґрекокатолицьку або православну. Про потребы такых школ были выдаваны букварї і чітанкы писаны кіріліцёв, з котрых найвеце популарным быв букварь писаный ґрекокатолицькым священиком Йозефом Ганулём і лаічным лемківскым актівістом Дімітріём Выслоцькым. Русиньскый язык заникнув в тых школах до кінця 50-ых років. Днесь лем в семінарях повязаных з двома традічныма церьквами ся якымесь способом утрымав русиньскый у Візантинскій Католицкій семінарії св. Кіріла і Мефодія в Піцбурґу в Пенсинльванії, або карпаторуськый в Православній Семінарії Христа Спасителя в Джонстави в Пенсильванії. Непозераючі на орґанізоване формалне навчаня русиньского пзыка, выдиме ту індерес о індівідуалну самоосвіту в тім языку або через не формалны ґрупы, чому шлужыли і популарны выданя Русиньско-анґліцького бісїдника выданого в двох діалектных варіантах. Од конця 70-ых років 20. стороча ся уже продало веце як шість тисяч копій, головно другому, третёму і четвертому поколїню першых русиньскых еміґрантів. Поступно наймолодша ґенерація бадать і слїдує своє корїня і хоче ся што найвеце тому приближыты, жебы познати історію і вшытко што з тым повязане, зато інтерес і о язык там є, хоць проблемы з ёго поужыванём суть великы. Хоснує са переважно у фолклорї.<ref>{{cite book |last=Ljavinec |first=M. |chapter=Kultúrny život a edukácia Rusínov v Maďarsku |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=244—251}}</ref><ref>{{cite book |last=Лявинець |first=М. |chapter=Проблемы обученія русинському языку у Мадярщінї |editor-last=Плїшкова |editor-first=А. |title=Русиньскый язык меджі двома конґресами. Зборник рефератів з ІІІ. Меджінародного конґресу русиньского языка |location=Пряшів |year=2008 |pages=170—176}}</ref> == Сучасна школска сфера на Українї == Русиньске школьство на [[Україна|Українї]] было зліквідоване в часах, коли совєтьскый тоталітный режім розгоднутём прикапчав ку совєтьскій Українї Підкарпатьску Русь і заказав русиньску народность. Такой в роцї 1945 заперли вшыткых 636 русиньскых школ і выголосили їх за школы україньскы. То значіть же на [[Підкарпатьска Русь|Підкарпатю]] была доста добрї розвинута сістема русиньскых школ, зато мусїме розуміти намаганям містных Русинів мати свої народностны школы. На штатній уровни ся Русины помочі не дочекали і влада в [[Кієв]]і не має дяку тоты проблемы рїшати. Інакша сітуація є але на уровни містной самосправы, де мож видїти чутливішый приступ к порозуміню даной сітуації як і пасівна поміч [[Русины|Русинам]] (напр. безплатне ужываня просторів школ про навчаня в недїльных школах). Довести русиньску школу під стрїху общоосвітной школы доволює штатный вынос о факултатівных предметах, котры школярям може (но і мусїть) орґанізовати директорство штатной школы на основі жадостей родічів (на даный предмет мусить быти приголошеных мінімално 20 школярів). Родічі переважно жадають орґанізовати годины почітачовой технікы і інформатікы, хореоґрафії, таньців і т.д. а директорство має задачу найти одповідного учітеля і заплатити ёго роботу з фінанцій школы. Одкрытя каждой русиньской школы ся зачінать од того, же родічі, котры хотять, жебы ся іх дїти учіли русиньскый язык і културу адресують жадость о одкрытя русиньской класы при даній школї директорству. Тота документація ся подає на окресне оддїліня освіты, і потім ся верне розгоднутя о основаню ку директорови школы. Директорству штатной інштітуції закон заказує забезпечовати русиньского шпеціалісту і мож конштатовати, же до днешнёго дня бы ся не было дало одкрыти ани єдну русиньску класу, кібы фінанцованя і інтерес найти одповідных педаґоґів не перебрав на себе сам орґанізатор русиньского недїльного навчана — Школьска рада русиньскых недїльных школ. Недїльны школы на Підкарпатю суть фінанчно підпорованы спонзорами із [[Северна Америка|Северной Америкы]] (США і Канады). Русиньска недїльня школа загорнює пятьступнёве навчаня. Школярї суть роздїлены подля віку. Проґрам загорнює такы предметы: Русиньскый язык, Русиньска література, Історія Карпатьской Руси, Ґеоґрафія Карпатьской Руси, Етіка і набоженьство, Русиньскый народопис і Русиньска народна култура (естетіка). == Сучасна школска сфера на Словеньску == Выразны зміны пришли аж по роцї 1989, коли зачінаме говорити о новім народнім возроджіню. Новоприниманы законы демократічной репунліы возродный процес Русинів і їх материньского языка — дякуючі сістематічному дожадованю ся Русиньской оброды на Словеньску — зачали акцептовати, в наслїду чого од школьского рока 1997/1998 в 12 основных школах севернёвыходного Словеньска быв проявленый інтерес родічів школярів завести выучованя русиньского языка. З цілём заставити проґресивну словакізацію Русинів, возродный рух в бывшім Ческословеньску по роцї 1989 собі як першорядный ціль поставив обнову русиньского народностного школства, бо лем в нїм видїв ґаранцію захованя і розвоя народной і языковой ідентіты Русинів. Днесь можеме конштатовати, же од року 1989 ся подникли прінціпіалны крокы ку тому, жебы русиньскы дїти назад здобыли право учіти ся материньскый русиньскый яазык в школах. [[Русиньска оброда]] од початку свого взнику пожадовала навчаня русиньского яазыка в ОШ. Спочатку то было на 1. ступню а потім мали переходити на списовный укарїньскый або російскый язык. Але первісны пропозіції ся поступно модіфіковали у звязї з процесом профілації проґраму русиньского руху на Словеньску і в цїлоевропскім контекстї, котрый пожадовав узнаня Русинів як самостатной народности і створїня русиньского списовного языка. Ёго кодіфікація в р. 1995 ся стала основнов крітеріёв про заведжіня языка до освітной сістемы.<ref>{{cite book |last=Плїшкова |first=А. |chapter=Пряшівска Русь. Школьска сфера |editor-last=Magocsi |editor-first=Paul Robert |title=Najnowsze dzieje języków słowiańskich. Русиньскый язык |publisher=Uniwersytet Opolski — Instytut Filologii Polskiej |location=Opole |year=2004 |pages=427—462 |note=доповнене выданя з дакотрыма змінами 2007, с. 343—345}}</ref><ref>{{cite book |last=Плїшкова |first=А. |title=Русиньскый язык на Словенську. Короткый нарис історії і сучасности |publisher=Світовый конґрес Русинів |location=Пряшів |year=2008}}</ref><ref>{{cite book |last=Plišková |first=A. |chapter=Rusínsky spisovný jazyk vo vzdelávacom systéme Slovenskej republiky |editor-last=Plišková |editor-first=A. |title=Rusínska kultúra a školstvo po roku 1989 |location=Prešov |year=2008 |pages=177—192}}</ref> Заведжіню языка до практікы передходило вытворїня основных документів. В першім рядї: # Концепція навчаня русиньского языка як материньского в основных школах з навчанём русиньского языка (1996), вытворена Штатным педаґоґічным уставом в Братїславі, деташованым центром у Пряшові (автор: доц. ПгДр. Василь Ябур, к.н.). # Концепція школованя дїтей обчанів Словеньской републікы русиньской народности (1996), вытворена Міністерством школства Словеньской републікы. В навязности на них дале взникали, а поступно в залежности од потреб освітного процесу ся і модіфіковали далшы педаґоґічны документы, якы схвалило Міністерство школства СР. Векшу вагу має перша концепція, котра была збудована на інакшій філозофії, як то было звыком при навчаню материньскых языків. Основов ся стала комунікатівна метода (намісто аналітічно-сінтетічной), котра є в сучасности найрозшыренїша при навчаню чуджых языків. З того выходить, же цілём концепції не суть знаня, як то є переважно при навчаню іншых языків, але актівіты, наслїдны роботы і дїятельность на основі здобытых знань. То значіть, же навчаня русиньского языка ся тым зараджує меджі нетрадічны, ці алтернатівны, бо хоць бы з такыма цільми мала робити ціла школьска освіта на Словеньску до днесь є то пріорітов переважно алтернатівных школ. Школа бере за основный ціль освоїня сі списовной подобы русиньского языка в звязї з выразным розвытком речовых способностей. Шпеціфіков навчаня русиньского языка є особитый процес освоёваня. Звычайно ся дїти учать языкы через зорный поле материньского языка, но при навчаню русиньского языка то є так, же сі го дїти спочатку будуть освоёвати через зорный поле словенчіны. Є то парадокс, но треба го решпектовати. В згодї зо шпеціфіаціёв учіня ся, дана концепція навчаня русиньского языка роздїлює до трёх етап — передазбукова, азбукова а поазбукова етапа. Друга концепція в рамках уводжіня языка до школьской сістемы, го задїлёвала уже до матерьскых школ, котры мали взникнути на основі жадостей родічів. Но наперек тому до днешнёго часу маєме лем дві МШ з выховным русиньскым языком. За неповнїня той концепції можущ так родічі, як і компетентны інштітуції, юкы даному проблему не придїлюйють достаточну увагу і не родумують над тым, ці треба дану сітуацію мінити, т. з. ці закладати новы, респ. трансформовати уж єствуючі школкы з выховным языком русиньскым. Наслїдком того дїти родічів русиньской народности на Словеньску ся і в сучасности выховлююти, подобно як до р. 1989, в школках з офіціалным языком словеньскым, ці докінця з україньскым. Тота сітуація повязана з проблемами при приправі педаґоґів про такы матерьскы школы. Уведжіню русиньского языка до школьской сістемы на Словеньску передходили дві сондажы інтересу родічів. Першый быв в роцї 1994 і быв заміряный на сондованя інтересу родічів о навчаня русиньского языка а културы в 2. класї ОШ. Інтерес проявило в трёх окресах 251 школярїв. Друге, уже детайлнїше сондованя было реалізоване зачатком року 1996. Было роздїлене на дві части, де перша є заміряна на інтерес родічів при записї до 1. класы а друга на інтерес родічів уже школоповинных дїтей од 2. по 8. класы. Довєдна во вшыткых 6 окресох, на 57 ОШ інтерес о навчаня русиньского языка мало 582 школярїв. Дня 12. юна 1996 ся в Бардеёві одбыла робоча стрїтча заміряна на рїшиня орґанізачно-педаґоґічных проблемів заведжіня предмету Русиньскый язык і література до ОШ. Договорили ся на трёх крітеріях, на основі котрых было можне і реалне в школьскім роцї 1997\1998 завести предмет Русиньскый язык і література до 12 школ в пятёх окресах. Но практічне рїшиня в тім школьскім роцї было інакше. Навчаня ся досправды зачало лем в штирох школах, што было прямо звязане із роботов Русиньской оброды в тых окресах. Анґажованость єй членів была наконець розгодуюча і при взнику далшых шестёх ОШ, єдной ґімназії а так само і высокошкольского Інштітуту народностных штудій і чуджіх языків на ПУ з Оддїлінём русиньского языка і културы (1999). Нескорше в роцї 2004\2005 ся предмет русиньскый язык і література учів в девятёх ОШ і єдній ґімназії як неповинный, на єдній ОШ як повинный а як розшыруюча форма штудія на ПУ. В рамках розшырованя русиньскых школ, можеме быти свідками стаґнації а в гіршім припадї знижованя чісла основных школ з навчанём русиньского языка. В школьскім роцї 2006\2007 їх было уж лем вісем. Русиньскый язык ся поступно перестав учіти на 5. ОШ в Снинї, на 2. ОШ у Свіднику і на єдиній середнїй школї — на ґімназії в Меджілабірцях, де было рік на то обновлене навчаня формов кружка русиньской културы. В школьскім роцї 2008\2009 отворили першу народностну школу з навчалным русиньскым языком в [[Чабины|Чабинах]]. В шк. роцї 2011\2012 отворили другу ОШ з навчалным русиньскым языком в [[Баєрівцї|Баєрівцях]]. Особито треба спомянути ОШ в [[Радвань над Лабірцём|Радвани над Лабірцём]], де є навчаня русиньского языка орґанізоване Мґр. Мареком Ґаём, методіком русиньского языка. Подля ёго слов: „Каждый учітель русиньского языка ся стрїчать іщі із єдным, досправды шпеціфічным явлїнём — із непорозумінём проблематікы школованя дїтей родічами. Тоты часто не розумлять змысел навчаня русиньского языка, мішають собі го із україньскым або російскым языком і многы суть пересвідчены о тім, же учіти ся русиньскый язык є про їх дїти збыточне. … В тім виджу найвекше посланя і хосен навчаня русиньского языка в будьякій формі, бо лем так ся дїтём може навернути їх страчена ідентічность і любов ку азбуцї і своїй історії.“ Марек Ґай завів на тій школї навчаня русиньского языка нелем на першім але і на другім ступню. Так само ся дякуючі нёму підвышує інтерес о русиньскый язык на радваньскій школї. Учітель ся може пышыти знанями і талентом своїх школярїв, бо їх малы літературны творы можме чітати на сторінках нашой русиньской пресы але і в школьскім часописи Русначок.<ref>{{cite book |last=Ґай |first=М. |chapter=О проблемах навчаня русиньского языка на 1. і 2. ступнях основных школ у Словакії |editor-last=Плїшкова |editor-first=А. |title=Русиньскый язык меджі двома конґресами. Зборник рефератів з ІІІ. Меджінародного конґресу русиньского языка |location=Пряшів |year=2008 |pages=158}}</ref><ref>{{cite journal |last=Ґай |first=М. |title=Сучасный став русиньского народностного школства і перспектівы до будучности |journal=Русин |volume=XX |year=2010 |issue=6 |pages=6—8}}</ref> На середнїй школї ся у рамках повинного ці неповинного предмету русиньскый язык неучіть. Є ведженый лем формов кружка — днесь уж не є ани тот. Найвекшым проблемом в процецї розвытку школства є проґресівна асімілація середнїй і молодій ґенерації. Далшым проблемом є недостаток кваліфікованых учітелїв і потреба додаточной освітовой роботы меджі родічами. Найчастїшым проблемом была од зачатку абсенція кваліфікованых педаґоґів. Аж в школьскім роцї 2003/2004 в дакотрых школах з навчанём русиньского языка зачали учіти першы абсолвенты Пряшівской універзіты з апробаціёв на русиньскый язык. Іде о абсолвентів преглбеной формы штудія одбору Учітельство про І. ступінь ОШ Педаґоґічной факулты ПУ, котре ся такым способом реалізовало од акад. р. 1999/2000 до р. 2006/2007. В тім академічнім роцї Пряшівска універзіта зачала реалізоваты бакаларьску форму нового акредітованого штудійного проґраму Русиньскый язык і література в комбінації з 12 далшыма штудійныма проґрамами в рамках одбору Учітельство академічных предметів. В сучасности суть акредітованы далшы два ступнї штудія — маґістерьскый і докторандьскый. Цалком новым феноменом в навчаню русиньского языка на Словеньску є проєкт новооснованой орґанізації — обчаньского здружіня Колысочка, котра сі за цїль дала етнічну і языкову ревіталізацію русиньской народностной меншыны як вымераючого народа Европы. Здружіня передложыло на Уряд влады три проєкты, з котрых їм быв одобреный єден, тот найважнїшый — основаня вечернёй школы русинського языка. На основі того было в дакілько містах і селах одкрыте навчаня языка про вшыткы віковы катеґорії. Передходила тому приправа учітелїв, котры мали навчаня забезпечовати. Таке навчаня было наплановане до децембра 2013 рока, но орґанізаторы і самы участници продовжують в навчаню і в далшых роках а днес можеме бісїдовати о 27 вечурных школах русиньского языка.<ref>{{cite book |last=Конєчні |first=С. |title=Капітолы з історії Русинів на Словеньску |publisher=Русин і Народны новинкы |location=Пряшів |year=2009 |pages=72 |isbn=978-80-88769-99-6}}</ref> == Сучасна школска сфера у США і Канадї == Історія русиньского школства в [[Северна Америка|Северній Америцї]] ся дїлить на історічну церьковно-фарьску і сучасну академічно-сполоченьску етапу. В періодї масовой міґрації на концї [[19. стороча|19.]] і на зачатку [[20. стороча]] русиньскы братства, главно „Ґрекокатолицькый союз“, фінанцовали властны школы при церьквах. В тых заряджінях ся дїти учіли чітати кіріліцю, учіли ся основы релігії і історію родного края. Про потребы тых школ ся выдавали букварї і чітанкы, з котрых найпопуларнїшый быв букварь складженый ґрекокатолицькым священиком Йосифом Ганулеём і світьскым лемківскым актівістом [[Дмитро Вислоцкый|Дмітріём Выслоцькым]]. Єднак в резултатї асімілачного тиску і переходу церькви на [[анґліцькый язык]] богослужеб до конця 50. років 20. стороча тоты школы майже цалком заникли. Днесь ся русиньскый язык до істой міры заховав лем в семінарах: во Візантійскім католицькім семінарї св. Кіріла і Мефодїя в [[Питтсбург|Піттсбурґу]] ([[Пенсилвания|Пенсілванія]]) і в формі карпаторусиньского языка в православнім семінарї Хріста Спасителя в [[Джонставн]]ї.<ref>{{cite book |last=Magocsi |first=Paul Robert |title=Our People: Carpatho-Rusyns and Their Descendants in North America |publisher=Multicultural History Society of Ontario |year=2005 |isbn=978-0968099643}}</ref> В сучасности зогравають главну задачу при захованю знань сполоченьскы і научны орґанізації діаспоры. В роцї [[1978]] професор [[Павел Роберт Маґочій]] заложыв „Карпаторусиньскый научный центер“, котрый ся став вызначным выдаватём анґліцькоязычных учебників, словників і історічных праць о Русинах. Важным освітным центром є ай <nowiki>„</nowiki>[[Карпато-Русинськоє Общество|Карпаторусиньска сполочность]]<nowiki>“</nowiki>, котра реалізує розсяглы проґрамы про дорослых і молодеж в діаспорї. Сполочность реґуларно орґанізує онлайн курзы, ґенеалоґічны вебінары і лекції, чім помагать потомкам еміґрантів штудовати пряшівскый і підкарпатьскый штандарт русиньского языка. Вдяка довгорочному намагу діаспоры ся [[русиністика]] як научна дісціпліна научать ай на універзітній уровни, конкретно на Торонтьскій універзітї в [[Канада|Канадї]].<ref>{{cite web |title=Carpatho-Rusyn Society: Educational Programs |url=https://c-rs.org |accessdate=2026-07-09}}</ref> == Сучасна школска сфера у Румунії == [[Русины в Румыниї|Русины у Румунії]] суть офіціално узнанов народнов меншынов, што їм уможнює здобывати цїлену штатну підпору на властны освітнї потребы і мати свого заступцю в румуньскім парламентї. Културны і освітнї інтересы комуніты на штатній уровни заступує <nowiki>„</nowiki>[[Културне общество Русинів Румунії]]<nowiki>“</nowiki>. Хоць в країнї не екзістують повноцїнны штатны школы з русиньскым учебным языком, вдяка штатному фінанцованю мать общество можность леґално выдавати двойязычны румуньско-русинськы учебникы і букварї, меджі котрыма стоїть за змінка публікація „Abecedar rutean“. На учіня русиньского языка проходить переважно в формі недїльных школ і волительных предметів в реґіонах з компактным залюднїнём той комуніты. Такы освітнї ініціатівы фунґують в селах Переґу Маре в окресї Арад, [[Быстрый]] в окресї Марамуреш і Дерменешть в окресї Сучава. Важнов частёв освітнёго процесу суть каждорочны лїтнї таборы про молодеж. Почас тых стрїтнуть ся учать основы русиньской ґраматікы, історії і традічных реиесел, што приспівать к захованю жывого языка і народной ідентіты меджі наймолодшов ґенераціёв Русинів у Румунії.<ref>{{cite web |title=Uniunea Culturală a Rutenilor din România: Educație și Cultură |url=http://www.rutenii.ro |accessdate=2026-07-09}}</ref> == Сучасна школска сфера у Чеську == По розпадї [[Чехословакія|Чехословакії]] і в резултатї працовной міґрації у Чеську, передовшыткым в [[Прага|Празї]], взникла актівна русиньска комуніта, котра од року 1989 пережывать період културного ожывіня. Школство в русиньскім языку у [[Чехія|Чеську]] не мать штатный статус і екзістуючі освітнї ініціатівы суть заміряны переважно на дорослу популацію. Цїлёвов ґрупов тых проґрамів суть єднак [[Чехы]], котры ся інтересують о історію реґіону, єднак працовны міґранты, котры ся снажять заховати свою народну ідентіту. Главныма погынаючіма силами освітнёго процесу суть містны обчаньскы общества. Общество приятелїв Підкарпатьской Руси, заложена уж в роцї 1990, веде інтензівну освітову чінность, выдавать рівноменный часопис, публікує літературу на [[Чеськый язык|чеськім]] і русиньскім языку і орґанізує історічны выставы. Централным містом про орґанізованя освітнїх подїй є Дім народностных меншын в Празї. Праві в тій інштітуції русиньскы орґанізації, в тім чіслї фолклорного здружіня „Скеля“, орґанізують лекції о історії [[Карпатська Русь|Карпатьской Руси]], реґуларны презентації книг і неформалны языковы курзы. Освітнїй процес прохожить формов волительных годин і недїльных стрїтнуть, котры уможнюють діаспорї утримовати контакт з языком і традіціями.<ref>{{cite journal |last=Medveďová |first=M. |title=Rusíni v Českej republike: história, kultúra a vzdelávanie |journal=Podkarpatská Rus |year=2015 |issue=3 |pages=12—14}}</ref> == Референції == {{референції}} [[Катеґорія:Школы]] [[Катеґорія:Русины]] rw6crigq6v3pq04a3snfjbkpcsn4asu Locus perennis 0 15299 170245 155250 2026-09-23T22:07:00Z Flipdot 23893 170245 wikitext text/x-wiki [[File:Lišov, základní nivelační bod České státní nivelační sítě (5).jpg|thumb|350px|<center>Lišov, Locus perennis, 1890</center>]] '''Locus perennis''' (з {{Lang-la}} „фурташне мѣсто“)&nbsp;— фиксна точка, закладна точка геодезичной нивелачной сѣти в даколишной [[Австро-Мадярщина|Австро-Мадярщинѣ]]. ==История== В року 1873 [[Австро-Мадярщина]] зачала будовати властну геодезичну сѣть, котра была базована на нуловом уровни [[Ядранске море|Ядранского моря]] в [[Фиуме]] ([[Триест]]ѣ), а найвысшу точку мала на просмыку Niedere Tauern (1734&nbsp;м н.&nbsp;м.) в [[Алпы|Алпах]].<ref>Jozef Weigel.</ref> ==Закладны точкы== При будованю геодезичной сѣти было рѣшено поставити сѣм фиксных точок (Loci perennes). Тоты точкы были выбраны на основѣ геологичных суджѣнь в такых мѣстах, де не были чеканы ниякы геологичны змѣны. Закладны точкы были зафиксованы на непорушных скалных масивах, а над нима поставлены охранны обелискы з трьох части. На територии днешньой [[Австрия|Австрии]] (в границях по року 1918) не была жадна закладна точка.{{Жрідло}} {| class="wikitable" |+Поступ ставбы закладных точок<ref>Josef Zeger</ref> |- !Рок ставбы !Мѣсто и днешный штат !Надморска вышка, м н.м. |-align=center |1878 |Ruše ([[Словѣния]]) |295,5644 |-align=center |1887 |Pasul Turnu Roșu ([[Румыния]]) |360,0558 |-align=center |1887 |Требуша (нынѣ [[Круглый (Раховскый район)|Круглый]], [[Украина]]) |367,6820 |-align=center |1888 |Strečno ([[Словакия]]) |371,0933 |-align=center |1888 |Nadap ([[Мадярщина]]) |173,6901 |-align=center |1890 |Lišov ([[Чехия]]) |565,2065 |-align=center |1890 |Fortezza ([[Италия]]) |736,4520 |} ==Днешность== По розпадѣ [[Австро-Мадярщина|Австро-Мадярщины]] закладны точкы ей геодезичной сѣти стратили вызнам и стали ся памятниками истории геодезии. В [[Чехия|Чехии]] и [[Украина|Украинѣ]] за них ся пошырив миф, гейбы они вказують на центр [[Европа|Европы]].<ref>LOCUS PERENNIS - мапа фиксных точок</ref><sup>[''[[Вікіпедія:Перевірителность|небизувноє жерело]]'']</sup> ==Жерела и одказы== * {{Cite web |author=Josef Zeger |title=Historische Entwicklung des Präzisionsnivellements In Österreich. Wien, 1986 |url=https://web.archive.org/web/20190731203302/https://www.ovg.at/de/vgi/files/pdf/4398/ |publisher= |format=PDF |language=[[Нѣмецкый язык|нѣмецкы]] |date=1986 |accessdate=2025-03-21 }} * {{Cite web |author=Marko Razpet |title=Index locorum perennium / Seznam večnih krajev |url=http://www2.arnes.si/~supmrazp/Loci/ |publisher= |format= |language=[[Словіньскый язык|словенскы]] |date= |accessdate=2019-07-31 }} * {{Cite web |author=Jozef Weigel |title=Rakousko-uherská nivelačni síť - období do roku 1918 |url=http://docplayer.cz/11209975-Vysoke-uceni-technicke-v-brne.html |publisher=VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ |format=с. 41 |language=[[Чешскый язык|чешскы]] |date= |accessdate=2019-07-31 }} * {{Cite web |author= |title=LOCUS PERENNIS - мапа фиксных точок |url=https://zommersteinhof.dreamwidth.org/256487.html |publisher= |format= |language= |date= |accessdate=2025-03-21 }} == Референции == {{reflist}} {{Переклад|cs|Výšková měření na území Rakouska-Uherska|17324390}} [[Катеґорія:Геодезия]] 1hokfn8exwj4kexs7ifuoo63wcueloe 170246 170245 2026-09-23T22:10:21Z Flipdot 23893 170246 wikitext text/x-wiki [[File:Lišov, základní nivelační bod České státní nivelační sítě (5).jpg|thumb|350px|<center>Lišov, Locus perennis, 1890</center>]] '''Locus perennis''' (з {{Lang-la}} „фурташне мѣсто“)&nbsp;— фиксна точка, закладна точка геодезичной нивелачной сѣти в даколишной [[Австро-Мадярщина|Австро-Мадярщинѣ]]. ==История== В року 1873 [[Австро-Мадярщина]] зачала будовати властну геодезичну сѣть, котра была базована на нуловом уровни [[Ядранске море|Ядранского моря]] в [[Фиуме]] ([[Триест]]ѣ), а найвысшу точку мала на просмыку Niedere Tauern (1734&nbsp;м н.&nbsp;м.) в [[Алпы|Алпах]].<ref>Jozef Weigel.</ref> ==Закладны точкы== При будованю геодезичной сѣти было рѣшено поставити сѣм фиксных точок (Loci perennes). Тоты точкы были выбраны на основѣ геологичных суджѣнь в такых мѣстах, де не были чеканы ниякы геологичны змѣны. Закладны точкы были зафиксованы на непорушных скалных масивах, а над нима поставлены охранны обелискы з трьох части. На територии днешньой [[Австрия|Австрии]] (в границях по року 1918) не была жадна закладна точка.{{Жрідло}} {| class="wikitable" |+Поступ ставбы закладных точок<ref>Josef Zeger</ref> |- !Рок ставбы !Мѣсто и днешный штат !Надморска вышка, м н.м. |-align=center |1878 |Ruše ([[Словѣния]]) |295,5644 |-align=center |1887 |Pasul Turnu Roșu ([[Румыния]]) |360,0558 |-align=center |1887 |Требуша (нынѣ [[Круглый (Раховскый район)|Круглый]], [[Украина]]) |367,6820 |-align=center |1888 |Strečno ([[Словакия]]) |371,0933 |-align=center |1888 |Nadap ([[Мадярщина]]) |173,6901 |-align=center |1890 |Lišov ([[Чехия]]) |565,2065 |-align=center |1890 |Fortezza ([[Италия]]) |736,4520 |} ==Днешность== По розпадѣ [[Австро-Мадярщина|Австро-Мадярщины]] закладны точкы ей геодезичной сѣти стратили вызнам и стали ся памятниками истории геодезии. В [[Чехия|Чехии]] и [[Украина|Украинѣ]] за них ся пошырив миф, гейбы они вказують на центр [[Европа|Европы]].<ref>LOCUS PERENNIS - мапа фиксных точок</ref>{{Небізувноє жерело}} ==Жерела и одказы== * {{Cite web |author=Josef Zeger |title=Historische Entwicklung des Präzisionsnivellements In Österreich. Wien, 1986 |url=https://web.archive.org/web/20190731203302/https://www.ovg.at/de/vgi/files/pdf/4398/ |publisher= |format=PDF |language=[[Нѣмецкый язык|нѣмецкы]] |date=1986 |accessdate=2025-03-21 }} * {{Cite web |author=Marko Razpet |title=Index locorum perennium / Seznam večnih krajev |url=http://www2.arnes.si/~supmrazp/Loci/ |publisher= |format= |language=[[Словіньскый язык|словенскы]] |date= |accessdate=2019-07-31 }} * {{Cite web |author=Jozef Weigel |title=Rakousko-uherská nivelačni síť - období do roku 1918 |url=http://docplayer.cz/11209975-Vysoke-uceni-technicke-v-brne.html |publisher=VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ |format=с. 41 |language=[[Чешскый язык|чешскы]] |date= |accessdate=2019-07-31 }} * {{Cite web |author= |title=LOCUS PERENNIS - мапа фиксных точок |url=https://zommersteinhof.dreamwidth.org/256487.html |publisher= |format= |language= |date= |accessdate=2025-03-21 }} == Референции == {{reflist}} {{Переклад|cs|Výšková měření na území Rakouska-Uherska|17324390}} [[Катеґорія:Геодезия]] p51l1nftvgxm37tcvu91zonccxjkmgy Шріфт 0 17775 170254 151399 2026-09-23T23:05:45Z Flipdot 23893 170254 wikitext text/x-wiki [[Файл:Bauer Bodoni Mostra (cropped).svg|міні|Шрифтова родина Bauer Bodoni, з прикладом трьох шрифтув у нюй: Roman (вадь regular), bold тай italic.|class=skin-invert-image]] '''Шрифт''' ({{Lang-en|font}}) ото комплет знакув. Майчасто шрифтом ся кличе комплет малюнкув букв, скапчаных уєдно єднакым дизайном. У [[Ручноє набираня|ручному набираню]] шрифтом є комплет печатных мінт даякого розміру, вагы и стилю. Наприклад, шрифтова родина Bauer Bodoni (указаный на образчикови) ся творит шрифтами „roman 12pt“ вадь „regular 12pt“ („обычный [розміром]{{Efn|У совєтськуй печатнуй термінолоґії розмір шрифта ся называт „кеґель“.}} 12&nbsp;пунктув“), „{{notatypo|'''bold 12pt'''}}“ („грубый 12&nbsp;пт“) и „{{notatypo|''italic 12pt''}}“ („курзивный 12&nbsp;пт“). Мінты ся чинят фізично через удливаня метала, урізаня з дерева вадь у другых техніках. [[Файл:Sorts on composing stick.jpg|міні|Металічный шрифт, укладеный на набор]]У компютернуй техніці шрифты представлені файлами, котрі обсягувут векторну математичну репрезентацію знакув авадь (теперь май рідко) знакы у формі образчикув ци розміщеня пікселюв. Булшина компютерных шрифтув не потребувут вытвореня окремої варіації на кажджый розмір, бо вни ся легко масштабувут. Часто ся сохтує чинити разні файлы на кажджу вагу вадь стиль шрифта, хоть из появов технолоґії варіативных шрифтув ({{Lang-en|variable fonts}}) єден файл годен обсяговати нараз ушыткі вагові тай стильові варіації даякого шрифта; у варіативных шрифтах вмісто традиційных статичных варіацій вагы тай нахылу сут „осі“, на котрых мож задавати май точні значіня и убирати проміжкові. == Характерістікы == <!-- У будучности бым перенюс у окрему статю за компютерні шрифты, раз лишаву туй --> Традічно, шріфт ся характерізує розміром (у совєтьскій тіпоґрафії „кеґель“), высотов букв, вагов (грубинов штріха), нахыленём, шыринов знаків і іншыма характерістіками. Із популарізаціёв діґіталных варіатівных шріфтів возможных характерістік стало веце. === Вага (weight) === Вага є грубина штріха у знаках. Тота грубина є неєднака міджі різныма ґарнітурами, респ.&nbsp;єдна ґарнітура може мати штандарту варіацію вагы грубшов, як у другій, але і мати при тім не таков грубов „мастну“ варіацію. Як правило різны варіації вагы мають свої імена; у діґіталній тіпоґрафії варіацій вагы є не веце 9, кедь ґарнітура не є „варіатівна“. У „варіатівных“ осї часто дають выберати значіня од 100 до 900. Найчастіше штандартна верзія шріфта ся пише Regular або Roman. Дале ідуть мастнішы варіанты: Medium, Semibold, Bold, Heavy тай Black, а перед тым легшы: Hairline, Thin, Light. Вмісто словесных назв іщі ся поужывають чісловы значіня (наприклад, у CSS): {| class="wikitable" |+Табла чісловых значінь !Ціфрами !Словами |- !100 |Hairline / Thin |- !200 |Extra Light / Ultra Light |- !300 |Light |- !400 |Regular / Roman / Normal |- !500 |Medium |- !600 |Semibold / Demibold |- !700 |Bold |- !800 |Heavy |- !900 |Black |} === Нахыленя (slant) === За нахыленём шріфты можуть быти Normal (без нахыленя), Italic (найчастїше курзіва, т.є. шпеціалный окремый штіль, котрый є близшый ку курзівным формам), Slanted/Oblique (найчастїше просто нахылена на бік варіація). Як правило нахылены они суть управо, але тыж ся рїдко стрїчають і ґарнітуры із нахыленём улїво. У CSS нахыленя ся задає через <code>font-style</code> і може мати такы абсолутны значіня: <code>normal</code>, <code>italic</code>, <code>oblique</code> (з <code>oblique</code> мож такой дати ґрадус нахыленя). === Шырина (width) === Поєдны шріфты мають тыж і різну шырину. Найчастїше суть варіації Compressed, Condensed, Semi-Condensed, Normal, Semi-Extended, Extended і Expanded. == Запяткы == <references group="lower-alpha" /> == Референції == {{Reflist}} == Література == * Fiedl, Frederich, Nicholas Ott and Bernard Stein. ''Typography: An Encyclopedic Survey of Type Design and Techniques Through History.'' Black Dog & Leventhal: 1998. {{ISBN|1-57912-023-7}}. * Macmillan, Neil. ''An A–Z of Type Designers.'' Yale University Press: 2006. {{ISBN|0-300-11151-7}}. jgynofulwe5vdeztn3qjdik7rm2fl5l Лексика 0 18203 170265 170041 2026-09-24T03:48:49Z InternetArchiveBot 22034 Add 3 books for [[Вікіпедія:Перевірителность]] (20260923sim)) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]] 170265 wikitext text/x-wiki {{Вецезначность|Лексикон (чеперушка)}} '''Лексика''' або '''лексико́н''' (од {{lang-grc|λεξικόν}} ''{{lang|grc|lexikon}}'', середный род од {{lang-grc|λεξικός}} ''{{lang|grc-Latn|lexikos}}'' „''[дотычный] слова''“)&nbsp;— сума [[Слово|слов]] [[язык]]а, его словниковый фонд. Тот термин ся тыж хоснуе односно окремой части, пласта словникового фонда (лексика каждоденна, лексика бюрократична, лексика поетична), або односно сумы слов, поуживаных дакотрым [[писатель]]ом (лексика [[Александер Павлович|Павловича]]), або односно сумы слов едного литературного дѣла (лексика „[[Марко Шолтыс|Марка Шолтыса]]“). Роздѣл [[Лингвистика|лингвистикы]], котрый общо штудуе лексику&nbsp;— [[лексикология]].<ref name=Kuznecov>Кузнецов А. М.</ref> Каждый язык мать велике множество [[Слово|слов]], але не вшиткы слова ся в даном языку хоснують еднако часто. * '''Активна лексика''' — тота, што ся хоснуе каждоденно, бѣжно;<ref name=Zerebilo>Жеребило Т.В.</ref> котру люде не лем розумѣють, але и хоснують;<ref name=Kuznecov/> котра ся поуживать з великов фреквенциов.<ref name=PKJa2015>Плїшкова А., Копорова К., Ябур В. (2015)</ref> * '''Пасивна лексика''' — тота, котру люде розумѣють, але бѣжно не хоснують;<ref name=Kuznecov/> котра ся поуживать з малов фреквенциов, а ку тым ся односять:<ref name=PKJa2015/> ** [[архаизм]]ы (глас, чадо); ** [[Историзм (лингвистика)|историзмы]] (биров, желярь, левент); ** [[неологизм]]ы (викенд, козмодром, мобил); ** [[диалектизм]]ы, што ся хоснують лем локално ([[Язык Паноньскых Русинів|Бачка]]: ''[[wikt:озда#Pannonian_Rusyn|озда]]'' „ачей“, [[Марамороськый діалект (русинськый язык)|Мараморош]]: ''пораз'' „даколи“) Богатство словника у бесѣдуючых росте з вѣком, з прибываньом скушеностей а подвышѣньом освѣты.<ref name=PKJa2019>Плїшкова А., Копорова К., Ябур В. (2019)</ref> Дѣтвакови, котрый зачинать бесѣдовати, выстачить пару слов, але розвой словной засобы проходить барз быстро: в еден-два рокы лексика дѣтвака як правило ся творить 50&nbsp;словами а годна доходити до 500&nbsp;слов;<ref>{{cite journal|vauthors=Crais ER, Watson LR, Baranek GT|title=Use of gesture development in profiling children's prelinguistic communication skills|url=https://archive.org/details/sim_american-journal-of-speech-language-pathology_2009-02_18_1/page/95|journal=American Journal of Speech-Language Pathology|volume=18|issue=1|pages=95–108|date=February 2009|pmid=19029535|doi=10.1044/1058-0360(2008/07-0041)}}</ref> штырирочна дѣтина знать уж коло тысяч слов,<ref name="PKJa2019"/> до пяти рокох дѣти ся выражають лексиконом розмѣром в 2,100–2,200&nbsp;слов, а до шести&nbsp;— 2,600&nbsp;слов а розумѣють дас&nbsp;20,000–24,000.<ref>{{cite book|last=Lorraine|first=S.|year=2008|title=Vocabulary development: Super duper handouts number 149|publisher=Super Duper Publications|location=Greenville, SC}}</ref> Векшина дѣтей бере си в лексикон дас по 10–20&nbsp;слов за тыждень;<ref>{{cite journal|last1=Ganger|first1=J.|last2=Brent|first2=M. R.|title=Reexamining the vocabulary spurt|url=https://archive.org/details/sim_developmental-psychology_2004-07_40_4/page/621|journal=Developmental Psychology|year=2004|volume=40|issue=4|pages=621–632|doi=10.1037/0012-1649.40.4.621|pmid=15238048}}</ref> дѣтвак в ошколѣ учит дас&nbsp;6–7&nbsp;слов в день межи 6–8&nbsp;роками и дас 12 в день у 8–10&nbsp;рокох.<ref>{{cite journal|last1=Bloom|first1=P.|last2=Markson|first2=L.|year=1998|title=Capacities underlying word learning|journal=Trends in Cognitive Sciences|volume=2|issue=2|pages=67–73|doi=10.1016/S1364-6613(98)01121-8|pmid=21227068|s2cid=18751927}}</ref> Изглядованя з року 2007 вказало, же за день челядник просѣково хоснуе дас 16,000&nbsp;слов).<ref>{{cite journal|doi=10.1126/science.1139940|pmid=17615349|title=Are Women Really More Talkative Than Men?|url=https://archive.org/details/sim_science_2007-07-06_317_5834/page/82|journal=Science|volume=317|issue=5834|page=82|year=2007|last1=Mehl|first1=M. R.|last2=Vazire|first2=S.|last3=Ramirez-Esparza|first3=N.|last4=Slatcher|first4=R. B.|last5=Pennebaker|first5=J. W.|s2cid=41476180|bibcode=2007Sci...317...82M}}</ref><ref>{{cite magazine|author=Roxanne Khamsi|date=6 July 2007|title=Men – the other talkative sex|magazine=New Scientist|url=https://www.newscientist.com/article/dn12203-men--the-other-talkative-sex.html|url-access=registration|archive-url=https://web.archive.org/web/20230606162707/https://www.newscientist.com/article/dn12203-men-the-other-talkative-sex/|archive-date=2023-06-06}}</ref> Чим веце слов чоловѣк знать, тым мать векшу можность выбрати слова про свое выповѣджѣня, а выбор слов, тото уже [[штилистика|штилизация]].<ref name="PKJa2019"/> Хоть е активна словна засоба доростлого велика, в каждоденной рутинной бесѣдѣ люде часто хоснують лем обмежену словну засобу около 500 слов.<ref name="PKJa2019"/> О прировнаню, текст [[приповѣдка|приповѣдкы]], написаный на 10 странах, мать 500–700 слов.<ref name="PKJa2019"/> == Жерела и одказы == * Жеребило Т.В.: Словарь лингвистических терминов. Изд. 5-е, испр. и доп. — Назрань: ООО «Пилигрим», 2010. – {{nowrap|Сс. 171–173}}. {{ISBN| 978-5-98993-133-0}} * Кузнецов А. М.: Лексика //Языкознание. Большой энциклопедический словарь / Гл. ред. В. Н. Ярцева. — 2-е изд. — М.: Большая Российская энциклопедия, 1998. — {{nowrap|Сс. 257–258}} {{ISBN| 5-85270-307-9}} * {{Cite book |author=[[Анна Плїшкова|Плїшкова А.]], [[Кветослава Копорова|Копорова К.]], [[Василь Ябур|Ябур В.]] |editor= |title=Ґраматіка русиньского языка |language= |edition= |volume= |chapter= |quote= |location=Пряшів |publisher=Vydavateľstvo Prešovskej univerzity |date=2015 |series= |at=Сc. 202–207 |isbn=978-80-555-1448-2 |doi= |url= https://www.academia.edu/21132570/Ґраматіка_русиньского_языка_Gramatika_rusínskeho_jazyka_Grammar_of_the_Rusyn_Language}} * {{Cite book |author=[[Анна Плїшкова|Плїшкова А.]], [[Кветослава Копорова|Копорова К.]], [[Василь Ябур|Ябур В.]] |editor= |title=Русиньскый язык. Комплексный опис языковой сістемы в контекстї кодіфікації |language= |edition= |volume= |chapter= |quote=Каждый язык має велике множество слов, але не вшыткы слова ся в данім языку хоснують єднако часто. Богатство словника у бісїдуючіх росте з віком, з прибыванём скушеностей, з підвышованём освіты і в тіснім контакті з языком. Дїтвакови, котрый зачінать бісїдовати, выстачіть пару слов, штирирічна дїтина знає уж коло тісяч слов.Чім веце слов чоловік знає, тым має бівшу можность выберати слова на творїня выповіджіня. Выбір слов, то уж є штілізація. В каждоденній бісїдї (комунікації) хоснують люде барз мало слов — коло 500. Текст приповідкы, написаный на 10 странах, має од 500 до 700 слов. |location=Пряшів |publisher=Vydavateľstvo Prešovskej univerzity |date=2019 |series= |at=С. 203 |isbn=978-80-555-2243-2 |doi= |url=https://www.academia.edu/41022753/Русиньскый_язык_Комплексный_опис_языковой_сістемы_в_контекстї_кодіфікації_Rusínsky_jazyk_Komplexný_opis_jazykového_systému_v_kontexte_kodifikácie_The_Rusyn_Language_A_Comprehensive_Description_of_the_Language_System_in_the_Context_of_Its_Codification }} {{Commonscat|Vocabulary}} == Референции == {{reflist}} [[Катеґорія:Лексика]] [[Категория:Лексикология]] 17rqb43wdsu1s7chei0sbavfjfo2zdv Автомаґістрала D6 (Чесько) 0 20835 170207 142658 2026-09-23T14:44:27Z Rue323 31002 Rue323 переменовав сторінку [[Автомаґістраль D6 (Чесько)]] на [[Автомаґістрала D6 (Чесько)]] 142658 wikitext text/x-wiki '''Автомаґістрала D6''' ([[Чеськый язык|чеськ]]. ''dálnice D6'') - маґістралова автомобілна дорога в [[Чесько|Чеську]], котра зкапчує [[Карловарськый край]] з [[Прага|Прагов]]. == Полога == [[Файл:Motorway D6-CZ map.svg|міні|338x338пкс|Мапа автомаґістрали D6 (dálnice D6)]] Автомаґістраль мать довжку 159,7 км<ref>Praha - Karlovy Vary - Cheb - Domů | Dálnice D6 (dalnice-d6.cz)</ref>, з котрых покладено 88,037 км, в стані будовання 20,8 км, запланованых 50,9 км. Перва часть мать зачаток на 26-м километру [[Автомаґістрала D0 (Чесько)|автомаґістрали D0]] в Празі, кониць є на 32-м километру коло вароша [[Нове Страшіце]]. Друга чать є куртов, мать зачаток на 77-м километру, кониць мать на 83-м километру. Пуслїднёв частёв є путь уд вароша [[Карлові Вары]] дов вароша [[Хеб]]. Кониць є 169 километр автомаґістрали на северу уд [[Хеб|Хеба]]. Найвекша поволена швыдкость є 130 км/год, в частёх де йсут шосе - 90 км/год.<ref>České dálnice | Dálnice D6 (ceskedalnice.cz)</ref> == Референції == <references /> [[Катеґорія:Автомаґістрали в Чеську]] sys21gvyngzf3ncbh0n1133ihs4m2ex Нїмецька марка 0 20960 170269 158608 2026-09-24T11:09:39Z CommonsDelinker 9283 Removing [[:c:File:GIF_of_Series_4_of_Deutsche_Mark_Banknotes.gif|GIF_of_Series_4_of_Deutsche_Mark_Banknotes.gif]], it has been deleted from Commons by [[:c:User:Wdwd|Wdwd]] because: per [[:c:Commons:Deletion requests/File:GIF of Series 4 of Deutsche Mark 170269 wikitext text/x-wiki [[Файл:Deutsche_Bundesbank_by_Matthew_Bisanz.jpg|праворуч|міні|260x260пкс|Будова Нїмецького Бундесбанка, установа-емітента нїмецької маркы в 1957—2001 годах]] '''Нїме́цька ма́рка''' ({{Lang-de|Deutsche Mark}}; курто '''DM''', у межинароднуй банковськуй термінолоґії '''DEM''', в обычнуй бисїдї '''D-Mark''' вадь курто '''Mark''', в анґлоязычных країнах май булше говорят '''Deutschmark''')&nbsp;— бывша валюта [[Нїмецько|Нїмеччины]]. Йиї пустили в обіг [[1948]] года на території [[Сполкова републіка Нїмецько (1949—1990)|Западної Нїмеччины]]. 1990 года стала грошовыв єдиницьов зкапчаної Нїмеччины. Руняла ся 100 пфеніґам ({{Lang-de|Pfennig}}, курто: pf). В обігови были купікы номіналом 1, 2, 5, 10, 50 пфеніґу и 1, 2, 5 марок тай банкноты в 5, 10, 20, 50, 100, 200, 500 и 1000 марок. Центральный банк&nbsp;— Нїмецькый Бундесбанк. Дякуючи строгуй монетарнуй полїтиці Бундесбанку, нїмецька марка за час свого бытя мала «твердый» обміный курс до другых валют и была другов за популярностьов резервнов валютов у світі. З [[1. януар|1. януара]] [[2002|2002 года]] в Нїмеччині ввели [[евро]]. Міняня на нову валюту проводили за курсом 1,95583 маркы за єдно евро. ==Одкликованя== {{Переклад|uk|Німецька марка|41908763}} [[Катеґорія:Марка]] [[Катеґорія:Валуты]] [[Катеґорія:Валуты Европы]] [[Катеґорія:Валуты штатів]] f2bvaljj8b7mh2jpivha8x9c68ggpnb Інкська имперія 0 21194 170202 151625 2026-09-23T14:24:03Z Rue323 31002 Rue323 переменовав сторінку [[Інкска ріша]] на [[Інкська имперія]] 151625 wikitext text/x-wiki '''Інкска Ріша''' ([[Язык Кечуа|кечуа]]. Tawantin Suyu, Tawantinsuyu, '''Тауантинсу́йу''') ([[Испания|исп]]. Imperio incaico) — [[Индиане|индейскоє]] крайновоє формірованя екзістуючоє у [[Южна Америка|Южнӯв Америці]] у XI — XVI сторочах, мало території уд [[Колумбия|Колумбійского]] Пасто и до рікы [[Мауле (ріка)|Мауле]] у [[Чіле|Чілі]]. {{Універзалный інфобокс}} == Вайновоє діло == [[Полководці Інкӯв]] [[Оружиє Інкӯв]] == Досягы == '''Путі''' основна статя: [[Путі Інкӯв]] Інкы клали путі сообщенія, у тому числі через горы и джунґлі. Обща протяга путю̄в была 25,000 км, гі транспорт там ся хосновала [[Лама (жывотноє)|Лама]], коню̄в у Америці не было товды ищи. '''Почта''' Почтові удділеня ся клали по через кажді 3 км, усёго у почтовӯм ділі было задійствовано 10-14 тысяч людий. И т.д == Історія == '''Правителі''' Манко Капака — ~1200 Сінчі Рокі — ~1240 Лёке Юпанке — ~1260 Майта Капака — ~1290 Капака Юпанкі — ~1320 Інкі Рокі — ~1350 Явар Уакака — ~1380 Віракочі Інкі — ~1410 Пачакутека Юпанкі (Пачакуті) — 1438-1471 Тупака Інкі Юпанкі — 1471-1493 • [[1492]] — Удкрытя Америкы [[Крістофор Колумб|Колумбом]]. Уайна Капака — 1493-1527 • [[1513]] — Васько Нуньес Де Бальба удкрывать Тихый океан. • [[1515]] — Укайна Капака получать вістку за білых людий. • [[1522]] — проба Паскуаля де Даґої проникнути у Інкску Рішу. Васкарь — 1527-1532 • [[1528]] — начало домовой во̄йны миже сторонниками законного Рішанина Васкары і ёго брата Атауалпы. Атауалпа — 1532-1533 • [[1534]] — взятя штурмом [[Куско]] Конкістадорами. Сайри Тупака — 1544-1561 Титу Кусі Юпанкі — 1561-1570 • [[1569]] — Титу Кусі Юпанкі принимать Християнсиво и позволять миссионерам дійствовати у межах Інкской Рішы. Тупак Амару І — 1570-1572 Тупак Амару ІІ — 1780-1782. == Удкликованя == Тоты даны суть часточно або цалком основаны на [[Переклад (языконаука)|перекладї]] статї [https://ru.m.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D0%B5%D1%80%D0%B8%D1%8F_%D0%B8%D0%BD%D0%BA%D0%BE%D0%B2 Империя Инков] на Російськӯв Вікіпедії (чісло ревізії не было становлене). [[Катеґорія:Бывшы штаты]] [[Катеґорія:Штаты і теріторії, котры основаны 1438]] [[Катеґорія:Штаты і теріторії, котры заникли 1533]] pzjig3mcypnmyto6tvlmbh43ti1c5l4 Хеб 0 21940 170209 149748 2026-09-23T14:45:04Z Rue323 31002 /* Знамі Родаци */ 170209 wikitext text/x-wiki '''Хеб''' ([[Чеськый язык|чис]]. Cheb) ([[Нїмецькый язык|нім]]. Eger) — [[Місто|варош]] на западі [[Чесько|Чиська]] на [[Ріка|ріці]] [[Оґрже]], близ гатара из [[Нїмецько|Німицьком]]. Адміністративный центр [[Окрес Хеб|окреса Хеб]]. {{Місто}} == Знамі Родаци == '''Родили ся''' * [[Вертіг, Ярослав|Ярослав Вертіг]] (* [[1969]])&nbsp;— [[Чесько|чиськый]] [[инженер]]-[[архітектор]]. * [[Чакова, Илона|Илона Чакова]] (* [[1970]])&nbsp;— [[Чесько|чиська]] поп-спӯвачка. * '''Умерли''' * [[Іван Поп|Иван Поп]] ([[1938]]-[[2023]]) — [[Русины|русиньскый]] [[Култура|културный]] и общественный діятель, автор [[Словник|словникӯв]] и робӯт. [[Катеґорія:Населены пункты подля алфавиту]] [[Катеґорія:Міста]] [[Катеґорія:Вароші Чиська]] [[Катеґорія:Вароші Карловарського края]] [[Катеґорія:Хеб (округ)]] [[Катеґорія:Чесько]] [[Катеґорія:Населены пункты]] [[Катеґорія:Населены пункты Чехии]] qtvdoyel3w1vpgmcxyzkpwduy3n6en2 Бударь 0 22005 170242 169072 2026-09-23T21:28:48Z Rue323 31002 170242 wikitext text/x-wiki {{Статья в роботѣ|Rue323|14}}[[Файл:Taiwan_HighSpeedRail_Train_Disable-Friendly_Lavatory.JPG|праворуч|міні|250x250пкс|Унітаз]] [[Файл:Туалет_у_Тимках.jpg|праворуч|міні|333x333пкс|Бударь у Бобровицькому районови [[Чернїгівска область|Чернігӱвської области]], [[Україна|Украйина]].]] '''Буда́рь'''<ref>{{Русиньскый правопис|Будáрь|86}}</ref> ('''''зáход''''',<ref>{{Русиньскый правопис|Зáход|168}}</ref> '''''тоалéта'''''<ref>{{Русиньскый правопис|Тоалéта|474}}</ref>) — місто на справліня природных потреб [[дефекації]] и [[мочопущаня]]. == Історія == Бударі суть уж тысячі рокӱв, єдні из майстаровікых знамых бударьӱв были у [[Мезопотамія|Мезопотамії]], на [[Крета|Критови]] и у [[Індія|Індії]]. У старовікому Римови стройили общественні бударі, удходы из котрых ишли у каналізацію подобну нынішньӱв. У XVIII-XIX. сторочах каналізація, водовод и общественна [[санітарія]] стали масовым явлінём.<ref>https://www.who.int/news/item/19-11-2020-learning-from-history-sanitation-for-prosperity?utm_source=chatgpt.com</ref> У [[1596]]. році анґлічанин [[Джон Гарінґтон]] описав бударь из змывом приназначеный про королеву [[Елизавета. I|Елизавету. I]]. У [[XVIII. стороча|XVIII]]. сторочови появили ся бударі из гідравлічным затвором котрый не пущав сморӱд из каналізації. А розвитя промыслӱв, индустрії, каналізації, [[Санітарія|санітарії]] и водоснабжіня пошырило по світови бударі типирішнёго типа.<ref>https://www.history.com/articles/who-invented-the-flush-toilet?utm_source=chatgpt.com</ref>. == Устроїня и типы == Бударь мать быти зъединеный из септиком, [[Каналізація|каналізаціёв]] вадь иннзв ставбов што перероблять у збирать удходы. Ка-май шыреный ныні варіант є унітаз, у нёму удходы ся змывавуть водов и спеціалный затвор зпирать сморӱд у трубі. Ныні ищи екзістувуть и активно ся хоснувуть "вонкові" бударі, то є угрібный бударь (овӱн же ямный), и инні.<ref>https://www.who.int/docs/default-source/wash-documents/sanitation/sanitation-system-fact-sheets/fact-sheet-7---flush-toilet-with-septic-tank-and-effluent-infiltration-and-offsite-faecal-sludge-treatment.pdf?utm_source=chatgpt.com</ref> == Санітарноє значіня == Бударь то є бизӱвно дуже важна часть санітарної инфраструктуры. Их розвитя и пошыріня, домак зменшило захворіня [[Дізентерія|дізентеріёв]], [[Тифус|тіфусом]], [[Корела|корелы]], [[Поліомеліт|поліомеліта]] и [[Кышкові паразіты|кышкового паразітоза]]. По даным ВОЗ у [[2022]]. році 4,6 млрд людий (57% [[Чоловік розумный|людства]]) хосновали нормалні бударі новӱтнёго типа. Єднак 1,5 млрд людий не мала даже базового доступа ид примітивным удобствам.<ref>https://www.who.int/news-room/fact-sheets/detail/sanitation?utm_source=chatgpt.com</ref> == Референції == {{референції}} p2pjwnjxigwfcgov2lf3b8aja7x57dn Соловка 0 22373 170241 161635 2026-09-23T20:58:09Z Halajkovič 33393 170241 wikitext text/x-wiki {{Вецезначность|Соловка (значеня)}} {{НП|первое упоминание=1240|прежние имена=Saloka, Solovka|этнохороним=Соловчане|конфессиональный состав=[[Реформация|Реформаты]]|официальный язык=Україньскый язык|население=896|год переписи=2020}} '''Соло́вка''' ([[Мадярскый язык|мад]]. Szalóka) ([[Румуньскый язык|рум]]. Solovka) ([[Україньскый язык|укр]]. Соловка) ([[Словеньскый язык|словен]]. Saloka) ([[Польскый язык|пол]]. Sołowka) — [[село]] у [[Ужгородскый район|Ужгородському районови]], [[Закарпатска область|Закарпатської области]], [[Україна|Украйины]]. == Історія == [[Село]] первый раз ся споминать у [[1240]] році. Векшина [[Обывательство|обывателю̄в]] [[Село|села]] приняли [[Калвинизм|реформаторську віру]]. [[Реформация|Реформаторська]] [[Церьков (храм)|цирьков]] была постройина у [[1783]] році у штілови [[бароко]]-класицизма намісто старої камляної [[Церьков (храм)|цирьковли]].<ref name=":0">{{Cite web |title=Соловка |url=https://chop-rada.gov.ua/solovka-00-28-15-15-07-2021/ |access-date=2024-02-09 |language= }}</ref> == Обывательство == У [[Село|селі]] на [[2001]] рӯк живе 825 людий.{{жрідло}} == Управа == Сільськым старостов є Біров Александр Андріёвич.<ref>{{Cite web |title=Список селищних, сільських голів та секретарів рад Ужгородського району — Ужгородська районна рада |url=https://uzh-rajrada.gov.ua/uzhhorodshchyna/mistseve-samovriaduvannia/316-spysok-selyshchnykh-silskykh-holiv-ta-sekretariv-rad-uzhhorodskoho-raionu.html |access-date=2024-02-09 }}</ref> == Удкликованя == Тоты даны суть часточно або цалком основаны на [[Переклад (языконаука)|перекладі]] статі [https://uk.m.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0 Соловка] на Украйиньскӯв Вікіпедії (чісло ревізії не было становлене).{{Reflist}} [[Катеґорія:Села Закарпатьской области]] [[Катеґорія:Села]] [[Катеґорія:Села Україны]] [[Катеґорія:Населены пункты]] [[Катеґорія:Села подля краины]] [[Катеґорія:Мадярьскі села на Украйині]] [[Катеґорія:Населены пункты Украины]] [[Катеґорія:Населены пункты Закарпатской области]] [[Катеґорія:Населены пункты подля країны]] [[Катеґорія:Населены пункты подля алфавиту]] dzp6ec0qunijdb4ml558hq9kqrlk6ga 170243 170241 2026-09-23T21:53:13Z Flipdot 23893 170243 wikitext text/x-wiki {{Вецезначность|Соловка (чеперушка)}} {{НП|первое упоминание=1240{{Жрідло}}|прежние имена=Saloka, Solovka|этнохороним=Соловчане|конфессиональный состав=[[Реформация|Реформаты]]|население=896|год переписи=2020}} '''Соло́вка''' ({{Lang-uk|Соловка}}, {{Lang-hu|Szalóka}}, {{Lang-ro|Solovka}}) ([[Україньскый язык|укр]]. Соловка) ([[Словеньскый язык|словен]]. Saloka) ([[Польскый язык|пол]]. Sołowka) — [[село]] у [[Ужгородскый район|Ужгородському районови]], [[Закарпатска область|Закарпатської области]], [[Україна|Украйины]]. == Історія == [[Село]] первый раз ся споминать у [[1240]] році.{{Жрідло}} Векшина [[Обывательство|обывателю̄в]] [[Село|села]] приняли [[Калвинизм|реформаторську віру]]. [[Реформация|Реформаторська]] [[Церьков (храм)|цирьков]] была постройина у [[1783]] році у штілови [[бароко]]-класицизма намісто старої камляної [[Церьков (храм)|цирьковли]].<ref name=":0">{{Cite web |title=Соловка |url=https://chop-rada.gov.ua/solovka-00-28-15-15-07-2021/ |access-date=2024-02-09 |language= }}</ref> == Обывательство == У [[Село|селі]] на [[2001]] рӯк живе 825 людий.{{жрідло}} == Управа == Сільськым старостов є Біров Александр Андріёвич.<ref>{{Cite web |title=Список селищних, сільських голів та секретарів рад Ужгородського району — Ужгородська районна рада |url=https://uzh-rajrada.gov.ua/uzhhorodshchyna/mistseve-samovriaduvannia/316-spysok-selyshchnykh-silskykh-holiv-ta-sekretariv-rad-uzhhorodskoho-raionu.html |access-date=2024-02-09 }}</ref> == Удкликованя == Тоты даны суть часточно або цалком основаны на [[Переклад (языконаука)|перекладі]] статі [https://uk.m.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B0 Соловка] на Украйиньскӯв Вікіпедії (чісло ревізії не было становлене).{{Reflist}} [[Катеґорія:Села Закарпатьской области]] [[Катеґорія:Села]] [[Катеґорія:Села Україны]] [[Катеґорія:Населены пункты]] [[Катеґорія:Села подля краины]] [[Катеґорія:Мадярьскі села на Украйині]] [[Катеґорія:Населены пункты Украины]] [[Катеґорія:Населены пункты Закарпатской области]] [[Катеґорія:Населены пункты подля країны]] [[Катеґорія:Населены пункты подля алфавиту]] m5ttj3geagk5b3p3nexfv4sj56q5z4f Алексій Петров 0 22427 170197 169987 2026-09-23T13:26:58Z Rue323 31002 170197 wikitext text/x-wiki [[Файл:Aleksej-Petrov-1935.png|right|thumb]] {{Othernames|Петров}} '''Алексі́й Леоні́дович Петро́в''' ({{Lang-ru|Петров Алексей Леонидович}}; *[[16. марец|16. марца]] [[1859]]&nbsp;– †[[5. януар|5. януара]] [[1932]])&nbsp;— [[Російска імперія|російськый]] и [[Чехословакія|чехословацькый]] [[Історік|історик]], [[Педагог|педаґоґ]] и [[Лінґвістіка|лінґвішта]], зглядоватиль історії [[Карпатська Русь|Карпатської Руси]]. == Біоґрафія == Родив ся Алексій Леонідович Петров [[16. марец|16. марца]] [[1859]]. року у [[Санкт-Петербурґ|Петербурґови]] у файті протоиєрея. Кӱнчив ґімназію у Санкт-Петербурґови ([[1876]]), історико-філолоґічный факултет Петербурзького універзитета ([[1880]]). Укладав історію у петербурзькых ґімназіях, а из [[1887]] професор славянознавства Вышшых жӱнськых курсӱв, а по тому&nbsp;— Петербурзького універзитета ([[1890]]–[[1922]]). У [[1922]]. році еміґровав у [[Чеськословеньско|Чехословенсько]], жив у [[Прага|Празі]]. Быв дійсным членом [[Научне товаришство Шевченка|Научного общества им. Т. Шевченка]] у [[Львів|Львовови]], почестным членом Общества им. А. Духновича. [[5. януар|5. януара]] [[1932]].&nbsp;року умер пӱсля тяжкої хвороты, захраненый вӱн быв на знаменитому Ольшанському тиметовови у [[Прага|Празі]]. == Творьба == Вись ёго научный доробок присяченый изучіню [[Історія|історії]] [[Карпатська Русь|Пудкарпатя]] и [[Угорска Русь|Угорської Руси]]. Первый раз прибыв у [[Угорска Русь|Угорську Русь]] у 1885. році, потӱм у 1890, 1897 и 1911. Из 1922 каждого року приїзджав на [[Підкарпатьска Русь|Пудкарпатську Русь]] и [[Пряшӯвська Русь|Пряшӱвську Русь]], изучав туй книжні зберькы и архівні матеріалы. У резултатови довгої роботы из-пуд рукы А.&nbsp;Л.&nbsp;Петрова уходять 9 выпускӱв „Матеріалы для історії Угорської Руси“ (СПб., 1905–1914, т. І-VII; Прага, 1923–1932, т. VIII-ІХ). За перві шість томӱв сёго вызданя вӱн одержує у Петербурзькому універзитетови, де робив, ученый ступінь маґістра (1907), а потӱм доктора славянознавства (1911). === Книгы === * ''Материалы для истории Угорской Руси'' (СПб., 1905–1914, т. І-VII; Прага, 1923–1932, т. VIII-ІХ) * ''К вопросу о словенско-русской этнографической границе''&nbsp;— Ужгород, 1923 * [[Грамота 1404. року|''Древнѣйшая церковнославянская грамота 1404 г. о карпаторусской территоріи к основанию Грушевского монастыря св. архангела Михаила в Марамороше'']]&nbsp;— Ужгород, 1927 * ''Древнѣйшая на Карпатской Руси шолтысская грамота 1329 г.''&nbsp;— Ужгород, 1929 * ''Древнѣйшие грамоты по истории карпаторусской церкви и иерархии 1391–1498 гг.'' (Прага, 1930) * ''Задачи карпаторусской историографии''&nbsp;— Прага, 1930 * [http://www.slovakeana.sk/index.php?option=com_slovakiana_display&c=form&view=form&Itemid=1&rowid=4552 Národopisná mapa Uher podle úředního lexikonu osad z roku 1773 - Praha, 1924] == Удкликованя == * ''Віднянськый С. В''. [http://history.org.ua/?encyclop&termin=Petrov_O Петров Алексій Леонідович] // Енциклопедія історії Украйины : у 10 т. / редкол.: В. А. Смолій (голова) та ін. ; Інститут історії Украйины НАН Украйины. — К. : Наукова думка, 2011. — Т. 8 : Па — Прик. — С. 193. — <nowiki>ISBN 978-966-00-1142-7</nowiki>. * Иван Поп. Енциклопедія Підкарпатської Руси. Видавництво В. Падяка.&nbsp;— Ужгород, 2001 * Петров Алексій Леонідович // Україна в міжнародних відносинах. Енциклопедичний словник-довідник. [https://web.archive.org/web/20260530224748/https://chtyvo.org.ua/authors/Varvartsev_Mykola/Ukraina_v_mizhnarodnykh_vidnosynakh_Entsyklopedychnyi_slovnyk-dovidnyk_Vypusk_6.pdf Випуск 6. Біографічна частина: Н–Я] / Відп. ред. М.М. Варварцев. — К.: Ін-т історії України НАН України, 2016. — с.102-103 * [https://web.archive.org/web/20120330060622/http://mediacentr.info/The_newspaper_Europa_Center/patriarh-karpatorusskoj-istoriografii-aleksej-petrov-k-80-letiju-so-dnja-smerti__30463 Патриарх карпаторусской историографии Алексей Петров (к 80-летию со дня смерти)] <references /> [[Катеґорія:Уродили ся 1859]] [[Катеґорія:Персоналії подля алфавіту]] [[Катеґорія:Умерли 1932]] [[Катеґорія:Умерли у Празі]] [[Катеґорія:Родакы Санкт-Петербурґа]] [[Катеґорія:Умерли 5. януара]] [[Катеґорія:Родили ся 16. марца]] [[Катеґорія:Історіци]] [[Катеґорія:Русиньскы історіци]] ftp8e5etraxkvugesgby0dnsj71ifbk Гродненська область 0 22609 170205 158328 2026-09-23T14:40:07Z Rue323 31002 Rue323 переменовав сторінку [[Гродненьска область]] на [[Гродненська область]] 158328 wikitext text/x-wiki '''Гро́дненьска о́бласть''' ([[Білоруськый язык|біл]]. Гродзненская вобласць) ([[Російскый язык|рус]]. Гродненская область) ([[Польскый язык|пол]]. Obwód grodzieński) ([[Літовскый язык|лит]]. Gardino sritis) — [[область]] на [[Запад|западови]] [[Білорусь|Білоруси]]. Адміністративный центр — [[Гродно]]. {{Універзалный інфобокс}} == Історія == [[Область]] сотворена [[20. септембер|20 септембра]] [[1944]] року. [[Файл:Hrodna_Region_1944-1946.jpg|ліворуч|міні|Гродненьска область у 1944—1946&nbsp;роках.]] [[Файл:Гродненская_область_в_1944-1954.jpg|ліворуч|міні|Гродненьска область у 1946—1954&nbsp;роках.]] == Обывательство == [[Файл:BelarusHrodnaRegion.png|праворуч|міні|Місто области на карті Білоруси.]] У [[Область|области]] на [[2009]] рӯк живе 1 062 381 чилядник, их них: {| class="standard" ! !1959 !1970 !1979 !1989 !1999 !2009 |- |Білорусы |646 718 |729 381 |698 420 |702 208 |738 216 |715 249 |- |Полякы |332 430 |276 507 |299 250 |300 836 |294 090 |230 810 |- |Русы |72 250 |86 145 |99 597 |124 250 |119 200 |87 451 |- |Украйинці |12 004 |16 230 |18 677 |23 401 |21 166 |14 983 |- |Литовці |… |4 224 |3 427 |3 087 |2 964 |2 153 |- |Татары |2 075 |2 086 |2 177 |2 462 |2 161 |1 710 |- |Армяне |… |193 |191 |461 |1 049 |905 |- |Азербайджанці |… |142 |194 |526 |581 |678 |- |Жиды |3 744 |3 199 |2 653 |2 208 |938 |537 |- |Цигани |… |226 |330 |376 |452 |372 |- |Німці |… |171 |276 |435 |669 |329 |- |Молдаване |… |151 |274 |471 |415 |319 |- |Грузины |… |169 |167 |224 |285 |264 |- |'''Усёго''' |'''1 076 789''' |'''1 120 395''' |'''1 127 465''' |'''1 163 608''' |'''1 185 178''' |'''1 072 381''' |} {| class="standard" ! !1959 !1970 !1979 !1989 !1999 !2009 |- |Білорусы |&nbsp;60,06&nbsp;% |&nbsp;65,10&nbsp;% |&nbsp;61,95&nbsp;% |&nbsp;60,35&nbsp;% |&nbsp;62,29&nbsp;% |&nbsp;66,70&nbsp;% |- |Полякы |&nbsp;30,87&nbsp;% |&nbsp;24,68&nbsp;% |&nbsp;26,54&nbsp;% |&nbsp;25,85&nbsp;% |&nbsp;24,81&nbsp;% |&nbsp;21,52&nbsp;% |- |Русы |&nbsp;6,71&nbsp;% |&nbsp;7,69&nbsp;% |&nbsp;8,83&nbsp;% |&nbsp;10,68&nbsp;% |&nbsp;10,06&nbsp;% |&nbsp;8,15&nbsp;% |- |Украйинці |&nbsp;1,11&nbsp;% |&nbsp;1,45&nbsp;% |&nbsp;1,66&nbsp;% |&nbsp;2,01&nbsp;% |&nbsp;1,79&nbsp;% |&nbsp;1,40&nbsp;% |- |Литовці |&nbsp;… |&nbsp;0,38&nbsp;% |&nbsp;0,30&nbsp;% |&nbsp;0,27&nbsp;% |&nbsp;0,25&nbsp;% |&nbsp;0,20&nbsp;% |- |Татары |&nbsp;0,19&nbsp;% |&nbsp;0,19&nbsp;% |&nbsp;0,19&nbsp;% |&nbsp;0,21&nbsp;% |&nbsp;0,18&nbsp;% |&nbsp;0,16&nbsp;% |- |Армяне |&nbsp;… |&nbsp;0,02&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,04&nbsp;% |&nbsp;0,09&nbsp;% |&nbsp;0,08&nbsp;% |- |Азербайджанці |&nbsp;… |&nbsp;0,01&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,05&nbsp;% |&nbsp;0,05&nbsp;% |&nbsp;0,06&nbsp;% |- |Жиды |&nbsp;0,35&nbsp;% |&nbsp;0,29&nbsp;% |&nbsp;0,24&nbsp;% |&nbsp;0,19&nbsp;% |&nbsp;0,08&nbsp;% |&nbsp;0,05&nbsp;% |- |Цигани |&nbsp;… |&nbsp;0,02&nbsp;% |&nbsp;0,03&nbsp;% |&nbsp;0,03&nbsp;% |&nbsp;0,04&nbsp;% |&nbsp;0,03&nbsp;% |- |Німці |&nbsp;… |&nbsp;0,02&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,04&nbsp;% |&nbsp;0,06&nbsp;% |&nbsp;0,03&nbsp;% |- |Молдаване |&nbsp;… |&nbsp;0,01&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,04&nbsp;% |&nbsp;0,04&nbsp;% |&nbsp;0,03&nbsp;% |- |Грузины |&nbsp;… |&nbsp;0,02&nbsp;% |&nbsp;0,01&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,02&nbsp;% |&nbsp;0,02&nbsp;% |} <gallery class="left" heights="240" widths="200"> Файл:Belarusians_in_Hrodzienskaja_voblasć,_Belarus_(2009_census).png|Дараб білорусӯв по районох{{legend|#b00|>90%}}{{legend|#f44|80–90%}}{{legend|#f88|70–80%}}{{legend|orange|60–70%}}{{legend|#fd9|50–60%}}{{legend|#ff9|40–50%}}{{legend|white|<40%}} Файл:Poles_in_Hrodzienskaja_voblasć,_Belarus_(2009_census).png|Дараб полякӯв по районох{{legend|Black|>50%}}{{legend|Indigo|30–50%}}{{legend|DarkMagenta|20–30%}}{{legend|MediumOrchid|10–20%}}{{legend|Plum|5–10%}}{{legend|Thistle|2–5%}}{{legend|White|<2%}} Файл:Russians_in_Hrodzienskaja_voblasć,_Belarus_(2009_census).png|Дараб русӯв по районох{{legend|#009|>10%}}{{legend|#33f|8–10%}}{{legend|#66f|5–8%}}{{legend|#aaf|<5%}} </gallery> == Вароші == Вароші из обывательством поверх 20 тысяч особ: {| class="standard" align="center" |+ !Назва вароша !Обывательство,<br /><br />особ ([[2009]]) |- |[[Гродно]] | align="right" |338200 |- |[[Ліда (варош)|Ліда]] | align="right" |95800 |- |[[Слонім]] | align="right" |50800 |- |[[Вовковыйськ]] | align="right" |46500 |- |[[Смаргонь]] | align="right" |36900 |- |[[Новогрудок]] | align="right" |30800 |+ |} == СМИ == * [[«Рэгіянальная газета»]] ({{Lang-rue|Реґіонална новинка}})&nbsp;— каждотыжднёва общественно-політична новинка [[Білоруськый язык|білоруськым языком]]. == Знамі Родаци == * [[Мокржецькый, Сіґізмунд Александрович|Мокржецькый Сіґізмунд Александрович]]&nbsp;— професор, ентомолоґ и фітопатолоґ, изслідователь Біловежской пущи. * [[Володось, Микула Леонтіёвич|Володось Микула Леонтіёвич]] — советьскый тай украйиньскый сердцёво-судинный хірурґ и ученый. Дохтор медициньскых наук. Лауреат Премії им. О. М. Бакулєва. == Удкликованя == {{Reflist}} * [https://web.archive.org/web/20060516013530/http://region.grodno.by/ Гродненський обласний виконавчий комітет] {{Webarchive|url=https://web.archive.org/web/20060516013530/http://region.grodno.by/|date=16 травня 2006}} * [https://web.archive.org/web/20081121130640/http://www.emaps-online.com/rus_win/maps/oblast/obl_grodno/map.shtml Карти області й районів, плани міст] {{Webarchive|url=https://web.archive.org/web/20081121130640/http://www.emaps-online.com/rus_win/maps/oblast/obl_grodno/map.shtml|date=21 листопада 2008}} [[Катеґорія:Области]] [[Катеґорія:Области Білоруси]] [[Катеґорія:Гродно]] [[Катеґорія:Гродненьска область]] [[Катеґорія:Административны части Білоруси]] it33nr1z05iwlxvvnyjthnwdqtre0w2 C++ 0 22777 170248 168758 2026-09-23T22:23:25Z Halajkovič 33393 +коректованя 170248 wikitext text/x-wiki {{Інфобокс языка проґрамованя |name=C++ |paradigm=[[Парадіґма_проґрамованя#Мултіпарадіґмовый язык проґрамованя|Мултіпарадіґмовый]]: [[Обєктово-орьєнтованоє проґрамованя|обєктово-орьєнтованый]], [[сполочноє проґрамованя|сполочный]], [[Процедурноє проґрамованя|процедурный]] |year=[[1985]] |designer=[[Бярен Страуструп]] |developer={{не перекладено|треба=ISO/IEC JTC1/SC22|мова=en|є=ISO/IEC JTC 1/SC 22}}/WG21 |typing=[[Статічна тіпізація|Статічный]], [[Номінатівна сістема тіпізаційи|Номінатівный]] |implementations=[[GNU Compiler Collection|G++]], [[Microsoft Visual C++]], [[Borland C++ Builder]], [[Clang]] |dialects=ISO/IEC 14882:1998, 2003, 2011, 2014, 2017, 2023 |influenced=[[Ada (Язык проґрамованя)|Ada 95]], [[C Шарп|C#]], [[Java (Язык проґрамованя)|Java]], [[PHP]], [[D (Язык проґрамованя)|D]], [[Aikido (Язык проґрамованя)|Aikido]], [[Dao (Язык проґрамованя)|Dao]], [[Rust (язык проґрамованя)|Rust]] |website={{URL|https://isocpp.org/}} |лоґо=[[Файл:ISO_C++_Logo.svg|200px]] |latest release date=19 уктобра 2024 |latest release version=ISO/IEC 14882:2024 [[C++23]] }} '''C++''' (читат ся гий '''''сі-плус-плус'''''<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html#name |title=Bjarne Stroustrup's FAQ |quote=The name C++ (pronounced "see plus plus") |date=October 1, 2017 |publisher=Bjarne Stroustrup |language=en |access-date=2017-12-04 |archivedate=2016-02-06 |archiveurl=https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#name }}</ref> даколи ся скорочує до '''CPP (сі-пі-пі)''') — у основном [[Компілованый язык проґрамованя|компілованый]], [[Штатічна тіпізація|статічно тіпізованый]], [[Сі самаравучі языкы проґрамованя|C-самаравучый]], [[язык проґрамованя]] [[Язык проґрамованя обобщеного призначіня|сполочного призначіня]], [[Высокорунёві языкы проґрамованя|высокого уровня]], зотвореный [[Даны|данськым]] компютерным ученым [[Бярен Страструп|Бяреном Страструпом]], котрый зачав го робити в [[AT&T]] [[Bell Laboratories]] ([[Муррей-Гілл, Ню-Джерзі|Муррей-Гілл, Ню Джерзі]]) у [[1979|1979 годови]]. Выпусшеный у [[1985|1985 годови]], гий розширіня про [[С (язык проґрамованя)|языка проґрамованя С]], головнов го ідийов было додати [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]] можности у [[С (язык проґрамованя)|Сі]], спозад чого мав имня «'''C with classes'''» («[[Русиньскый язык|русин.]] '''Сі из класами'''»), из тых часу язык ся дуже розвойив. Из [[1997]], C++ має [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]], сполочні тай функціоналні функційи, звирьху д можности убробкы [[Компютерна тяма|тямы]] на [[Низькорунёві языкы проґрамованя|низкум уровни]] про такых сістему, ги [[мікрокомпютер]]ы, авадь діля зотворіня [[Операчна сістема|оперчных сістем]], наприклад хосновав ся у [[Microsoft Windows|Windows]] и [[Linux]]. [[компілаторы C++]] надавут: [[Free Software Foundation]], [[LLVM]], [[Microsoft Corporation|Microsoft]], [[Intel]], [[Embarcadero]], [[Oracle]] тай [[IBM]]<ref name="stroustruptcpppl">{{Cite book|last=Stroustrup|first=Bjarne|author-link=Bjarne Stroustrup|title=The C++ Programming Language|year=1997|edition=Third|chapter=1|publisher=Addison-Wesley|isbn=0-201-88954-4|oclc=59193992|url=https://archive.org/details/cprogramminglang00stro_0}}</ref>. Упирьвоє описаный у меженароднум штандарті [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 ([[C++98]]), выдтуть выходили сякі вирзійи: [[C++03]], [[C++11]], [[C++14]], [[C++17]], [[C++20]], [[C++23]]. Май актулным стандартом же є [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2024 ([[C++23]])<ref>{{Cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 |publisher=International Organization for Standardization |access-date=21 October 2024}}</ref>. Пудпорює такі [[Парадіґма проґрамованя|парадіґмы проґрамованя]], ги [[процедурне проґрамованя|процедурноє проґрамованя]], [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованоє проґрамованя]], тай [[сполочне проґрамованя|сполочноє проґрамованя]]. Язык має грубу штандартову бібіліотеку, котора включат у себе поширині контийнеры й [[Алґорітм|алґорітмы]], увожіня-вывожіня, реґуларні выражіня, пудпору [[Многопоточность|многопоточности]] тай другі можности. C++ має у собі особенности як и [[Высокорунёвый язык проґрамованя|высокоурувньовых]], так и [[Низькорунёвый язык проґрамованя|низкоурувньовых языку]]. Руняно из спередущым — языком [[C (язык проґрамованя)|C]] — має май грубу увагу д пудпорі [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованого]] тай [[Сполочне проґрамованя|сполочного проґрамованя]]{{Sfn|Страуструп|1999}}. C++ Широко хоснує ся про розробку [[Проґрамне засобованя|проґрамного засобованя]], є єдным из майпопуларных коду проґрамованя, по убзвідованям [[2015|2015 года]], кулькость проґрамішту Сі++ є около 4,4 міліону<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html |author=Бярен Страуструп |language=анґліцькы |date=2015-04-16 |title=Bjarne Stroustrup’s FAQ }}</ref><ref>{{Cite web |url=https://blog.jetbrains.com/clion/2015/07/infographics-cpp-facts-before-clion/ |language=анґліцькы |date=2015-07-27 |title=Infographic: C/C++ Facts We Learned Before Going Ahead with CLion {{!}} The CLion Blog |publication-date=2023-09-23 |publisher=The JetBrains Blog }}</ref>. Область го хоснованя включат зотворіня [[Операчна сістема|операчных сістем]], рузных [[Прикладна проґрама|прикладных проґрам]], [[Драйвер|драйверу]], аплікацій про встройиных сістем, высокопродутівных [[Сервер|серверу]], ай тоже [[Компютерна бавка|компютерных бавок]]. Є много реалізацій языка C++, як и задарьных, так и комерційных и діля рузных платформ. Наприклад, про платформы [[x86]] то є [[GNU Compiler Collection|GCC]], [[Clang]], [[Microsoft Visual C++|Visual C++]], [[Intel C++ Compiler]], [[C++ Builder|Embarcadero (Borland) C++ Builder]] тай инакі. C++ мав грубиньськый уплыв на другі языкы проґрамованя, майсилно на [[Java]], [[C#]] и [[Rust (язык проґрамованя)|Rust]]. Сінтаксіс C++ унаслідує ся уд языка [[С (язык проґрамованя)|С]]. На зачинаньови єдным из прінціпу розробкы было усокочіня сполочливости из С. айбо, при тум, C++ ниє у строгум змыслови надмножинов С: кулькость проґрам, которі можут єдинако добре трансловати ся як и [[Компілатор|компілаторами]] Сі, так и компілаторами C++, доста велика, айбо не включає всякі возможні проґрамы на С. Неникавучи ся на широкоє принятя языка, його крітіковали такі доста знані проґрамішты ги [[Лінус Сторвалдс]], [[Річард Сталлман]], [[Джошуа Блох]], [[Кен Томпсон]] тай [[Доналд Кнот]]. == Історія == {| class="wikitable" align="right" !історичный етап розвоя<ref>Стенли Ліппман, [http://msdn.microsoft.com/en-us/magazine/cc163681.aspx Pure C++: Hello, C++/CLI] </ref> !Гуд |- |Язык [[BCPL]] |[[1966]] |- |Язык [[B (язык проґрамованя)|Бі]] (оріґінална розробка [[Томпсон, Кен|Томпсона]] пуд [[UNIX]]) |[[1969]] |- |Язык [[С (язык проґрамованя)|Сі]] |[[1972]] |- |«Сі из класами» |[[1980]] |- |C84 |[[1984]] |- |[[Cfront]] (выпуск E) |[[1984]] |- |Cfront (выпуск 1.0) |[[1985]] |- |Множинноє/віртуалноє наслідованя |[[1988]] |- |Сполочноє проґрамованя ([[Шаблоны С++|шаблоны]]) |[[1991]] |- |ANSI C++ / ISO-C++ |[[1996]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 |[[1998]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003 |[[2003]] |- |[[C++/CLI]] |[[2005]] |- |[[TR1]] |[[2005]] |- |[[C++11]] |[[2011]] |- |[[C++14]] |[[2014]] |- |[[C++17]] |[[2017]] |- |[[C++20]] |[[2020]] |- |[[C++23]] |[[2023]] |- |[[C++26]] |[[2024]] |} === Зотворіня === [[Язык проґрамованя|Язык]] появив ся у зачинаньови [[1980-ті рокы|1980 году]], коли робутник фірмы [[Bell Laboratories|Bell Labs]] [[Бярен Штрауштруп|Бярен Страуструп]] придумав шор изліпшинь ид языкови [[C (Язык проґрамованя)|Сі]] пуд свої потребности{{Sfn|Страуструп|1999}}. Коли в кунци 1970-ых году Страуструп зачав робити в Bell Labs над задачами теорійи очерідий (у проґрамі діля моделованя телефонных выклику), Бярен увидів, што коли ун пробовав убхосновати еґзістовавші у тот час языкы проґрамованя, моделованя указали ся неефектівными, а убхоснованя высокоефектівных машинных языку [[Коды проґрамованя низького руня|низкого уровня]], выйшло дуже чажкоє. Позад йихньої ограничиности у выражиньови кода й потребности контроловати булшость процесу. Сяк, язык [[Сімула (Язык проґрамованя)|Сімула]] має такі возможности, котрых дуже гія было діля розробкы май грубого проґрамного засобованя, айбо робит ун дуже помалы, а язык [[BCPL]] доста быстрый, айбо дуже близкый ид языкам низкого уровня и не пудходив діля розробкы май грубого проґрамного засобованя. [[Файл:BjarneStroustrup.jpg|посилання=https://uk.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:BjarneStroustrup.jpg|міні|[[Бярен Страуструп]], твориць C++, у свойому офісови AT&T New Jersey, c. 2000]] Притямивши досвід свойої кандідатської дісертаційи, Страуструп вырішив доповнити язык C (наслідник BCPL) возможностями, котрі были в языкови Сімула. Язык Сі, будучи базовым языком сістемы [[Unix]], на котруй робили компютеры Bell, є быстрым, многофункціоналным и переносимым. Страуструп добавив ид нему возможность роботы з класами и обєктами. У выслідках практічні задачі моделованя указали ся доступными діля вырішіня як из бока часа розробкы (дякувучи хоснованьови подобавучых класу), так и з бока часа убчисліня (дякувучи скороті C). У пирьву очеридь у C были додані класы (из [[Інкапсуляция (проґрамованя)|инкапсулаційов]]), наслідованьом класу, строга провірка тіпу, inline-функційи й [[арґументы за мовчанём|арґументы за мовчаньом]]. Пирьві вирзійи языка, якый иззачинаня кликав ся «C with classes» («Сі из класами»), стали доступныма з [[1980|1980 года]]. Коли Страуструп розробляв «Сі из класами», ун написав проґраму [[cfront]] — [[транслатор]], якый переробляв выхудный код свого языка в выхудный код простого Сі. Сесе позволило робити над новым языком и хосновати го на практіці, хоснувучи ужек мавучу в unix-инфраструктуру діля розробкы на Сі. Новый язык нечекано про автора дустав грубу популарность помеже колеґ и скоро Страуструп ужек не муг лично пудпорьовати його, удповідавучи на тисячі звідань. Ид [[1983|1983 годови]] в язык были додані нові возможности, такі ги віртуалні функційи, переубтирьханя функцій и оператору, удкликаня, константы, хосноватильськоє контролованя над кроманьованьом слобуднов тямов, изліпшина перевірка тіпа й коментарі в стілі BCPL (<code>//</code>). Дуставшый ся язык ужек перестав быти просто доповненов вирзійов класічного C и быв перейменованый из «''Сі из класами''» на «''C++''». Його пирьвый комерційный выпуск став ся в [[Октобер|Октобри]] [[1985|1985 года]]. До зачинаня офіцічної штандартізаційи язык розвойовав ся по булшости силов Страуструпа в удказ на жаданя проґрамістської сполочности. Функцію штандартного описаня языка додержовали написані Cтрауcтрупом пичатні роботы по C++ (описаня языка, діловоє вединя й так дале). И лем у [[1998|1998 годови]] быв ратіфікованый меженародный штандарт языка C++: [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 «Standard for the C++ Programming Language»; по принятьови технічных правок штандарта в [[2003|2003 годови]] — слідувуча вирзія сего штандарта — [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003<ref>{{Cite web |url=http://www.open-std.org/jtc1/sc22/wg21/docs/standards |title=C++ — Standards |access-date=2010-11-14 |archivedate=2010-11-20 |archiveurl=https://web.archive.org/web/20101120215619/http://www.open-std.org/jtc1/sc22/wg21/docs/standards }}</ref>. Из [[Януар|янувара]] [[2018|2018 года]] Страуструп быв уголошеный лауреатом примійи Чарлза Старка Дрейпера позад инженірьскої діятилности в 2018 годови «за концептуалізацію тай розробку языка проґрамованя C++».<ref>{{Cite web |url=https://www.nae.edu/177355.aspx |date=3 Януара 2018 |title=Computer Science Pioneer Bjarne Stroustrup to Receive the 2018 Charles Stark Draper Prize for Engineering |publisher=National Academy of Engineering |archivedate=14 Децембра 2021 |archiveurl=https://web.archive.org/web/20180103190112/https://www.nae.edu/177355.aspx }}</ref> У [[Децембер|децембрьови]] [[2022|2022 года]] C++ засів тритьоє місто в индексови TIOBE, тым же выпередив [[Java]] пирьвый раз у історійи индекса. На [[новембер|новембирь]] [[2024|2024 года]] язык засідає другоє місто по [[Python]], а Java — тритьоє.<ref>{{cite web |url=https://www.tiobe.com/tiobe-index/ |title=TIOBE Index for November 2024 |author=TIOBE |date=November 2024 |website=TIOBE.com |publisher=TIOBE Company |access-date=18 November 2024 |archive-date=18 November 2024 |archive-url=https://web.archive.org/web/20241118090936/https://www.tiobe.com/tiobe-index/ |url-status=live }}</ref> === Розвуй и штандартізація языка === У [[1985]] ищи до выпуска офіцічного штандарта, выйшло пирьвоє выданя книжкы «[[Язык проґрамованя C++]]».<ref name="1st-edition3">{{cite web |url=http://www.stroustrup.com/1st.html |title=The C++ Programming Language |edition=First |first=Бярен |last=Страуструп |access-date=16 September 2010 |archive-date=9 August 2012 |archive-url=https://web.archive.org/web/20120809032136/http://www.stroustrup.com/1st.html |url-status=live }}</ref> Пирьва комерційна реалізація выйшла в [[Октобер|октобри]] того же года.<ref>''Страуструп, Бярне (7 Марца 2010). "[https://www.stroustrup.com/bs_faq.html#invention Bjarne Stroustrup's FAQ: When was C++ invented?]". stroustrup.com. [https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#invention Archived] з оріґінала 6 фебруара 2016 года. Одержано 16 септембра 2010 года.''</ref> Ся книжка дає пирьвоє описаня языка, што было воле важно позад того, што не было офіцічного штандарта. У [[1989|1989 годови]] став ся выхуд C++ вирзійи 2.0. Єї нові возможности включали несчислиность наслідованя, абстрактні класы, статічні функційи-части, функційи-константы и сокочині части. У [[1990|1990 годови]] вышло «Коментованоє діловоє руководство за C++», котроє, у послідку стало основов штандарта. Послідні убновіня мали у собі шаблоны, выключіня, простур имнен, нові способы привединя тіпа и буловый тіп. Подля основы діля сокочіня й доступа д сполочным алґорітмам была выбрана [[Штандартна бібліотека шаблону|Штандартова бібліотека шаблону (STL)]], розроблена [[Олександр Степанов|Александром Степановым]]<ref name="STL">{{Cite web |date=7 Марца 1994 |url=http://www.stepanovpapers.com/Stepanov-The_Standard_Template_Library-1994.pdf |title=Hewlett-Packard, Technical Report X3J16/94-0095, WG21/N0482 |publisher=The Standard Template Library |author=[[Александр Степанов]] }}</ref> и [[Менґ Лі]]. [[Штандартна бібліотека C++|Штандартова бібліотека C++]] тоже розвойила ся у рокаши з ним. Пирьвым доданьом д штандартовуй бібліотеци C++ стали потокы увожіня-вывожіня, задавучі возможности про заміны традіцічных функцій C <code>printf</code> и <code>scanf</code>. май пузно силным розвойом стандартової бібліотекы стало додаваня у ниї [[Штандартна бібліотека шаблону|Штандартової бібліотекы шаблону]]. * Офіцічна штандартізація языка зачала ся у [[1998|1998 годови]], кой быв опублікованый штандарт [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 (знаный гий C++98)<ref>{{Cite web |author=Bjarne Stroustrup. |title=C++ Glossary |url=http://www.research.att.com/~bs/glossary.html |access-date=2007-06-08 |archiveurl=https://web.archive.org/web/20110501150638/http://www2.research.att.com/~bs/glossary.html |archivedate=2011-05-01 }}</ref>, розробленый комітетом по штандартізаційи C++ ([[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] JTC1/SC22/WG21 working group). Штандарт C++ не описовав способу именованя обєкту, дакотрых деталий убробкы выключных и другых можностий, изкапчаных из деталами реалізаційи, што робит незовмісным обєктный код, зотвореный рузными компілаторами. Айбо діля сего иншыми людми было зотворено много штандарту діля конкретных [[Архітектара компютера|архітектур]] тай [[Операчна сістема|операчных сістем]]. * У [[2003|2003 годови]] быв опублікованый штандарт C++ [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003, де были выправлині явивші ся хыбы и недоробкы спередущої вирзійи штандарта. У [[2005|2005 годови]] быв опублікованый звід Library Technical Report 1 (накурто именованый TR1). Ниє офіцічно частьов штандарта, звід описує розширіня штандартної бібліотекы, котрі, за думков автору, мавут быти включині у слідувучу вирзію штандарта. Ступінь пудпоры TR1 изліпшує ся майжек в усьых пудпорювучых компілаторах языка C++. * Из [[2009|2009 года]] ийшла робота по убновіньови спередущого штандарта. Выхудна вирзія называла ся C++09, у слідувущуму годови ю перейменовали на C++0x. Штандарт быв опублікованый у [[2011|2011 годови]] тай именованый [[C++11]]. У него включині доповніня у ядрови языка й розширіня штандартної бібліотекы, в тому числови груба часть TR1. * Слідувуща вирзія штандарта, [[C++14]], выйшла в [[Авґуст|авґустови]] [[2014 года]]. Уна має у собі в основному уточніня тай выправліня хыб спередущої вирзійи. * Штандарт [[C++17]], опублікованый у [[Децембер|децембрьови]] [[2017|2017 года]], включив у штандартну бібліотеку паралилні вирзійи штандартных алґорітму й зрушив дакотрі старі тай дуже рідко хоснуйимі елементы. * Послідня штабілна на типирішньый момент робляча вирзія штандарта — [[C++20]]. Меже вшиткым, ун має у собі прінціпно новоє — пудпору модулу. * Штандарт [[C++23]] на даный момент актівно убговорює ся комітетом [[Миженародна орґанізация по штандартізациї|ISO]]. C++ дале розвойив ся, про то убы удповідати типирішным жаданям. Єдна з ґруп, розроблявучых язык C++ и направлявучых комітетови по штандартізаційи C++ предклала його изліпшиня — то [[Boost]], котра занимат ся, у тому числі, довершиньом возможностю языка путьом добавліня у него особенностю [[метапроґрамованя]]. Нико не має права на язык C++, ун є слобудным. Айбо сам документ штандарта языка (за выключиньом чорновика) не доступный задарь. У рамках процеса штандартізаційи [[Миженародна орґанізация по штандартізациї|ISO]] выпускає дакулько виду выдань. У частности, технічні звіды тай технічні характерістікы публікувут ся, коли «видко будучность, айбо ниє доразної возможности на погоджіня діля публікаційи меженародного штандарта.» До [[2011|2011 года]] было опубліковано три технічні звіда по C++: TR 19768: 2007 (тоже знаный ги C++, Технічный звід 1) про розширіня бібліотекы в основному интеґрованый у C++11, TR 29124: 2010 про шпеціялных математічных функцій, і TR 24733: 2011 про десятичної арітметікы из плававучов точков. Технічна шпеціфікація DTS 18822: 2014 (по файловуй сістемі) была утвержена в зачинаньови [[2015|2015 года]], и другі технічні характерістікы находят ся у стадійи розвоя й чекавут одобріня. У [[Марец|марцьови]] [[2016|2016 года]] в [[Росія|Російи]] была зотворена робоча ґрупа [[РГ21 C++|РҐ21 C++]]. ґрупа была орґанізована про збур жадань до штандарта C++, и выправліня йих у комітет и сокочіня на сполочных зборах Меженароднов орґанізаційов по штандартізаційи ([[Миженародна орґанізация по штандартізациї|ISO]])<ref name="sozd">{{Cite web |url=http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html |title=Яндекс организует рабочую группу по стандартизации языка C++ |language=ru |access-date=2018-08-29 |publisher=ИКС Медиа |archivedate=2018-08-29 |archiveurl=https://web.archive.org/web/20180829212016/http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html }}</ref>. === Історія имня === Имня «Сі++» было выдуманоє [[Рік Масітті|Ріком Масітті]] (Rick Mascitti) и пирьвый раз было захоснованоє у [[Децембер|децемброви]] [[1983|1983 года]]. Май скоро, на етапови чиніня, новый язык называв ся «Сі из класами». Имня, што выйшло у выслідкови, выходит уд оператора Сі «<code>++</code>» (Избулшіня значіня змінної на єденицю) тай поширеному способови присвойиня новых имен компютерным проґрамам, што лежит у додаваньови до имня сімбола «<code>+</code>» для позначіня изліпшинь. ведля Страуструпа, «се имня указує на еволуційну природу міняня Сі». Имньом «С+» называли скуршый, не скапчаным из С++ язык проґрамованя. Язык тож не называв ся D, того што «''ун є розширіньом C и не старає ся выправляти хыбы путьом зрушіня елементу C''»{{sfn|Страуструп|1999|loc=1.4. Исторические замечания|сторінки=46}} Дакотрі проґрамішты на Сі можут замітити, што, аж оконувут ся выразы <code>х=3; y=x++;</code> то у выслідкови выйде <code>х=4</code> і <code>y=3</code>, того што <code>x</code> ся збулшує лем по [[Оператор присвойиня|присвойиньови]] го до <code>y</code>. айбо, аж другый выраз буде <code>y=++x;</code> то выйде <code>x=4</code> и <code>y=4</code>. Выходячи из сего, мож учинити выслідок, што май лоґічно было бы называти язык не Сі++, а ++Сі. айбо обадва выразы c++ и ++c избулшувут с, ай поза тым, выраз c++ є май пошириным. Педанты тож можут уповісти, што увединя языка Сі++ не міняє самого Сі, того май біжным имньом было бы «С+1». === Філозофія C++ === У книжци «Дізайн а еволуція C++»{{Sfn|Страуструп, Дизайн и эволюция C++|2007}} [[Берен Страуструп]] описує прінціпы, котрых ун додержовав ся при проєктованьови C++. Сесі прінціпы убяснявут, чого C++ именно сякый, ги ун є. Дакотрі з них: * Получити універзалный язык из штатістічными тіпами даных, ефектівностьов и переносимостьов языка C. * Безпосередно тай всядыбоково пудпорьовати лум штилю проґрамованя, у тум числі [[процедурне проґрамованя|процедурноє проґрамованя]], [[абстракцію даных]], [[Обєктово орьєнтоване проґрамованя|обєктово-орєнтованоє проґрамованя]] тай [[убобщене проґрамованя|сполочноє проґрамованя]]. * Дати проґрамістови слободу выбора, дажий, аж се даст му возможность выберати неправилно. * Максімално усокотити сполочность из C, тым же учинити возможным легкый перехуд уд проґрамованя на C. * Убыйти рузночитаность меже C і C++: кажда конштрукція, допустима в обадвох языках, мусит у каждых из них означати єдно, тай идводити д єдному повожіньови проґрамы. * Убыйти особенности, котрі залежат уд платформы авадь не сут універзалными. * «Не платити за то, што не ся хоснує» — анияка языкова возможность не має доводити ид знижіньови продуктованя проґрам, не хоснувучых йих. * Не требовати дуже убтяженоє міліє проґрамованя. == Убозріня языка == Штандарт C++ склдат ся из двох основных частий: описаня ядра языка тай описаня штандартної бібліотекы. Пирьвый час язык розвивав ся поза формалных рамок, спонтанно, за міров поставшых сперед ним задач. Розвойови языка допровожовав розвуй [[Крос-компілатор|крос-компілатора]] [[cfront]]. Убновіня у языкови выдавали ся на зміні нумера вирзійи крос-компілатора. Сесі нумера вирзій крос-компілатора розусяжовали ся й на самый язык, айбо до днисьшных часу бисіду про вирзію языка C++ не ведут. Лем у 1998 годови язык став штандартізованым. * C++ пудпорює як коментарі ги в стілі C (<code>/* коментарь */</code>), так и єдношорові (<code>// вшитка послідувуча часть шорика буде коментарьом</code>), де <code>//</code> означат зачинаня коментаря, а май близкый слідувучый сімбол нового шора, котрому не передує сімбол <code>\</code> (вадь еквівалентный йому убозначиный <code>??/</code>), рахує ся кунцьом коментаря. Плус сего коментаря у тум, што го не мусай заперати, циже убозначовати кониць коментаря. * Шпеціфікатор <code>inline</code> про функцій. Функція, дефінована вудну тіла класа, є inline за замовчіньом. Даный шпеціфікатор є пудказков компілаторови й може встройити тіло функційи у код умісто ю безпосередного выклика. * Кваліфікаторы <code>const</code> и <code>volatile</code>. На розділ выд С, де <code>const</code> означає лем доступ про читаня, у C++ змінна из кваліфікатором <code>const</code> має быти иніціялізована. <code>volatile</code> хоснує ся у описови змінных и информує компілатор, што значиня даної змінної може быти поміняно способом, котрый компілатор не годен про то убы увидіти. Про змінных, установленых <code>volatile</code>, компілатор не мусит зачинати дії про оптімізацію, мінявучі положіня змінної у тямі (наприклад, розміщувучи ю у реґістрови) авадь покладавучи ся на непоміняность значіня змінної у просторі меже двома значінями, котрі ся юй призначавут. * [[Простур имен (проґрамованя)|Простур имен]] (<code>namespace</code>). Приклад: Выбираня именно С гий основы про зотворіня языка проґрамованя убяснявут, тым, што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит про вырішіня булшости сістемных задач; # Оконаня усюды й на всьому; # Стыкує ся з мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык программирования C++. Раздел 1.6</cite></div> Шпеціялным трафунком є безименный простур имен. Вшиткі имена, описані в нему, доступні лем у біжнуй єденици транслаційи і мавут локалноє скапчаня. Простур имен <code>std</code> має у собі штандартні бібліотекы C++, простур имен [[chrono (C++)|chrono]] має функційи про роботы з єденицями часа з с chrono. * Про роботу з тямов додані операторы <code>new</code>, <code>new[]</code>, <code>delete</code> тай <code>delete[]</code>. На розділ уд бібліотековых malloc и free, прийшовшых из C, дані операторы чинят иніціялізацію обєкта. Про класу — то є выклик конструктора, діля [[Проста штруктура даных|POD]]-тіпу иніціялізацію мож вадь не проводити (<code>new Pod;</code>) вадь провести иніціялізацію нуловыми значінями (<code>new Pod(); new Pod {};</code>). === Тіпы === У C++ доступні слідувучі встановлині тіпы. Тіпы C++ практічно повностю повторявут [[тіпы даных у C]]:<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref> {| class="wikitable" | rowspan="2" |'''Тіп даных''' |'''Вага''' | rowspan="2" |'''Сінтаксіс''' |- |'''Информація''' |- | colspan="3" |'''Сімболні тіпы<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/char-wchar-t-char16-t-char32-t?view=msvc-170 char, wchar_t, char16_t, char32_t (Microsoft Docs)]</ref>''' |- | rowspan="2" |<code>'''char'''</code> |1 [[байт]](8 [[біт]]) | rowspan="2" |<code>char ch1 = 'A';</code> авадь <code>char ch1 = 65;</code> , што є ідентічно, бо сімбол «A» стойит у ASCII пуд значінём 65. |- |може сокотити в собі сімбол( його чиловоє значіня [[ASCII]]). |- | rowspan="2" |<code>'''wchar_t'''</code> |2 ~ 4 байт(16 ~ 32 біт) зависимо уд платформы | rowspan="2" |<code>wchar_t ch2 = L'Я';</code> |- |Хоснує взамін ASCII [[UTF-16]] на [[Windows операчні сістемы|Windows]], [[UTF-32]] на другых сістемах, на Windows його рекомедувут хосновати лем при роботі з [[Windows API]]<ref>[https://ravesli.com/urok-35-simvolnyj-tip-dannyh-char/#toc-7 Урок 35. Символьный тип данных (char)]</ref>. Доданый у [[C++11|C++ 11]]. |- | rowspan="2" |<code>'''char8_t'''</code> |1 байт(8 біт) | rowspan="2" |<code>char8_t ch8 = u8'A';</code> |- |Тот же <code>'''char'''</code>,лем назнчиный про роботу з сімболами [[UTF-8]]. Має літерал <code>u8</code>.Тіп доданый у [[C++20]]. |- | rowspan="2" |<code>'''char16_t'''</code> |2 байт(16 біт) | rowspan="2" |<code>char16_t ch16 = u'あ';</code> |- |Зотвореный діля роботы з [[UTF-16]]. Має літерал <code>u</code>.Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''char32_t'''</code> |4 байт(32 біт) | rowspan="2" |<code>char32_t ch32 = U'😊';</code> |- |Зотвореный діля роботы з [[UTF-32]].Має літерал <code>U</code>.Тіп доданый у [[C++11]]. |- | colspan="3" |'''Цілочисилні знакові<ref name=":1">[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref>''' |- | rowspan="2" |'''<code>short</code>(<code>short int)</code>''' |2 байт(16 біт) | rowspan="2" |<code>short si = -20000;</code> |- |Може сокотити у собі числові значіня уд -32 768 до 32 767. Хоснує ся діля скочіня тямы. |- | rowspan="2" |'''<code>int</code>''' |4 байт(32 біт) | rowspan="2" |<code>int i = 1000000;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647. Май часто ся хоснує діля роботы з цілыми числами, має оптімалный баланс меже вагов, и діяпазоном значинь. |- | rowspan="2" |<code>'''long(long int)'''</code> |4 ~ 8 байт(32 ~ 64 біт) зависимо уд платформы | rowspan="2" |<code>long int li = 3000000000L;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647 авадь -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисел. На 32-бітных сістемах у основному має тоту же вагу, што й '''<code>int</code>'''. Має літерал <code>'''L'''</code>. |- | rowspan="2" |<code>'''long long'''</code> |8 байт(64 біт) | rowspan="2" |<code>long long lli = 9000000000000000000LL;</code> |- |Може сокотити у собі числові значіня уд -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисил. Має літерал <code>'''LL'''</code>. Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''__intN''':</code><ref name=":2">[https://learn.microsoft.com/ru-ru/cpp/cpp/int8-int16-int32-int64?view=msvc-170 __int8, __int16, __int32, __int64 (Microsoft Docs)]</ref> |N - число біт | rowspan="2" |<code>__int8 i8 = 100;</code><ref name=":2" /> |- |Зотворено, вбы особно вказовати число біт, наприклад: <code>__int8</code>(8 біт), <code>__int16</code>(16 біт), <code>__int32</code>(32 біт), <code>__int64</code>(64 біт), можут сокотити у собі числові значіня уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup>-1<ref name=":0">[https://acode.com.ua/urok-34-tsilochyselni-typy-danyh-short-int-i-long/#toc-2 Цілочисельні типи даних]</ref>. |- | colspan="3" |'''Из [[Плававуча крапка|плававучов крапков]]<ref name=":1" />''' |- | rowspan="2" |<code>'''float'''</code> |4 байт (32 біт) | rowspan="2" |<code>float f = 3.14f;</code> |- |Має 6 ~ 7 дисятковых цифер, Хоснує ся діля сокочіня чисил из плававучов крапков, помірнов бізувностьов, наприклад: діля [[Компютерна бавка|компютерных бавок]]. Має літерал f. Діяпазон уд ±1.18×10<sup>-38</sup> до ± 3.4×10<sup>38</sup>. |- | rowspan="2" |<code>'''double'''</code> |8 байт (64 біт) | rowspan="2" |<code>double d = 3.141592653589793;</code> |- |Має 15 ~ 16 дисятковых цифер, Хоснує ся діля сокочіня чисел из плававучов крапков, и серидньов бізувностьов, май часто діля роботы з [[Дробы (математіка)|дробами]]. Діяпазон уд ±2.23×10<sup>-308</sup> до ±1.80×10<sup>308</sup>. |- | rowspan="2" |<code>'''long double'''</code> |10-16 байт (80 ~ 128 біт) | rowspan="2" |<code>long double ld = 3.1415926535897932385L;</code> |- |Має 18-19 дисятковых цифер. Хоснує ся діля научных убчислинь, має высоку бізувность. Діяпазон ±3.36×10<sup>-4932</sup> до ±1.18×10<sup>4932</sup>. |- | colspan="3" |'''Лоґічні<ref name=":1" />''' |- | rowspan="2" |<code>'''bool'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/bool-cpp?view=msvc-170 bool тіп даных (Microsoft Docs)]</ref> |1 байт(8 біт) | rowspan="2" |<code>'''bool b = true;'''</code> |- |Діяпазон уд 0 до 1, удкликає ся на звіданя правда(<code>'''true'''</code>) вадь бріхня(<code>'''false'''</code>), май часто хоснувут у if, while.<ref>ISO/IEC 14882:1998, розділ 6.4, пункт 4: «The value of a ''condition'' that is an initialized declaration in a statement other than a <code>switch</code> statement is the value of the declared variable implicitly converted to <code>bool</code> … The value of a ''condition'' that is an expression is the value of the expression, implicitly converted to <code>bool</code> for statements other than <code>switch</code>; if that conversion is ill-formed, the program is ill-formed».</ref> |- | rowspan="2" |<code>'''false'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/false-cpp?view=msvc-170 false тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 0, означат бріхню, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool f = false;'''</code> |- |- | rowspan="2" |<code>'''true'''</code><ref>[https://learn.microsoft.com/ru-ru/cpp/cpp/true-cpp?view=msvc-170 true тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 1, означат правду, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool t = true;'''</code> |- |- | colspan="3" |'''Цілочисилні знакові тай беззнакові (<code>signed</code> і <code>unsigned</code>)<ref name=":0" /><ref name=":1" />''' |- |'''Тіп даных''' |'''Информація''' |'''Приклад''' |- |'''<code>signed</code>''' |Знаковый тіп, котрый робит діяпазон хоть якої цілочисленної змінної уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup> - 1<ref name=":0" /> ди N то кулькость біт тіпа даных. signed Є тіпом за замовчіньом | У <code>signed int</code> діяпазон уд -2 147 483 648 до 2 147 483 647, а у <code>signed short</code> уд -32 768 до 32 767, так само які і без приписаня <code>signed</code>. |- |'''<code>unsigned</code>''' |Беззнаковый тіп, котрого, аж прикласти до цілочислных тіпу, то йих діяпазон буде мочи мати лем додатньоє значіня, уд 0 до 2<sup>n</sup> - 1 (N — вага в бітах прикладеного тіпа) |<code>unsigned long long</code> уд 0 до 18 446 744 073 709 551 615, ци <code>unsigned short</code> уд 0 до 65 535.<ref name=":0" /> |} Язык увюг такоє розуміня ги удкликаня, ай з штандарта C++11 ''— rvalue''-удкликаня и [[переадресуйимі удкликаня]] ({{Lang-en|forwarding reference}}). (см. Удкликаня (C++)) C++ додає д C обєтово-орьєнтовані возможности. Ун уводит класы, которі давут три май важливых особенности [[Обєктово орьєнтоване проґрамованя|ООП]]: [[Інкапсулація (проґрамованя)|инкапсулацію]], [[Наслідованя (проґрамованя)|наслідованя]] й [[Поліморфізм (проґрамованя)|поліморфізм]]. У штандартови C++ пуд класом (class) розуміє ся хосноватильськый тіп, убявленый из хоснованьом єдного из ключовых слув <code>class</code>, <code>struct</code> авадь <code>union</code>, пуд штруктуров (structure) розуміє ся клас, убявленый через [[Ключове слово (проґрамованя)|ключове слово]] <code>struct</code>, тай пуд убєдениньом (union) розуміє ся клас, убявленый через ключовоє слово <code>union</code>. У зависимости уд хоснованого ключового слова мінявут ся так само и дакотрі свойства самого же класа. Наприклад, у класі, обявленому через <code>struct</code>, части без особно прописаного модіфікатора доступа будут за замовчіньом мати публічну руню доступа, а не пріватну. У тілови дефініційи класа мож указати гий убявліня функцій, так и йих дефініцію. У посліднюм трафункови функція є интеґрованов(<code>inline</code>). Нештатічні функційи-части можут мати кваліфікаторы <code>const</code> тай <code>volatile</code>, ай не лиш, ищи можут мати удкличный кваліфікатор (<code>&</code> вадь <code>&&</code>). === [[Наслідованя (проґрамованя)|Наслідованя]] === C++ пудпрює [[многоразове наслідованя|многоразовоє наслідованя]]. Базові класы (класы-предкы) указувут ся у наголовкови описаня класа, возможно, з шпеціфікаторами доступа. Наслідованя уд каждого класа може быти публічным, засокоченым авадь запертым: {| class="wikitable" !Доступ части базового класа/режім наслідованя !private-часть !protected-часть !public-часть |- |private-наслідованя |недоступный |private |private |- |protected-наслідованя |недоступный |protected |protected |- |public-наслідованя |недоступный |protected |public |} За замовчіньом базовый клас наслідує ся ги ''private''. На выслідкови наслідованя клас-наслідник получає всі поля класа-предка и всі го методы; мож уповісти, што каждый екземплар класа-наслідника уміщат у собі ''пудекземплар'' каждого з класу-предку. Аж єден клас-предок наслідує ся дакулько раз (се возможно, аж ун є предком дакулькых базовых класу зотворявучого класа), то екземплары класа-наслідника буде мати тулько же пудекземплару даного класа-предка. Убы убыйти такого ефекта, аж ун нежаданый, C++ пудпорює концепцію ''віртуалного наслідованя''. При наслідованьови базовый клас може обявляти ся віртуалным; на всі віртуалні входы класа-предка в дерево наслідованя класа-наслідника в наслідникови зотворює ся лем єден пудекземплар. * Private наслідованя — має у собі всі методы и особности класа «утця» у запертому доступі з вон и запертому доступі діля класу потомку * Public наслідованя — має у собі всі методы и штімованя класа «утця» у выдпертому доступі з вон * Protected наслідованя — то самоє, што і private, айбо потомкы мавут доступ ид унаслідованым методам и особеностям === Поліморфізм === C++ пудпорює [[дінамічный поліморфізм]] и [[штімовськый поліморфізм]]. Штімовськый поліморфізм представленый: * Арґументами за замовчіньом діля функцій. Наприклад, діля функційи <code>void f(int x, int y=5, int z=10)</code>, выклик <code>f(1)</code>, <code>f(1,5)</code> и <code>f(1,5,10)</code> еквівалентный. * [[Переубтерьханя функций|Переубтирьханя функцій]]: функція з єдным имньом може мати рузноє число и рузні по тіпу арґументы. Наприклад: <syntaxhighlight lang="cpp"> void Print(int x); void Print(double x); void Print(int x, int y); </syntaxhighlight> :: Частным трафунком переубтирьханя функцій мож лічити [[переубтерьханя оператору|переубтирьханя оператору]]. * Механізмом шаблону Дінамічный поліморфізм реалізує ся помочов [[Віртуалні методы|віртуалных методу]] тай іерархійи наслідованя. Поліморфным у C++ є тіп, мавучый хоть єден віртуалный метод. приклад іерархї: <syntaxhighlight lang="cpp"> class Figure { public: virtual void Draw() = 0; // чистый віртуалный метод virtual ~Figure(); // ож є хоть єден віртуалный метод деструктор гія учинити віртуалным }; class Square : public Figure { public: void Draw() override; }; class Circle : public Figure { public: void Draw() override; }; </syntaxhighlight>Туйкы клас Figure є [[Абстрактный клас|абстрактным]] (и, онь, [[Інтерфейс (обєктно-орьєнтоване проґрамованя)|інтерфейсным]]), позад того, што метод Draw не дефінованый. Обєкты сего класа не мож зотворити, айбо мож хосновати удкликаня авадь указникы з тіпом Figure. Избраня реалізаційи метода Draw буде проізводити ся за час окончованя выходячи из реалного тіпа обєкта. === [[Інкапсулація (проґрамованя)|Инкапсулація]] === Инкапсулація у C++ реалізує ся через ідіфікацію уровня доступа до частий класа: вни можут быти публічными (удпертыми, <code>public</code>), засокочеными (<code>protected</code>) и пріватными (запертыми, <code>private</code>). У C++ штруктуры формално рузнит ся уд класу лем тым, што за замовчіньом руня доступа д частям класа и тіп наслідованя у структуры публічні, а у класа — пріватні. {| class="wikitable" !Доступ !private !protected !public |- |Самый клас |Айно |Айно |Айно |- |Цімборы |Айно |Айно |Айно |- |Наслідникы |ні |Айно |Айно |- |Изпоза |ні |ні |Айно |} Перевірка доступа йде за час компілаційи, проба звіданя до недоступної части класа выкликає хыбу компілаційи. ==== Цімборы ==== ''Функційи-цімборы'' — то є функційи, котрі ниє функціями-частями тай задто мавучі доступ д засокоченым і запертым частям класа. Уни мавут быти убявлині в тілови класа ги <code>friend</code>. Наприклад: <syntaxhighlight lang="cpp"> class Matrix { friend Matrix Multiply(Matrix m1, Matrix m2); }; </syntaxhighlight>Туйкы функція <code>Multiply</code> може звідати ся д полям и функціям-частям класа <code>Matrix</code>. Цімборськым може быти убявленый гий всьый клас, так и функція-часть класа. Чотыри важных ограничіня, котрі ся кладут на удношіня цімборськости в C++: * '''Цімборськость не транзітівна.''' Аж A убявляє цімбором B, ай B, у свою очеридь, убявляє цімбором C, то C не стає автоматічно цімбором діля A. На то, A мусит явно убявити C свойим цімбором. * '''Цімборськость не сполочна.''' Аж клас A убявляє цімбором клас B, то ун не стає автоматічно цімбором для B. На то мусит еґзістовати явноє убявліня цімборськости A в класови B. * '''Цімборськость не наслідує ся.''' Аж A убявляє клас B свойим цімбором, то потомкы B не ставут автоматічно цімборами A. На то каждый из них мусит быти убявленый цімбором A в явнуй формі. * '''Цімборськость не розусяжує ся на потумку.''' Аж клас A убявляє B цімбором, то B не стає автоматічно цімбором діля класу-потумку A. Каждый потомок, аж тото гія, мусит убявити B свойим цімбором сам. У цілум видячи сесе правило мож сформуловати такым образом: ''«Удношіня Цімборськости еґзістує лем меже тыми класами (класом и функційов), діля котрых уно явно убявленоє в кодови, й робит лем у тому напрямліньови, в котрому вно обявлиноє».'' === Шпеціялні функційи === Клас за замовчіньом може мати шість шпеціялных функцій: конструктор за замовчіньом конструктор копійованя, конструктор переміщіня, деструктор, оператор присвойиня копійованьом, оператор присвойиня переміщиньом. Тоже мож явно дефініційовати йих всьых (см. [[Правило трёх (C++)|Правило трьох]]). <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщіньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight>Конструктор выкликає ся діля иніціяліційи обєкта (удповідного тіпа) при його зотворіньови, а деструктор — діля зрушіня обєкта. Клас може мати пару конструктору, айбо деструктор може мати лем єден. Конструкторы в C++ не можут быти убявлині віртуалными, а деструкторы — можут, тай в основнум убявлявут ся діля всьых поліморфных тіпу, штобы ґарантовати правилноє зрушіня доступного за удкликаньом авадь указатильови обєкта независимо уд того, котрого тіпа удкликаня вадь указатиль. аж є хоть у єдного из базовых класу віртуалного деструктора, деструктор класа наслідника автоматічно стає віртуалным. === Нові возможности === Шаблоны дозволювут зотворяти функційи и класы, штімовані дефініцічным тіпом авадь значіньом. Наприклад, спередущый клас муг бы реалізовати масив діля хоть якого тіпа даных: <syntaxhighlight lang="cpp"> template <typename T> class Array { ... T& operator[](size_t i) { return val[i]; } protected: std::size_t len {0}; // иніціялізація поля T* val {nullptr}; }; </syntaxhighlight> == Штандартна бібліотека == === Сполочна структура === Штандартна бібліотека C++ має набур возможностю, котрі мусят быти доступні у каждуй імплементаційи языка, вбы дати проґраміштам просту роботу з языковыми міліями тай зотворити основу про розвуй так приладных аплікацій широкого шпектра, гий и шпеціялізованых бібліотек. Штандартна бібліотека C++ убсягат часть штандартної бібліотекы Сі. Штандартна бібліотека C++ має у собі часть штандартної бібліотекы Сі. Штандарт C++ має норматівноє удкликаня на штандарт C уд [[1990|1990 года]] и не дефініціює сам тоты функційи штандартної бібліотекы, котрі берут ся з штандартної бібліотекы Сі. Айбо у C++ наголовчні файлы Сі адаптовані: умісто <code><stdio.h></code> хоснує ся <code><cstdio></code>, а йих обсяг розміщає ся в просторі имен <code>std</code>. Уто позволяє убыйти конфлікты имен и усокотити сполочность. Доступ до возможностю штандартної бібліотекы C++ ся дустає включіньом у проґраму (через діректіву #include) потребных наголовочных файлу. У штандарті [[C++11]] вызначино 79 такых файлу. У май новых вирзіях языка ([[C++17]], [[C++20]]) йих кулькость ся выросла позад додаваня новых возможностю, гий робота з файловов сістемов (<filesystem>), концепты (<concepts>) и корутіны. Вшиткі засобы штандартної бібліотекы надлежат д просторови имен std. Єдночасно ся просит не хосновати діректіву using namespace std; ґлобално, вбы не выходили неєднозначности в кодови. из розвойом штандарту ([[C++11]], [[C++14]], [[C++17]], [[C++20]]) бібліотека ся розширює, давучи май безпечні и выразнi возможности проґрамованя. Наприклад, у [[C++11]] появили ся «розумні указатилі» автоматічного кроманьованя тямов, а в [[C++17]] – структуры робут из файловов сістемов. Каждоє убновіня хоче злегшити розробку, засокочувучи зворотну сполочность и высоку ефектівность. === Пудпора языка === Сюды надлежат возможности, котрых гія діля роботы проґрам, тай за информацію о особностях імплементаційи. Включає возможности, котрых гія про выділіня тямы, механізмы '''[[RTTI|RTTI (Run-Time Type Information)]]''', базові выйимкы, границі значінь числовых тіпу даных, базові засобы роботы з мілійом, гий наприклад, сістемовый час, убробляня сіґналу UNIX, завершіня проґрамы. === Штандартні [[Контейнеры (проґрамованя)|контийнеры]] === У штандартнуй бібліотеци сут шаблоны за такі конийнеры: * Дінамічный масив ('''vector'''), * Штатічный масив ('''array'''), * Єднонапрямлиный список ('''forward_list'''), * Двонапрямлиный список ('''list'''), * [[Стек]] ('''stack'''), * Дек ('''deque'''), * Асоціятівні масивы ('''map, multimap'''), * Множины ('''set, multiset'''), * Очеридь из приорітетом ('''priority_queue'''). === Основні утиліты === У тот розділ уходит опис основных базовых елементу, што ся ухоснововут у штандартнуй бібліотеци, [[Алокатор|алокаторы тямы]], пудпора часа й даты в штілови C. * '''Ітераторы''': засокочувут шаблоны [[Ітераторы (проґрамованя)|ітератору]], помочов котрых у штандартнуй бібліотеци ся реалізує штандартный механізм ґрупового ухоснованя алґорітму за убробліня даных у контийнерах. * '''Алґорітмы''': шаблоны описа операцій убробляня, котрі ся можут ухоснововати до хоть якої послідовности елементу, включно з тотыми в контийнерах. У тот розділ тоже входят функційи '''bsearch()''' і '''qsort()''' из штандартної бібліотекы C. * '''Шорикы''': шаблоны шорику в штілі C++. У тому розділови тож є бібліотекы про роботу з текстом тай сімболами у штілі C. * '''Уводжіня-выводжіня''': шаблоны и вспомижні класы про потокы уводжіня-выводжіня сполочного вида, про шоровоє уводжіня-выводжіня, маніпулаторы (засобованя контрола формата потокового уводжіня-выводжіня у штілі C++). * '''Локалізація''': дефініційи, котрі ся ухоснововут подля пудпоры народных особностю тай формату представліня (дат, валут тай т. д.) у штілі C++ и в штілі C. * '''Діяґностіка''': дефініційи шора вийимок и механізму контрола твиржінь за час оконаня проґрамы ('''assert'''). Пудпора убробкы хыб у штілі C. * '''Числа''': дефініція роботы з комплексными числами, математічні векторы, пудпора сополоченых математічных функцій, ґенератор трафунковых чисел. === STL – Standard Template Library (Штандартна Шаблонова Бібліотека) === Контийнеры, шоры, алґорітмы, ітераторы й основні утиліты, за выйимков переберань из бібліотекы C, ся в рокаши означувут ги '''STL (Standard Template Library – Штандартна Шаблонова Бібліотека)'''. Иззачинаня STL была окремым продуктом и ю абревіятура мала инаку интерпретацію, айбо потум стала частьов штандартної бібліотекы C++ тай ю неудкапчаным елементом. У имньови пудкреслено, же для реалізаційи засобу сполочному виді (контийнеру, шора, алґорітму) сут хосновані механізмы '''солоченого проґрамованя''' ('''template''' – шаблоны C++). Бярен Страуструп у свойих роботах детално описує причины, з котрых быв зробленый именно тот выбор. Основными причинами были: * '''Універзалность вырішіня''' – шаблонові контийнеры, на розділ уд обєктных, можут быти легко хосновані діля '''не обєктных тіпу''' й не требувут єдного предка у тіпу елементу. * '''Технічна ефектівность''' – в основному, операційи шаблонового контийнера не требувут '''выклику віртуалных функцій''' и можут быти легко встройині '''(inline)''', што у выслідкови дає выгру в продуктівности. Тот пудхуд зробив '''STL''' єднов из май успішных и май булш розусядженых частий штандартної бібліотекы C++. Из штандарта C++11 додали ся слідувучі возможности: * Додана бібліотека <code>&lt;regex&gt;</code>, реалізувуча всьымиприйняті механізмы гляданя тай пудстановкы з помочов реґуларных выразу. * Додана пудпора многопоточности. * Атомарні операційи. * unordered-варіянты асоціятівных масиву и множин. * Розумні указатилі, задавучі автоматічноє выслободжіня выділеної тямы. === Реалізаційи === STL до того, як стала частьов штандарта C++, была боковов розробков. Иззачинаня ю розробляла фірма '''[[Hewlett-Packard|HP (Hewlett-Packard)]]''', а потумкы – '''[[SGI|SGI (Silicon Graphics Inc.)]]'''. Штандарт языка не означає го '''«STL»''', бо ун став неудкапчаннов частьов языка, айбо много людий и доднись хоснувут то назов, убы удрузнити ю выд инакых частий штандартної бібліотекы (наприклад, '''iostream''', пудрозділ C тай ин.). Проєкт пуд имньом STLport<ref>{{Cite web |url=http://www.stlport.org/ |title=STLport: Welcome! |access-date=2007-07-26 |archivedate=2018-06-07 |archiveurl=https://web.archive.org/web/20180607183150/http://www.stlport.org/ }}</ref> заснованый на '''SGI STL''', занимат ся фуртовым убновіньом '''STL, IOstream''' и шоровых класу. Дакотрі инші проєкты тоже ведут розвуй окремых імплементацій штандартної бібліотекы. == Рузня из Сі == [[Файл:CppCgenealogy.png|праворуч|міні|ґенеолоґія й рокашный вплыв вирзій Сі і C++ (за «Короткым курсом» Страуструпа)]] === Сполочность из Сі === Выбираня именно С гий основы діля зотворіня языка проґрамованя убяснявут, тым што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит діля вырішіня булшости сістемных задач; # оконаня усюды і на всьому; # стыкує ся из мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык проґрамованя C++. Розділ 1.6</cite></div> Невзиравучи на дакотрі знані хыбы языка '''Сі''', '''Бярне Страуструп''' выбрав його за основу, бо «у '''Сі''' є свої проблемы, айбо тоты же проблемы бы мав и розвоєный уд нула язык, а проблемы '''Сі''' нам знані». Окром того, то дало можность скоро зотворити пирьвый прототіп компілатора ('''cfront'''), котрый лем перетовмачовав додані сінтаксічні елементы на оріґіналный '''Сі'''. Из поступом розвоя '''C++''' до него додали инакі можности, котрі зробили непотребными дакотры конструкційи '''Сі'''. Позад сего не раз было звіданя за то, убы удказати ся уд сполочности языку и зняти старі конструкційи. Но тым не май мало сполочность была засокочена, того што: * '''Засокочено еґзістувучый код''', написаный на '''Сі''', убы го мож было прямо перенести у '''C++'''; * '''Не гія наново вчити проґрамісту''', котрі вже знали '''Сі''' (йим лем гія довчити нові возможности '''C++'''); * '''Выключина путанина''' меже языками при йих рокашному хоснованьова («аж два языкы хоснувут ся в рокаши, йих розділы мавут быти авадь мінімалні, авадь такі грубі, убы языкы не мож было спутати»). === Нові возможности === <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщиньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight> Нові возможности C++ уключавут оголошіня у видови выражінь, переробліня тіпу в виді функцій, операторы <code>new</code> і <code>delete</code>, тіп <code>bool</code>, удкликаня, розширеноє розуміня константности, пудставляйимі функційи, аргументы за замовчіньом, переопреділіня, просторы имен, класы (уключавучи и вшиткі повязані з класами возможности, такі ги наслідованя, функційи-части, віртуалні функційи, абстрактні класы тай конструкторы), переопреділіня оператору, шаблоны, оператор <code>::</code>, убробку выйимку, дінамічну ідентіфікацію и много другого. Язык C++ так само в многых трафунках май строго удносит ся д перевіркы тіпу, гий C. У C++ появили ся коментарі в вызирови двойитої косої линійи (<code>//</code>), котрі были у попередникови C — языкови [[BCPL]]. Дакотрі особенности C++ май пузно были перенесині до C, наприклад, ключові слова <code>const</code> тай <code>inline</code>, оголошіня у циклах <code>for</code> и коментарі в штілови C++ (<code>//</code>). У май пузнюй реалізаційи C так само были представлині возможности, котрых ниє у C++, наприклад макросы <code>va_arg</code> тай изліпшина робота з масивами-штімованями. === C++ не включат у ся C === Невзиравучи на то, же груба часть кода C буде робоча й діля C++, C++ ниє надмножинов C и не включат го в себе. еґзістує й такый правилный про C код, котрый є неправилным про C++. То удлишує го уд [[Objective-C]], ищи єдного изліпшиня C діля [[Обєктово орьєнтоване проґрамованя|ООП]], котроє є надмножинов C. Сут и другі рузности. Наприклад, C++ не позволяє кликати функцію main() в удну проґрамы, зато як у C то є припустиме. Окроме того, C++ є май строгый у дакотрых звіданьох; наприклад, ун не допусчат неявноє переведіня тіпу меже не зкапчаными тіпами указатилю й не позволяє хосновати функційи, котрі ищи не были оголошині. Ба й булше, код, котрый є робочый діля обох языку, може давати рузні выслідкы в залежности уд того, компілатор якого языка го товмачив. Наприклад, на булшости платформ наслідувуча проґрама выведе «C», коли компілує ся компілатором C, і «C++», коли компілує ся компілатором C++. Такоє ся діє зато, же в C сімболні константы (наприклад, <code>'a'</code>) мавут тіп <code>int</code>, а в C++ — тіп <code>char</code>, а розмір тых тіпу ся убыкло удрузнят. <syntaxhighlight lang="cpp"> #include <stdio.h> int main() { printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; } </syntaxhighlight> === Средства C, котрых рекомендує ся не кывати === Подля зауважіня Страуструпа, «чим ліпше вы знаєте C, тым май тяжко вам буде убыйти проґрамованя на C++ у штілови C, гублячи при тум потенційні перевагы C++». Позад того ун дає слідувучый набор порекомендовань про проґрамішту на C, убы читаво ся убхосновати ліпшинами C++: * Не хосновати макроопреділіня <code>#define</code>. На оголошіня констант хосновати <code>const</code>, на ґрупы конштант (перечисліня) — <code>enum</code>, на прямоє включіня функцій — <code>inline</code>, на означіня файт функцій авадь тіпу — <code>template</code>. * Не хосновати передчасові зявы змінных. Зява змінны в блокови, де вни поправді ся хоснувут, и фурт єднати зявы з иніціялізаційов. * Удказати ся уд хоснованя <code>malloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/container/vector|title=std::vector — cppreference.com|access-date=2015-11-28|archive-date=2015-11-27|archive-url=https://web.archive.org/web/20151127093014/http://en.cppreference.com/w/cpp/container/vector|deadlink=no}}</ref> у хосен оператора <code>new</code>, уд <code>realloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/memory/c/realloc|title=std::realloc — cppreference.com|access-date=2015-11-28|archive-date=2015-12-04|archive-url=https://web.archive.org/web/20151204114524/http://en.cppreference.com/w/cpp/memory/c/realloc|deadlink=no}}</ref> — у хосен тіпа <code>vector</code>. Май безпечным буде хоснованя розумных указатилю, такых гий <code>shared_ptr</code> тай <code>unique_ptr</code>, што доступні уд єденадцятої вирзійи штандарта. * Убыйти без безтіповых указатилю, аріфметікы указатилю, неявных приведінь тіпу, скапчань, окроме, може, низкоруньового кода. Хоснованя «нові» перевединя тіпу, што ліпше выражавут жаданя проґраміста й сут май безпечні. ** Рада до мінімума хоснованя масиву сімболу тай шорику у штилови C, замінявучи йих на тіпы <code>string</code> и <code>vector</code> із STL. Шуга не творити свої реалізаційи того, што уже є у штандартнуй бібліотеци. == Розвуй дале == Нынішня май актуална вирзія '''ISO/IEC 14882:2024''' авадь '''[[C++23]]'''<ref>{{cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 Programming languages — C++ |website=iso.org }}</ref>,была дороблена у [[Фебруар|фебруварьови]] [[2023]]<ref>{{Cite web |url=https://herbsutter.com/2023/02/13/c23-pandemic-edition-is-complete-trip-report-winter-iso-c-standards-meeting-issaquah-wa-usa/ |title=C++23 "Pandemic Edition" is complete (Trip report: Winter ISO C++ standards meeting, Issaquah, WA, USA) |website=herbsutter.com |date=13 February 2023 }}</ref>, слідувуча вирзія, має не офіцічноє мня '''[[C++26]]'''.<ref>{{Cite web|title=Working Draft, Standard for Programming Language C++|url=https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4981.pdf|date=2024-04-16|publisher=ISO/IEC|website=Open Standards}}</ref> === Сполочноє напрямліня розвоя C++ === На думку автора языка Бярена Страуструпа<ref>{{Cite web|url=http://www.codenet.ru/progr/cpp/straustrup.php|title=Интервью Б. Страуструпа LinuxWorld.com|access-date=2013-01-04|archive-date=2013-01-27|archive-url=https://web.archive.org/web/20130127131918/http://www.codenet.ru/progr/cpp/straustrup.php|deadlink=no}}</ref><ref>{{Cite web|url=http://samag.ru/archive/article/1034|title=Интервью Б. Страуструпа журналу «Системный администратор»|access-date=2013-01-04|archive-date=2013-02-09|archive-url=https://web.archive.org/web/20130209043902/http://samag.ru/archive/article/1034|deadlink=no}}</ref><ref>{{Cite web|url=http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|title=CNews: Эксклюзивное интервью с создателем языка программирования C++|accessdate=2019-11-01|archiveurl=https://web.archive.org/web/20150317122705/http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|archivedate=2015-03-17|deadlink=yes}}</ref>, говорячи о далшум розвою тай перспектівах языка, мож дашто вызначити: * У основнум далшый розвуй языка буде йти путьом доповнінь до штандартної бібліотекы. Єдным из головных жрідел такых доповнінь є знана бібліотека [[Boost]]. * Міняня у ядрови языка не мавут приводити до змаліня уже досягнутої ефектівности C++. По никаньови Страуструпа, переважно є грубі важливі зміны, котрі мавут реалный вплыв, ачим много малых правок, котрі можут убтяжити код и учинити язык тяжкым на учіня тай хоснованя. * Основні путі далшого розвоя C++ у май близкых годах уключавут розширіня возможностю й доробліня сполочного проґрамованя, штандартізацію механізму паралелної убробкы, а так само розвуй засобу безпечного проґрамованя. До такых возможностю надходят рузні перевіркы, безпечны переведіня тіпу, контролованя пудмінок и другых технолоґійи, котрі помагавут у писаньови стабілного и сполягливого кода. * У рокаши C++ є спроєктованый и розвоює ся гий [[Мултіпарадіґмовый язык проґрамованя|мултіпарадіґмовый язык]], што значит, же ун є погынавый и позволяє проґраміштам выборно хосновати рузні пудходы й методолоґійи. Ун бере елементы из рузных штілю проґрамованя, айбо йих адаптує так, убы были ефектівні на руни компілованого языка, што означат высшый уровинь оконавської продуктівности. Того в будучности ниє вылучино, же до C++ будут додані елементы функціоналного проґрамованя, автоматічноє збираня нехари тай инакі механізмы, котрі типирь не сут в языкови. Айбо вшиткы такі зміны будут зроблині на основі вжек еґзістувучого компілованого пудхода, без порушіня прінціпу продуктівности. * Хоть формално єдным из основных прінціпу C++ є засокочіня сполочности з языком C, у реалности штандартізаційны комітеты C тай C++ не мавут взаимодій. Міняня, котрі вни уносят, не лиш ниє згоджині, айбо даколи прямо противорічат єдны другым из ідеолоґічного бока. Наприклад, елементы, котрі нові вирзійи C додавут прямо до ядра языка, у C++ сут вынесині до штандартної бібліотекы. Такыми елементами є, наприклад, дінамічні масивы, масивы з фіксоваными границями, а так само засобы паралелної убробкы. Страуструп лічит, же спойиня розробкы C и C++ принесло бы грубі выгоды, айбо то є малореалістічно з політічных и орґанізаційных причин. Того в перспектіві практічна сполочность меже C тай C++ буде з часом слабіти, што означає, же коды, написані на чистум C, будут кождый раз май тяжко прямо компіловати и хосновати в C++ без модіфікацій. === Штандарт C++11: доповніня у ядрови языка === * Ясно вызначині конштантны функційи тай выражіня <code>constexpr</code>. * Універзалноє иніціялізованя. * Конструкторы й операторы присвойиня з семантіков переносу. Выведіня тіпу. :: Про хоснованя у шаблонах, де тяжко задати конкретный тіп ізмінної, уведині два нові механізмы: змінні тіпа <code>auto</code> и опис <code>decltype</code>. * Цикл по коликційи :: Подобно многым нынішньым языкам, у C++ уведеный цикл «по коликційи» у форматови: <code>for (type &x: array) {...}</code>. Туй тіло цикла ся оконує про каждого елемента коликційи <code>array</code>, а <code>x</code> у каждуй ітераційи буде удкликати ся на актуалный елемент коликційи. Гий коликцію мож видіти C-масив авадь хоть якый контийнер из штандартної бібліотекы, котрый має ітераторы <code>begin</code> тай <code>end</code>. * Ламбда-выражіня :: Додана возможность задавати ламбда-выражіня (анонімні функційи, што ся задавут прямо в місті хоснованя). Такі функційи можут залежати уд позапросторовых змінных (замыканя). Ламбда-выражіня мож присвойити зміннуй и хосновати усяды, де гія функція релевантного тіпа, наприклад, у алґорітмах штандартної бібліотекы. * Изміны в описови віртуалных методу :: Доданый неповинный модіфікатор <code>override</code>, котрый хоснувут при описови метода, што заміщат віртуалный метод утцьовського класа. Позад хоснованя <code>override</code> компілаторови мусай перевіряти, ци є в утцьовському класови метод из таков же сіґнатуров. Доданый тоже модіфікатор <code>final</code>, котрый, як и в Java, непозволяє подалше заміщованя метода. Так само мож задати <code>final</code> діля класа — тогды уд него вже не можут наслідовати ся другі класы. * Додана возможность описа [[Варіатівный шаблон|варіятівных шаблону]]. * Усякі сінтаксічні доповніня. :: Уведеноє ключовоє слово <code>nullptr</code>, што представляє константу — нуловый указник. Были внисині зміны у семантіку й, частічно, у сінтаксіс перечислінь и спойиня. Додана возможность творити сокочині перечисліня (type-safe enumerations), а спойиня типирь мавут май мало убграничінь у своюй структурі. Кроме того, компілатор типирь має правилно парсити код из множинными заперавучыми кутовыми дужками «<code>>></code>», што уживані у вкладеных шаблонных конструкціях. Май скоро «<code>>></code>» автоматічно приймало ся ги оператор побітового зсува вправо, того меже знаками <code>></code> гія было вставляти пропускы авадь износы шорика. == Приклад проґрам == === Приклад № 1 === Се приклад проґрамы [[Hello, world!]], котра выводит извістку в [[Інтерфейс командного рядка|консол]], хоснувучи штандартну бібліотеку, и окончує ся. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортуєме всі убявліня у просторови имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> === Приклад № 2 === Типирішньый C++ позволяє рішати май легкым способом и май тяжкі задачі. Тот приклад, окроме другого, показує хоснованя контийнеру з штандартної бібліотекы шаблону ([[Штандартна бібліотека шаблону|STL]]). <syntaxhighlight lang="cpp"> #include <iostream> // подля хосонованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має в собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шориковыми ключами й даными в вызирі вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме всі обєкты в контийнирі for(const auto& person : items) { // person - то є пара з двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> У тум прикладі, про простоты, імпортувут ся вшиткі имена з простора имен <code>std</code>. Но в реалных проґрамах так робити ся не рекомендує, бо можут зотворити ся конфлікты имен, кой рузні бібліотекы мавут єднакі назвы обєкту. Язык позволяє імпортовати окримв обєкты з простора имен, же бы лем тоты, котрі дійсно гія, были доступні у кодови без явного зазначіня <code>std::</code>. <syntaxhighlight lang="cpp"> namespace Foo { const int x = 5; } const int y = Foo::x; </syntaxhighlight> <syntaxhighlight lang="cpp"> #include <vector> int main() { using std::vector; vector<int> my_vector; } </syntaxhighlight> У C++ (ги у C), кой хоснованя проґрамы доходит до кунця функційи <code>main()</code>, тото рунозначно команді <code>return 0;</code>. То значит, што проґрамі не гія явноє вертаня <code>0</code> в кунци <code>main()</code>, бо компілатор додаст то автоматічно. Айбо такоє правило не діє про хоть якої инакої функційи, окром <code>main()</code>, де все гія явно вказати значіня, котроє ся має вертати. == Изруньованя з алтернатівными языками == Сут дакулько досліжінь, у котрых пробовали зробити булш менш обєктівноє зруньованя всякых языку проґрамованя, меже котрых є й C++. У тых досліжінях аналізовали ся рузні аспекты, такі гий продуктівность коду, удобство писаня проґрам, возможности оптімізаційи, доступ д штандартным бібліотек тай иншакі характерістікы, котрі важні про проґрамішту й розвойнику проґрамного засобованя. * У науковуй статі «Haskell vs. Ada vs. C++ vs. Awk vs. …» Пауля Гудака й Марка Джонса<ref name="haskell4">An Experiment in Software Prototyping Productivity. Paul Hudak, Mark P. Jones. Yale University, Department of Computer Science, New Haven, CT 06518. July 4, 1994.</ref> представлиный звід про досліджіня шора імператавных и функціоналных языку на прикладі рішіня модилної задачі быстрого прототіпованя ГІС-сістемы воєнного призначіня. * В инакуй науковуй роботі — «DSL implementation in metaocaml, template haskell, and C++» — чотыри авторы<ref>{{стаття|автор=K. Czarnecki, J. O’Donnell, J. Striegnitz, W. Taha|назва=DSL implementation in metaocaml, template haskell, and C++|видавництво=University of Waterloo, University of Glasgow, Research Centre Julich, Rice University|рік=2004|url=https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C|archivedate=2022-04-07|archiveurl=https://web.archive.org/web/20220407022648/https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C}} Цитата: ''C++ Template Metaprogramming suffers from a number of limitations, including portability problems due to compiler limitations (although this has significantly improved in the last few years), lack of debugging support or IO during template instantiation, long compilation times, long and incomprehensible errors, poor readability of the code, and poor error reporting.''</ref> методічно досліжувут возможности C++ и двох функціоналных языку у роли базовых инструменту про [[Языково-орьєнтоване проґрамованя|языково-орьєнтованого проґрамованя]] з методом порожувучого кода. * У досліжині Лутца Прехелта<ref name="perhelt2">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> аналізувут ся сім языку (C, C++, Java, Perl, Python, Rexx, Tcl) у контекстови написаня простої проґрамы, котра переробляє телефонні нумера на слова за даякыми правилами. * У статі Девіда Велера «Ada, C, C++, and Java vs. The Steelman»<ref name="steelman">{{Cite web|url=https://dwheeler.com/steelman/steeltab.htm|title=«Ada, C, C++, and Java vs. The Steelman» David A. Wheeler July/August 1997|accessdate=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164511/https://dwheeler.com/steelman/steeltab.htm|deadlink=yes}}</ref> проводит ся зруняня языку Ада, C++, C и Java із документом «[[Steelman]]» — списком потреб до языка про воєнных убудованых сістем, котрый быв розробленый у [[1978|1978 годі]] Міністерством сокочіня [[Споєны Штаты Америцькы|США]]. Хоть документ ужек устарів и не бере до увагы типирішні возможности языку, зруняня показує, што C++ не так силно рузнится уд языку-конкуренту в плані необходимых возможностю про промысловых розробок. * Статя Метю Формента й Міхаеля Ґіллінґса<ref name="bioinfartcl">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> описує досліжіня<ref name="bioinfbench">{{Cite web|url=http://www.bioinformatics.org/benchmark/index.html|title=Сравнение языков программирования в реализации алгоритмов биоинформатики — описание эксперимента.|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102446/http://www.bioinformatics.org/benchmark/index.html|deadlink=no}}</ref> реалізаційи на шість языках (C++, C, C#, Java, Perl, Python) трьох шпеціфічных алґорітму, што хоснувут ся у біоинформатіци: [[метод майблизькых сосіду|метод майблизкых сусіду]], ґлобалноє [[вырунёваня послідовностю|выруньованя послідовностю]] ([[алґорітм Нідлмана — Вунша]]) и [[парсінґ]] выходных даных [[BLAST]]. === C++ тай Ада === [[Ада (язык проґрамованя)|Язык Ада]] самарає на C++ за возможностями и сферов хоснованя: то є компілованый штруктурный язык из обєктово-орьєнтованым розширіньом (тота ж модел «Алґол из класами», што и в C++), має штатічну тіпізацію, пудпорює сполочноє проґрамованя и призначиный діля розвоя грубых и тяжкых проґрамных сістем. Айбо ідеолоґічно Ада є силно другым языком: аж C++ розвоює ся ги універзалный инструмент про рузных задач, то Ада была спроєктована шпеціялно пуд жаданя выробнику крітічно важного проґрамного засобованя з высокыми штандартами надійности, што выразило ся на ю сінтаксісі тай семантіци. Прямых изрунянь ефектівности кода в Аді й C++ не много. Ужек упомняненуй статі <ref name="haskell4" /> рішіня моделної задачи на Аді дало код, што быв приблизно на 30% май куртый (у шориках), гий у C++. Изруньованя самых же языку проводили ся у рузных жрідлах. Наприклад, у статі Джіма Роджерса на AdaHome<ref name="rogers2">{{Cite web|url=http://www.adahome.com/articles/9703/ada_vs_cpp.html|title=Comparison of Ada and C++ Features (en)|access-date=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164727/http://www.adahome.com/articles/9703/ada_vs_cpp.html|deadlink=no}}</ref> наведено булш 50 пункту удрузнинь меже языками, й булшость из них у хосен Ады (булше возможностю, нагынавчость повожіня, май мало возможность хыб). Хоть даякі твиржіня побучнику Ады перичні авадь ужек пристаріли, сполочно мож зробити выслідок: * Сінтакс Ады є овер строгый, ги у C++. Язык жадат додержовати ся дісціпліны проґрамованя, не пудпорює «проґрамістські фіґлі», айбо стімулує писаня простого, лоґічного й врозумливого кода, котрый є май легко пудпорьовати. * На розділ уд C++, Ада є дуже тіпобезпечена. Розвойина сістема тіпів позволює при додержаньови правил йих оголошіня й хоснованя маймного контроловати коректность роботы з датами й сокотити проґраму уд нежаданых хыб. Автоматічноє переробліня тіпу є звеличине у нич. * Указатилі в Аді сут контроловані май строго, ги у C++, а адресна аріфметіка є доступна лем через окрему сістемову бібліотеку. * Наставитилні модулы Ады за свойыми можностями сут самарні на шаблоны у C++, айбо забезпечувут ліпшый контрол. * Ада має в язык убудовану модуларность и штандартізовану сістему розділеної компілаційи, зато C++ хоснує включованя текстовых файлу й вонкашні методы кроманьованя компілаційов и складаньом проґрам. * Убудована многозадачность Ады має в собі паралелні задачы й механізм йих комунікаційи (вступы, рандеву, оператор <code>select</code>). У C++ сут тоты возможности забезпечині лем через бібліотекы. * Ада має строгый штандарт, што дає ліпшу переносимость проґрамового засобованяна рузны платформы. У статі Штефена Цейґера з компанійи [[Rational Software|Rational Software Corporation]]<ref>[https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html Stephen Zeigler, Comparing Development Costs of C and Ada.] {{webarchive|url=https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html|date=2007-04-04}}</ref> ся тверди, же робота на Аді є на 60% май дешево, гий на другых языках, приводит ид зотворіню кода, котрый має в 9 раз май мало хыб, гий код написаный языком Сі. Хоть и тоты выслідкы ниє прямо ты же самі діля C++, ун є интересный, бо много з хыб C++ ун взяв уд Сі. === C++ тай Java === Java ся не може раховати же повноставна заміна C++, бо є зотворена гий безпечный язык из легшым зачатковым руньом, орьєнтованый на зотворіня прикладных аплікацій из грубов можностьов преносимости<ref>{{cite web|url=http://www.oracle.com/technetwork/java/intro-141325.html|title=1.2 Design Goals of the Java™ Programming Language|subtitle=The Java Language Environment|lang=en|publisher=Oracle|date=1999-01-01|accessdate=2013-01-14|archive-date=2013-01-23|archive-url=https://web.archive.org/web/20130123204103/http://www.oracle.com/technetwork/java/intro-141325.html|deadlink=no}}</ref>. Уна ся не годит для дакотрых філю проґрам, котрі ся чинят у C++. Айбо в окремых свойих областьох в Java є реална конкурентція C++. Головні передности Java: * '''Безпека:''' Недоступность хоснованя указатилю и адресної аріфметікы, автоматічноє кроманьованя тямов из ґарбадж-колектором, убудовані засобы, котрі сокотят перед май пошириными хыбами проґрам C++, гий є переповніня буфера авадь выхуд за граници масива. * Наявность розробленої сістемы модул и розділеної компілаційи, котра є май скурша й май мало пудвавучас ид хыбам, гий препроцесор и особна зборка C++. * Докусна штандартізація и оконаня у віртуалнуй машині, розвоєноє окружіня, включавучи бібліотекы про ґрафіку, хосноватильськый интерфийс, доступ ид базам даных и другым тіповым задачам, гий є забезпечена правдива многоплатформность. * Устроєна многопотучность. * Обєктна пудсістема Java є у разы май близка д фундаменталному прінціпови ООП «вшитко є обєкт», ги у C++. Интерфийсы позволявут здобыти векшину предностий множинного наслідованя без його неґатівных ефекту. * Рефликція є май далекосяжна, ги у C++, и позволяє у реалному часови дефініційовати и міняти структуру обєкта пуд час роботы проґрамы. Но хоснованя ґарбадж-колектора й віртуалної машины лишає тяжкопоборимі обмижіня. Проґрамы на Java сполочно сут май помалі, йим гія дуже много тямы, а віртуална машина ізолує проґраму уд операчної сістемы, што робит низкоруньовоє проґрамованя невозможным. Емпірічноє досліджіня<ref name="perhelt3">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> не найшло грубу рузню у быстрости розробкы на C++ тай Java. Инакоє досліджіня<ref name="bioinfartcl4">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> указало, же думаня о грубых рузнях у шустрости оконаня кода на тых языках ниє фурт правдивоє: у двох из трьох тесту быстрота оконаня Java- тай C++-аплікацій была доста порунима. Зато Java є май лаконічна – обєм кода є май малый на 10-15%. === C++ тай C === '''Оріґіналный Сі''' дале ся розвойит, и на нему ся зотворявут много грубых проєкту: є головным языком проґрамованя подля операчных сістем, на нему написані бавкові енґіні многых дінамічных бавок, як и груба кулькость прикладных аплікацій. Дакотрі шпеціялісты повідавут, же заміна Сі на C++ не робит процес розробкы май ефектівным, ай навспак убтяжує проєкт, меншит го надійность и пудвышує наклады на пудпору. У частности: * За думаньом Лінуса Торвалдса, «C++ заставляє до писаня … грубого обєма кода, котрый не має прінціпічного значіня із никаня функціоналности проґрамы». * Пудпора ООП, шаблоны і STL не сут рішавучов предностьов C++, бо вшитко, на што ся хоснувут, мож вырішити й хоснованьом Сі. При тум ся вылучавут розширіня кода, а даякоє убтяжіня, котроє є далеко не фурт гія, компензує ся булшов флексібілітов, май простым тестованьом, и ліпшыми перформанцными характерістіками. * Автоматізація доступа д тями в C++ повышує затраты тямы й чинит роботу проґрам помалов. * Хоснованя вылучінь у C++ заставляє слідити [[RAII]], што веде до звеличіня оконаных файлу й меншіня быстроты проґрам. Додаткові тягкости ся появлявут у паралелных и дістрібутівных проґрамах. Тым є интересноє, же кодінґ-штандарт C++ у компанійи [[Google]] прямо заказує хоснованя вылучінь<ref name="googlesg">{{Cite web|url=https://google.github.io/styleguide/cppguide.html#Exceptions|title=Google C++ Style Guide. Exceptions.|access-date=2019-03-31|archive-date=2019-03-16|archive-url=https://web.archive.org/web/20190316065327/http://google.github.io/styleguide/cppguide.html#Exceptions|deadlink=no}}</ref>. * Код на C++ є май тяжкый на розуміня й тестованя, його выправлиня выд хыб є май чажкоє позад хоснованя чажкый ієрархій класу из наслідованьом и шаблонами. Додатково, в розвойницькых мілійох C++ ся вказує булше хыб, и в компілаторах, и в бібліотеках. * Многі детайлі повожіня кода не сут шпеціфіковані штандартом C++, што знижує його портовалность и може быти причинов чажконаходимых хыб. * Кваліфікованых проґрамісту на Сі є у разы булше, гий на C++. Ниє пересідчивых даных о предности C++ перед Сі ні по ефектівности проґрамісту, ні по особностям проґрам. Хоть сут досліжіня<ref>{{стаття|назва=Advantages and Disadvantages of Conservative Garbage Collection|автор=Boehm H.|url=http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archiveurl=https://web.archive.org/web/20130724030259/http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archivedate=2013-07-24}} (удкликаня із {{книга |автор=[[Реймонд, Ерік]]. |тітул=Искусство программирования для Unix |рік=2005 |сторінки=357 |сторінок=544 |isbn=5-8459-0791-8 }})</ref>, котрі твирдят, же проґрамішты на Сі тратят около 30-40 % сполочного часа розробкы (не рахувучи выпраліня хыб) на кроманьованя тямов, сполочна ефектівность розробнику<ref name="haskell4" /> Сі тай C++ є зрунима. У низкоруньовум проґрамованьови грубинська часть новых возможностю C++ ся оказує нехоснована позад збулшіня режійных выдатку: віртуалні функційи жадавут дінамічноє вызначіня актуалної адресы (RVA), шаблоны ведут до розширіня кода й понижіня возможностю оптімізаційи, [[бібліотека часа оконаня]] (RTL) є велика, а удказ уд ниї лишат многх возможностю C++ (хоть бы позад недоступности операцій <code>new</code>/<code>delete</code>). У выслідках проґраміштови мусай убграничити ся на функціонал, унаслідованый уд Сі, што робит хоснованя C++ безцілным: ''Єдиный способ мати добрый, ефектівный, низкоруньовый іипортованый C++ зводит ся д тому, убы ся убграничити ся вшисткым тым, котроє є легко доступноє в Сі. А убграничіня проєкта границями Сі буде значити, же го не выметати, и же буде доступно много проґрамішту, котрі добрі розумівут низкоруньові особенности й не удказувут ся уд них позад дурної моды на «обєктні модели».'' ''… коц ефектівность є пирьвошорна, «ліпшины» C++ будут грубов хыбов.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> === C++ и функціоналні тай скріптові языкы === У єдному експеріментови<ref name="haskell4" /> скріптові й функціоналны языкы, особенно [[Haskell]], показали 2-3-кратну ліпшину у часови розробкы тай обємови кода в зруняньови з проґрамами на C++. Из другого бока, проґрамы на C++ были на тулько же раз скурші. Авторы признавут, же здобыті дані ниє репрезентатівнов выборьков и не роблят катеґорічні выслідкы. В другому експеріментови<ref name="raytracer">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref> строгі функціоналны языкы ([[Standard ML]], [[OCaml]]) показали сполочноє прискоріня розробкы 10-кратноє (головно позад скуршому выявліню хыб) при приблизно руных показниках шустродійи (были хосновані рузні компілаторы в рузных режімах). У досліжіньови Лутца Прехелта<ref name="perhelt" />, на основі аналіза коло 80 рішінь, написаных доброволцями, были здобыті, в часности, слідувучі выслідкы: * Perl, Python, Rexx, Tcl забезпечили удвоє булшу быстроту розробкы, гий C, C++ и Java, причому одержаный код быв так само удвоє май куртым. * Проґрамы на скріптовых языках хосновали приблизно удвоє булше тямы, ги C/C++. == Крітіка == <syntaxhighlight lang="cpp"> #include <iostream> // для хоснованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має у собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шоровыми ключами й даными у видови вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме вшиткі обєкты в контийнирі for(const auto& person : items) { // person - то пара двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> === За крітіку C++ у цілому === Майчасті крітікы не противоставлявут C++ якомусь другому конкретному языкови, а повідавут, же удказ уд хоснованя єдного языка, што має много недостатку, в хосен декомпозіційи проєкта на пудзадачі, котрі рішавут ся на рузных языках, майбулш пудходящых про них, робит розробку не таков бабрачнов при єдночаснум пудвышіньови показнику [[Квалітность проґрамованя|квалітности проґрамованя]]<ref name="languageorient2">{{стаття|назва={{iw|Language Oriented Programming}}|автор=Martin Ward|рік=1994|url=http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|archivedate=2016-03-04|archiveurl=https://web.archive.org/web/20160304020956/http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|видавництво=Computer Science Department, Science Labs}}</ref><ref name="Hudak_DSL2">{{стаття|автор=Paul Hudak|видавництво=Department of Computer Science, Yale University|назва=Modular Domain Specific Languages and Tools}}</ref>. Из тої самої причины крітікує ся й засокочіня сполочливости з Сі: аж частина задачі жадат низкоруньовых возможностю, май розумно бы было вынести ю у окрему пудсістему й написати ю на Сі. Свою очеридь, побучникы C++ твирдят, же забераня технічных и орґанізацічных проблем межеязыкового сполочнодіїня позад хоснованя єдного універзалного языка взамін дакулькых шпеціялізованых є май вижно, гий хыбованя того універзалного языка. То єсть, сама широкость возможностю C++ оправдує хыбы каждої из возможности; в тум числови й хыбы, унаслідовані выд Сі, оправдані перевагами сполочности (див. [[C++#Філозофія C++|горі]]). Такым способом, тоты самі особенности C++ – обєм, чажкость, [[еклектічность]] и невыразна цільова карина хоснованя – побучниками ся розцінює ся ги «головна перевага», а крітіками – ги «головный недостаток». === Крітіка оремых елементу й концепцій === ==== Контрола за повожіньом ==== Ідеолоґія языка змішує «контрол за повожіньом» из «контролов за ефектівностю»: прінціп «не платиш за то, што не хоснуєш» ➤ предпокладає, же засобованя повного контрола проґрамішта над вшиткым, што ся діє в проґрамі на доста малому руни, є потребным и достаным про достиганя высокої ефектівности кода. У дійсности про грубі проґрамы то не так: коли низкоруньова оптімізація кладе ся на ґорґуші проґрамішта, котру квалічный компілатор [[Предметно-орьєнтованый язык проґрамованя|предметово-орьєнтованого]] языка бы зробив ліпше, тото веде лем до збулшіня обєма кода, до май чажкого процеса розробкы й до знижіня порозумілости й тестуйимости кода. Тым способом, прінціп «не платити за то, што не хоснуєш» в реалности не дає такых жаданых переваг в ефектівности, айбо казит квалітность проґрамы. ==== Компонентноє й обєктово-орьєнтованоє проґрамованя ==== За думаньом [[Алан Кей|Алана Кея]], обєктова модела «[[Алґол]] из класами», котра хоснує ся в C++, уступає модели «вшитко є обєкт»<ref name="alankay2">{{cite web|url=http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|title=Alan Kay's Definition Of Object Oriented Programming|accessdate=2013-08-05|deadlink=yes|archiveurl=https://web.archive.org/web/20130824235515/http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|archivedate=2013-08-24}}</ref>, котра хоснує ся в [[Objective-C]]. Ун лічит, же модела Objective-C має булшу кулькость возможностю, май файні показникы [[Поновне хоснованя кода|поновного хоснованя кода]], ліпшу порозумілость, модіфікуйимость и тестуйимость. Тото є зкапчано з тым, же у Objective-C всі компоненты є обєктами, што засобує булшу єднорудность и простоту в хоснованьови обєктово-орьєнтованых пудходу. Модела наслідованя в C++ складна й чажка в реалізаційи. Уна часто заставляє до зотворіня складных ієрархій из неприродными удношіньом меже класами. Наприклад, у многых трафунках хоснує ся наслідованя взамін вложіня, што зотворяє нездорову независимость меже класами. Позад того часто выходит, же класы ставут [[Ізкапчаность (проґрамованя)|силно изкапчаными]] з неясно розділеным функціоналом, што убчажує йихньоє пдалше міняня й тестованя. Гий приклад{{sfn|Шилдт, Теория и практика C++|1996||сторінки=64—67}}, у літературі наводит ся рекомендація реалізовати клас «список» як пудклас уд «елемента списка», де каждый елемент має функційи доступа д инкыма елементам. Такоє рішіня є нелоґічным из математічної точкы зріня, бо «список» ниє фільом «елемента списка», а складає ся з них. У булш строгых языках проґрамованя така модела не удображає ся, бо там наслідованя має значіня «є пудфільом», а не «є частьов». Дакотрі бібліотекы в C++ жадавут особного перевединя тіпу увирьх и долу за ієрархійов класу через <code>static_cast</code> авадь <code>dynamic_cast</code>. То порушує [[Тіпобезпека|тіпобезпеку]] языка, бо компілатор не годен докус перевірити правилность переведіня тіпу, ай проґрамішт має на собі удповідалность за правилноє хоснованя. Кроме того, C++ має грубу [[Вязкость (проґромованя)|вязкость]] рішінь. Тото означат, же малі міняня на пузьньых етапах розробкы можут жадати переписованя грубиньськых частий проєкта. Наприклад, аж гія поміняти пудход ид сокочіньови даных авадь поміня структуру класу, тото може потребовати міняня многых частий кода, што воле убчажує пудпору й розвуй проєкта<ref name="languageorient2" />. [[Ян Джойнер]]<ref name="Joyner2">{{стаття|автор=Ian Joyner|archivedate=2013-11-25|archiveurl=https://web.archive.org/web/20131125045724/http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf|назва=A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition|url=http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf}}</ref> крітікує C++ за хыбну ідефікацію инкапсулаційи (поміщіня даных у вудну обєкта й удділіня реалізаційм уд интерфийса) из сокрытьом реалізаційи. Сесе означат, же в C++ доступ до даных класа гія робити через ґеттеры й сеттеры — шпеціялні функційи доступа. Позад того обєм кода збулшує ся, а го структура убчажує ся. Такый пудход робит C++ май мало выразным руняно з языками, де доступ ид даным реалізує ся через обєктну модела авадь через удпирті штімованя. У выслідкови, C++ часто жадат булше кода діля реалізаційи простої функціоналности, што меншит порозумілость и продуктівность проґраміста. Ищи єдным важливым убграничіньом є то, же зовпаданя тіпу у C++ вызначат ся на руни ідентіфікатору, а не сіґнатур. То означат, же пудстановка компоненту, закладена на зовпадіню интерфийсу, невозможна. Позад того додаваня нової функціоналности в сістему часто жадат личного міняня ужек еґзістувучого кода, што призводит до силної вязкости рішінь<ref name="Paulson3">{{книга |автор=Paulson, Lawrence C. |isbn=0-521-57050-6 (hardback), 0-521-56543-X (paperback) |тітул=ML for the Working Programmer, 2nd edition |видавництво=Cambridge University Press |рік=1996 }}, c.271-285</ref>. [[Лінус Торвалдс]]<ref name="Torvalds_Gmane" /> крітікує C++ за то, же «код видит ся абстрактным лем до тої поры, докы не гія го міняти». Тото є скапчано з тым, же абстракція у C++ часто пряче чажку реалізацію, котра робит код чажко модіфікуйимым и пудпорьованым. Крітіка C++ из позіцій ООП приведеноє у роботі<ref name="Joyner2" />. ==== Метапроґрамованя ==== Порожувучоє метапроґрамованя у C++ основує ся на шаблонах и [[Препроцесор|препроцесорови]], уно є чажкым и має убграничині возможности. Сістема шаблону в C++ в сути є вирзійов примітівного [[Функціоналне проґрамованя|функціоналного языка проґрамованя]], котрый ся оконує при компілаційи. Тот язык майжек не перехоплює ся з самым C++, позад што потенціял роста чажкости абстракцій убграничиным. Проґрамы, котрі хоснуювут шаблоны в C++, мавут дуже низкі показникы урозумливости й тестованости, а особенно розгорнутя шаблону робит неефектівный код, бо язык шаблону не має аниякых средств оптімізаційи. Встройині предметно-шпеціфічні языкы, зроблині тым способом, єднако хочут знаня самого C++, што не забезпечує повного розділіня роботы. Такым способом, возможности C++ у розширіню возможностю самого C++ сут дуже убграничині.<ref>{{стаття|назва=Domain-Specific Languages|автор=Walid Taha|archiveurl=https://web.archive.org/web/20131024072658/http://www.cs.rice.edu/~taha/publications/conference/icces08.pdf|archivedate=2013-10-24|видавництво=Department of Computer Science, Rice University}}</ref><ref>{{стаття|автор=Lugovsky V.S.|рік=2008|url=http://arxiv.org/abs/cs/0409016v1|archivedate=2016-08-10|archiveurl=https://web.archive.org/web/20160810224158/http://arxiv.org/abs/cs/0409016v1|назва=Using a hierarchy of Domain Specific Languages in complex software systems design}}</ref> ==== Кросплатформность ==== Про писаня портованого кода на C++ гія груба умілость и скушеность, ай «недуйдавый» код на C++ из грубов возможностьов може быти непортованый<ref name="XXtraps64bit2">{{стаття|автор=Андрей Карпов|рік=2007|archivedate=2015-04-02|archiveurl=https://web.archive.org/web/20150402114050/http://rsdn.ru/?article%2Fcpp%2FXXtraps64bit.xml|назва=20 ловушек переноса Си++ - кода на 64-битную платформу|видавництво=RSDN Magazine #1-2007}}</ref>. За думков [[Лінус Торвалдс|Лінуса Торвалдса]], убы засобовати портованость на C++, сумарно д Сі, проґрамішт мусит убграничити ся возможностями C++, котрі перебрані из Сі<ref name="Torvalds_Gmane" />. Штандарт має много елементу, котрі сут вызначені ги «implementation-defined» (наприклад, розмір указатиля на методы класу в рузных компілаторах кывавут ся в розмірі уд 4 д 20 байтам<ref>{{стаття|назва=Указатели на функции-члены и реализация самых быстрых делегатов на C++|автор=Don Clugston, CSG Solar Pty Ltd (Перевод: Денис Буличенко)|видавництво=RSDN Magazine #6-2004|url=http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml|archivedate=2013-10-19|archiveurl=https://web.archive.org/web/20131019045704/http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml}}</ref>), што слабит портованость проґрам из йих хоснованьом.<div class="ts-Конец_цитаты-source">Дірективный характер штандартізаційи языка, неповна зворотна сполочность и противность жадань рузных вирзій штандарта роблят проблемы при перенесіньови проґрам меже рузными компілаторами и дажий вирзіями єдных и тых же компілатору.</div> === Удсутность возможностю === ; '''Рефлексівноє метапроґрамованя''' [[Интроспикція (проґрамованя)|Интроспикція]] в C++ є зроблина удділено уд основної сістемы тіпу, што робить ю майжек непотребнов. Майбулше, што мож ся досягнути, то є параметрізація повожіня на навперед знамых опціях. То бримає хоснованю C++ в булшости пудходу до реалізаційи [[Умела інтеліґенція|умілої интелеґинційи]]. Функціоналноє проґрамованя Явна пудпора функціоналного проґрамованя є лем у штандартови C++0x, перед тым тоты недостаткы заповньовали бібліотекы ([[Loki]], [[Boost]]), котрі хосновали язык шаблону, айбо йих квалітность є далеко май слаба в поруняньови з рішінями, встройиными д функціоналным языкам<ref group="Убясниня">Наприклад, <code>Boost.Lambda</code> позіціонуєся як ламбда-функція, єднако C++ не отілиснює [[ламбда-вычислиня]] Чёрча повностю; імітація [[Комбінаторы|комбінатору]] посредством языка шаблону через-чурь тяжка, штобы чекати їх хоснованя на практіці; [[Продолжение (программирование)|продовжіня]], унаслідовані уд Сі, рахувутся неідеоматічными и небезпечными, а їх реалізація посредством языка шаблону нежлива; кроме того, хоснованя {{iw|λ-пудём|λ-пудёма|en|lambda lifting}} для оптімізації C++ неможливо,— так што фактічно <code>Boost.Lambda</code> — то є просто анонімна функція, а не обєкт лямбда-вычисліня.</ref>. Так само, квалітность реалізаційи возможностю C++ (гий ООП) через функціоналні языкы є май низка. Реалізовані в C++ возможности функціоналного проґрамованя не позволявут хосновати оптімізаційні стратиґійи[⇨], котрі сут особні функціоналному проґрамованьови. Уни лем убграничині на вызовы функціоналных бібліотек и реалізацію окремых функцій. То практічно не дає ниякых предностю при проєктованьови проґрам (див. «[[Удповідность Каррі — Говарда]]»). ; === Извышні й небезпичні возможности === ==== Устройині стрества убхода убграничінь ==== Язык має засобы, котрі позволявут проґрамістови порушати задані у конкретному припаді прінціпы проґрамованя. Наприклад, модіфікатор <code>const</code> задає обєктови особенность неизмінности стана, айбо модіфікатор <code>mutable</code> позволяє на насилноє міняня стана в удну константного обєкта, што фактічно зрушує константность. Булше того, мож дінамічно зотерти атрібут <code>const</code> из константного обєкта, перемінявучи його на ліво-допустимый (L-value). Сутя такых возможностю у языкови робит пробы [[Формална веріфікація|формалної перевіркы]] кода нетяклыми, а хоснованя убграничінь на оптімізацію — невозможными. ==== Неконтролуйимоє макропудставліня ==== Засобы макропудставліня у Сі (<code>#define</code>) сут воле силными, айбо й небезпечными засобами. Уни усокотили ся у C++, хоть и в C++ є май строгі й шпеціялізовані засобы на рішіня всьых задач, на котрі уни были задумані в Сі — шаблоны, переубтирьханя функцій, inline-функційи, просторы имен, май розвойина тіпізація, розшириноє хоснованя модіфікатора <code>const</code> и другоє. У внаслідованых уд Сі штандартных бібліотеках є много потенціялно небезпечных макросу<ref>Страуструп, Программирование: принципы и практика использования C++, 2001</ref>. Шаблонноє метапроґрамованя пораз ся комбінує з хоснованьом макропудставліня на засобованя так называнаго «[[Сінтаксічный цукор|сінтаксічного цукра]]». ==== Проблемы переубтирьханя ==== <div class="ts-Конец_цитаты-source">Прінціпы переубтирьханя функцій и оператору в C++ веде д грубому дублованьови кода. Переубтирьханя оператору, што было задуманоє на додаваня «[[Сінтаксічный цукор|сінтаксічного цукра]]», в C++ позволяє без контролы міняти повожіня елементарных операцій про рузні тіпы. То дуже пудвысшує різік хыб, тым булше, што уводит новый сінтаксіс авадь міняє сутный (наприклад, робити нові операторы авадь міняти пріорітеты й асоціятівность) не мож, хоть сінтаксіс штандартных оператору C++ не фурт адекватный семантіци новых тіпу, котрі ся можут потребовати в проґрамі. Окромі проблемы робит легкота переубтирьханя оператору <code>new</code>/<code>delete</code>, што може зробити дуже гамішні й чажко находимі хыбы. При тум дашто з того, што бы ся чекало интуітівно (наприклад, харіня дінамічных обєкту при ґенераційи выйимку), в C++ ся не оконує, а груба часть переубтирьханых функцій й оператору ся выкликавут неявно (наприклад, при переробліньови тіпу авадь творіньови дочасных еґземплару класу). У выслідкови засобы, котрі мали робити проґрамы май ясными й май удобными про розробку й убслугованя, перероблявут ся на жрідло непотребного убтяжіня и знижавут надійность кода. </div> === Вылічна ефектівность === ==== Резултувучый обєм оконаного кода ==== Хосновані шаблоны в C++ є формов параметрічного поліморфізма на руни выходного кода, айбо при компілаційи ун переробляє ся на сітуаційный (ad hoc) поліморфізм (то є переубтирьханя функцій), што веде д значному збулшіню обєма машинного кода в руняно із языками, котрі мавут управді поліморфну сістему тіпу (як у насліднику [[ML]]). Убы змешити розмір машинного кода, пробувут автоматічно убробляти выходный код перед розкрутков шаблону<ref>{{стаття|автор=Dave Gottner.|видавництво=[[Dr. Dobb's Journal]]|рік=януарь 1995|archivedate=2008-06-07|archiveurl=https://web.archive.org/web/20080607062859/http://www.ddj.com/cpp/184403053|назва=Templates Without Code Bloat}}</ref><ref>{{cite web|author=Adrian Stone.|title=Minimizing Code Bloat: Redundant Template Instantiation|url=http://gameangst.com/?p=246|publisher=Game Angst|date=2009-09-22|accessdate=2010-01-19|archiveurl=https://web.archive.org/web/20111208031943/http://gameangst.com/?p=246|archivedate=2011-12-08|deadlink=yes}}</ref>. Другым рішіньом могла бы быти штандартізована возможность експорта шаблону (ищи з [[1998|1998 года]]), айбо вна є доступна лем у мало котрых компілаторах, бо є чажко реалізовати й ниє хосенна<ref>{{стаття|автор=[[Саттер, Герб|Herb Sutter]].|archivedate=2009-01-15|archiveurl=https://web.archive.org/web/20090115075141/http://www.ddj.com/cpp/184401381|назва=C++ Conformance Roundup|видавництво=[[Dr. Dobb's Journal]]|рік=януарь 2001}}</ref><ref group="думка">{{cite web|author=vanDooren|url=http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|title=C++ keyword of the day: export|publisher=Blogs@MSMVPs|date=2008-09-24|accessdate=2010-01-19|quote=The export keyword is a bit like the Higgs boson of C++. Theoretically it exists, it is described by the standard, and noone has seen it in the wild. … There is 1 C++ compiler front-end in the world which actually supports it|archiveurl=https://web.archive.org/web/20090506053736/http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|archivedate=2009-05-06|deadlink=yes}}</ref> на імпорт бібліотек шаблону C++ в языкы з инаков семантіков. Побучникы C++ оспорювут роздуваня кода гий перебулшеноє<ref>{{cite web|author=[[Майерс, Скотт|Scott Meyers]]|url=http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/2b00649a935997f5/5feec243078c5fd8|title=Code Bloat due to Templates|work=comp.lang.c++.moderated|publisher=[[Usenet]]|date=2002-05-16|accessdate=2010-01-19}}</ref>, іґнорувучи факт, што в Сі параметрічный поліморфізм ся компілує просто, без дублованя тіл функцій. Уни лічат, же параметрічный поліморфізм у Сі є небезпечный — то єсть май небезпечно, ги перехуд уд Сі до C++ (хоть противникы C++ думавут навспак). ==== Потенціял оптімізаційи ==== Позад слабої сістемы тіпу й бивноты [[Побочні ефекты (проґрамованя)|побучных ефекту]] стає через чурь чажкым еквівалентноє преобразованя проґрам, а значит и встройиня у компілатор многых оптімізувучых алґорітму, такых гий автоматічноє [[розпаралелёваня проґрам|розпаралельованя проґрам]], [[зрушіня сполочных пудвыражінь]], λ-пудйом, выклик процедур из передачов [[Продовжіня (проґрамованя)|продовжіня]], [[Суперкопілація|суперкомпілація]] й другі. Выслідком реална ефектівность проґрам на C++ убграничує ся мавучов кваліфікаційой проґрамішту й вкладеными в конкретный проєкт силы, й «лайдацька» реалізація може доста силно попущат по ефектівности «лайдацькым» реалізаціям на языках булш высокого урувня, што пудтвирьжує зруньовалні спытаня языку<ref name="raytracer2">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref>. То є значущов зашпотков діля хоснованя C++ в индустрійи [[data mining]]. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортує всі оголошіня у просторі имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> ==== Ефектівноє кроманьованя тямов ==== Обязаность по ефектівному кроманьованю тямов лежит ґорґушах розробника й зависит уд умілости розробника. Діля автоматічного кроманьованя тямов у C++ традічно ся хоснувут так называні «розумні указатилі», особенноє же кроманьованя тямов меншит ефектівность самых проґрамішту. Многочисилні реалізаційи [[Харіня мусора (проґрамованя)|харіня мусора]], такых, ги штатічный [[Кроманёваня тамов на основі реґіону|вывуд реґіону]], не примінні діля C++ проґрам (май точно, то требує реалізаційи повирьх языка C++ інтерпретатора нового языка, силно инакого уд C++ и в булшости обєктівных особенностю, й у сполочнуй ідеолоґійи) из причины неубходимости прямого доступа д [[Абстрактно сінтаксічне дерево|абстрактно сінтаксічному дереву]]. === Резултатівность === Зоудношіня фактору резултатівности з затратами на розробку, а так само сполочну култівовану в сполоченстві проґрамішту дісціпліну й културу проґрамованя важно брати до увагы заказникам, котрі выберавут язык C++ (ай, значит, тых, котрі волівут тот язык розробникам) про реалізацію задуманых ними проєкту, а так само людьом, што зачинавуть учити ся проґрамованьови, особливо з жаданьом проґрамовати про свої потребности. ==== Квалітность и култура проґрамованя ==== Прінціп C++ «''не наязовати „добрый“ штіл проґрамованя''» перечит промысловому пудходу д проґрамованьови, в котрому головну роль мавут [[квалічность проґрамного засобованя|квалітность проґрамного засобованя]] й возможность допровуда кода не лем автором, ай другыми, й котрый май выгодні языкы, што мінімізувут вплыв [[Людьскый фактор|людського фактора]], то значит якраз «''наязувут „добрый“ штил проґрамованя''», хоть такі языкы можут мати веце высокый поруг входжіня. Еґзістує думка, же волішность хосноватиля C++ (при можности выбирати алтернатівні языкы) уймовость характерізує професійні возможности проґрамішта. Наприклад, [[Лінус Торвалдс]] каже, же позітівна думка кандідату за C++ є про него крітерійом удсіва: ''C++ — кошмарный язык. Його робит ищи веце кошмарным тот факт, же много не доста ґрамотных проґрамішту го хоснувут… Удкрыто кажучи, и кідь ниє аниякых причин выберати Сі, кроме того, убы держати C++-проґрамішту подале, то й лем тот аргумент буде доста важным основаньом про хоснованя Сі.'' ''…Я прийшов до вывода, же дійсно зачну выгнати каждого, тко выбере вести розробку проєкта на C++, а не на Сі, убы тот чилядник не загубив проєкт, у котрый я прилученый.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> ==== Управліня выправленого ==== Неперерывна еволуція языка побужує (а часом и змушує) проґрамісту раз за разом міняти ужек удлажений код — то не лем дорожит розробку, ай и несе різік увожіня до ужек удладженого кода новых хыб. Наприклад, кідь иззачинаня зворотна сполочность из Сі была єдным из базовых прінціпу C++, уд [[1999|1999 року]] Сі перестав быти пудмножинов C++, так што ужек удладженый код на Сі не може быти хоснованый в проєктови на C++ без измініня. ==== Чажкость подля самої тяжкости ==== C++ є окресленый його аполоґетами гий «маймоцный» и''менно позад того'', хоснує небезпечні і взайимно-противні можности. За думаньом [[Ерік Реймонд|Еріка Реймонда]], то робит язык сам по собі основов про личноє самостверджіня проґрамішту, перероблявучи процес розробкы на самоціль. ''Проґрамішты — то часто яркі люди, котрі ся гордять … свойов можностьов справлятися з чажкостями й шіковно убходити ся з абстракціями. Часто ся перед собов змагати, пробувучися выяснити, ко може зотворити «майзапутані й майфайні чажкости». … Суперникы мнят, же мусят змагати ся з чужыми «прикрашаньоми» тым, же додадут свої. Доста скоро «масивна ґырча» стане индустріялным штандартом, и всі зачнут хосоновати грубі, переповнині хыбами проґрамы, котрі не можут убрадити онь йих творцю.'' ''…Такый пудход може убернути ся псотов, як проґрамішты реалізувут прості речі чажкыми способами лем зато, же йих знавут и умівут йих хосновати.'' — <cite>[[:ru:Реймонд, Эрик Стивен|Ерік Реймонд]]</cite> ==== Саботаж ==== <div class="ts-Конец_цитаты-source">Зафіксовані трафункы, коли лайдацькі програмішты, хоснувучи силну контекстну зависимость C++ и недостаток возможностю удслідили макровызначіня компілатором, помалили розробку проєкта, коли написали єдно-два лишні, формално коректні з никаня компілатора, шорикы кода, айбо коли впровадили через то чажко выявителну, знівыдкы проявлявучу ся хыбу. Наприклад:</div> <syntaxhighlight lang="cpp">#define if(a) if(rand())</syntaxhighlight> <syntaxhighlight lang="cpp">#define j i</syntaxhighlight> У [[Чистота языка проґрамованя|языках из доказанов коректностьов]], онь из розвоєными макросредствами, нанести шкоду подобным способом не мож. ==== Ненадійность продукта ==== Невыправдана бивнота побучных ефекту у спойині з недостатком контролы з бока сістемы часа оконаня языка и слабов сістемов тіпу робит проґрамы на C++ вразливыми до непередвиденых фаталных порух (сполочнознамі «падіня» з оповістками ги «Access violation», «Pure virtual function call» авадь «Проґрама оконала недопустиму операцію й буде заперта»), што выключує хоснованя C++ у трафункови грубых требовань д удказостойкости. Кроме того, то щи додатково збулшує тримліня самого процеса розробкы. ==== Менеджмент проєкту ==== перечислині высше факторы роблят чажкость менеджмента проєкту на C++ єднов из самых высоких у индустрійи розроботкы [[Проґрамове забеспечіня|ПЗ]]. Джеймс Коґґінґс, котрый чотыри годы быв ведучым колонкы в ''The C++ Report'', дават такоє поясніня: ''— Проблема є в тому, же проґрамішты, котрі робили в ООП, експеріментовали з кровозмішаными аплікаціями й были націлині на низкый уровинь абстракційи. Наприклад, уни стройили класы, гий «зязаный список», взамін «интерфийс хосноватиля», авадь «зарі радіяційи», вадь «моделы з конченых елементу». Шкода што, стройна провірка тіпу, котра помагає проґраміштам C++ убходити хыбы, у тому самому часі учажит строїня грубых обєкту з малых.'' — <cite>[[:ru:Брукс, Фредерик|Ф. Брукс]], [[:ru:Мифический человеко-месяц|Мітічный чоловіко-місяць]]</cite> == Вплыв и алтернатівы == [[Файл:C_Cpp_compare.png|праворуч|міні|Проґрама «[[Hello, world!]]» на C тай C++.]] Єдиным прямым наслідником C++ є [[D (язык проґрамованя)|язык D]], задуманый гий переробка C++ діля вылучіня май очевидных го проблем. Авторы удказали ся уд сполочности з Сі, усокочувучи сінтаксіс и многі базові прінціпы C++ и уводжувучи в язык возможности, характирні про новых языку. В ''D'' ниє препроцесора, наголовочных файлу, множинного наслідованя, айбо є сістема модулу, интерфийсы, асоціятівны масивы, пудпора ''[[unicode]]'' у шора, харіня нехари (при усокочіню возможности особного кроманьованя тямов), устройина многопоточность, [[вывуд тіпу]], ясноє убявліня чистых функцій и неізмінных значинь. Хоснованя D є доста убграничиноє, и го мож лічити же реалного конкурента C++. Май старый конкурент C++ у задачах низкого урувня — [[Objective-C]], котрый так само, як C++, є побудованый на спойиню Сі из обєктнов моделов, лем же в Objective-C обєктна модела унаслідована уд ''[[Smalltalk]]''. ''Objective-C'', так само гий и його наслідник ''[[Swift]]'', широко ся хоснує діля розробкы софтвера пуд ''[[macOS]]'' и ''[[iOS]]''. Єднов из пирьвых алтернату C++ у аплікатівнум проґрамованьови став язык [[Java]]. Його часто неправилно лічат прямым наслідником C++; у дійсности його семантіка услідована уд языка ''[[Модула-2]]'', и основі семантікы C++ у ''Java'' ниє видимі. Беручи до увагы ґ''енеолоґію'' языку (''Модула-2'' є наслідником ''[[Сімула|Сімулы]]'', гий и ''C++'', айбо ним ниє ''Сі''), ''Java'' май привилно бы именовати «тройорудным братом» C++, а не «наслідником». То саме мож уповісти й за язык ''[[C Шарп|C#]]'', хоть ступінь його подобности д C++ є булш выразный, гий у ''Java''. Пробов спойиня безпечности й шустрости розробкы, характерных діля Java і C#, з возможностями C++ став [[Managed C++]] (впослідстві — [[C++/CLI]]). Зотвореный ''[[Microsoft Corporation|Microsoft]]'', головно діля переносу еґзістує C++ проєкту на платформу ''[[Microsoft.NET]]''. Проґрамы ся оконувут пуд кроманьованьом ''[[CLR]]'' и можут хосновати всьый арсенал бібліотек ''.NET'', айбо накладає ся шор убграничінь на хоснованя возможностю C++, што фактічно зводит C++ до уровня ''C#''. Тот діялект не дустав грубого признаня й є хоснованый головно про поязаня бібліотек, написаных на чистому C++, із ''C#''-аплікаціями. Алтернатівный путь розвоя языка Сі — його спойиня не з ООП, айбо з апплікатівным проґрамованьом, то значит поліпшіня абстракційи, стройности й модулности низкоруньовых проґрам позад забезпичіня передвединя повожіня й [[Удканська прозорость|удканської прозорости]]. Приміром такых робіт служат языкы ''BitC, Cyclone'' и ''Limbo''. Хоть и є успішні спробы хоснованя функціоналного проґрамованя у задачах реалного часу без интеґраційи з засобами Сі<ref>{{стаття|автор=Zhanyong Wan and Paul Hudak|archiveurl=https://web.archive.org/web/20110816234039/http://www.cs.rice.edu/~taha/publications/conference/padl02.pdf|archivedate=2011-08-16|назва=Event-Driven FRP|видавництво=Department of Computer Science, Yale University}}</ref><ref>{{Cite web|url=http://www.cs.rice.edu/~taha/publications/|title=Walid Taha|lang=en|website=School of Engineering Rice University|accessdate=2019-11-20|deadlink=yes|archiveurl=https://www.webcitation.org/6IqLu1AP0?url=http://www.cs.rice.edu/~taha/publications/|archivedate=2013-08-13}}</ref><ref>{{Cite web|url=http://www.it-c.dk/research/mlkit/index.php/Main_Page|title=MLKit|archiveurl=https://web.archive.org/web/20130917074849/http://www.it-c.dk/research/mlkit/index.php/Main_Page|archivedate=2013-09-17|deadlink=yes|accessdate=2013-07-30}}</ref>, же на даный момент ([[2013|2013 г]].) в низкоруньовуй розробци хоснованя Сі в рузнуй мірі дає майліпше зовыдношіня затрудливости й резултатівности. Много сил приложили розробникы ''[[Python]]'' і ''[[Lua]]'', убы забеспечити йих комфортноє хоснованя проґраміштами на C++. Из усьых языку, зязаных из функціоналнoв парадіґмов, самі Python і Lua майчасто ся хоснувут у спойині з C++ у єднум проєктови. Майзначными точками кываня C++ из функціоналным проґрамованьом — приязкы бібліотек [[wxWidgets]] і [[Qt]] (котрі зотворині в духу ідеолоґійи C++) до языку [[Lisp]], [[Haskell]] и [[Python]]. У булшости трафунку приязкы до функціоналных языку роблят про бібліотекы, написані на Сі авадь инакых функціоналных языках. Ищи єдным языком, на котрый никавут ги на конкурент C++, є [[Nemerle]] — выслідок поробы спойиня [[Модел тіпізації Гіндлі-Мілнера|модели тіпізаційи Гіндлі-Мілнера]] й макропудмножины [[Common Lisp]] из языком C#<ref>{{стаття|автор=Чистяков Влад aka VladD2|archivedate=2013-12-13|archiveurl=https://web.archive.org/web/20131213061243/http://rsdn.ru/?article%2Fphilosophy%2FSyntacticSugar.xml|назва=Синтаксический сахар или C++ vs. Nemerle :)|видавництво=RSDN Magazine #1-2006|рік=24.05.2006}}</ref>. У тому самому руслі лежит и зотвореный Microsoft язык [[F#]] — діялект [[ML]], адаптованый про міліє. NET. Пробов зотворити промысленну заміну Сі тай C++ став [[Go (язык проґрамованя)|Go]], розробленый корпораційов [[Google]] в [[2009|2009 році]]. Авторы языка прямо указали, же го зотворіня было мотівовано недостатками процеса розробкы, выкликаных особенностями языку Сі тай C++<ref name="designGo2">{{Cite web|url=https://talks.golang.org/2012/splash.article|title=Go at Google: Language Design in the Service of Software Engineering|publisher=talks.golang.org|accessdate=2017-09-19|archive-date=2021-01-25|archive-url=https://web.archive.org/web/20210125205239/https://talks.golang.org/2012/splash.article|deadlink=no}}</ref>. Go — компактный, простый у структурі імператівный язык из [[Сі самаравучі языкы проґрамованя|Сі-подобным]] сінтаксісом, без препроцесора, з статічнов тіпізаційов, стройным контролом тіпу, сістемов пакету, автоматічным кроманьованьом тямов, дакотрыми функціоналныма особностями, скромно побудованов ООП-пудсістемов без пудпоры наслідованя імплементаційи, айбо з интерфийсами й [[Качова тіпізація|качовов тіпізаційов]], встройинов многопоточностьов, основанов на зопроґрамах и каналах (в духови [[Occam]]). Язык ся позіціонує гий алтернатіва C++, то є передовшиткым засоб для командної розробкы высокоефектівных вылічытилных сістем великої чажкости, в тому й розподілиных, айбо допущавучуй низкоруньовоє проґрамованя. У єднуй карини з Сі тай C++ є и язык [[Rust (язык проґрамованя)|Rust]], розробленый у [[2010|2010 годі]] й пудпрьованый корпораційов [[Mozilla]]. Його головна орьєнтація — безпечноє кроманьованя тямов без зберача нехари. У частичнуй заміні Сі тай C++ на Rust в [[2019|2019 годі]] заинтеросовала ся й корпорація Microsoft<ref>{{Cite web|url=https://www.zdnet.com/article/microsoft-to-explore-using-rust/|title=Microsoft to explore using Rust|author=Catalin Cimpanu|date=2019-06-17|publisher=ZDNet|lang=en|accessdate=2019-09-26|archive-date=2019-10-15|archive-url=https://web.archive.org/web/20191015014736/https://www.zdnet.com/article/microsoft-to-explore-using-rust/|deadlink=no}}</ref>. У [[2022|2022 годі]] компанія Google представила експеріменталный язык [[Carbon]], зотвореный гий потенцічный наслідник C++. На розділ уд Rust, Carbon має забеспечити двонапрямову сполочность из C++ й ліпшу читабилность кода. == Популарні проґрамы зотворині на нюм == * [[Opera]] * [[μTorrent]] * [[Google Chrome]] * [[Visual Studio]] * [[C++ Builder]] * [[CATIA]] == Никай ся втож == * [[С (язык проґрамованя)|Сі]] * [[Язык проґрамованя]] * [[Обєктово орьєнтоване проґрамованя|Обєктово-орьєнтованоє проґрамованя]] * [[Objective-C]] * [[Managed C++]] * [[Visual Studio]] * [[C++ Builder]] == Пудміткы == <references responsive="1"></references> ;Думка <references group="думка" /> ;Убясниня <references group="Убясниня" /> ;Поясниня {{Reflist|group="пояснения"}} == Література == * {{книга |автор=[[Страуструп, Бярен|Бярен Страуструп]]. |назва=Язык программирования C++ |оріґінал=The C++ Programming Language |відповідальний=Тов. із англ |видавництво=[[Невский диалект]] — [[Біном (выдавательстьво)|Біном]] |місто={{СПб}}; {{М}} |рік=1999 |сторінок=991 |isbn=5-7940-0031-7 (Невский диалект), ISBN 5-7989-0127-0 (Бином), ISBN 0-201-88954-4 (англ.) |тираж=3000 |ref=Страуструп}} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Специальное издание |оріґінал = The C++ programming language. Special edition |місто = М. |видавництво = Бином-Пресс |рік = 2007 |сторінок = 1104 |isbn = 5-7989-0223-4 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика использования C++, исправленное издание |оріґінал = Programming: Principles and Practice Using C++ |сторінки = 1248 |isbn = 978-5-8459-1705-8 |рік = 2011 |місто = М. |видавництво = [[Вільямс (выдавательство)|Вільямс]] |ref= Страуструп, Программирование: принципы и практика использования C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Дизайн и эволюция C++ |оріґінал = The Design and Evolution of C++ |місто = СПб. |видавництво = Пітер |рік = 2007 |сторінок = 445 |isbn = 5-469-01217-4 |ref= Страуструп, Дизайн и эволюция C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Краткий курс |рік = 2019 |сторінок = 320 |isbn = 978-5-907144-12-5 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика с использованием C++ |рік = 2016 |сторінок = 1328 |isbn = 978-5-8459-1949-6 }} * {{книга |назва = Освой самостоятельно C++ за 21 день, 7-е издание (C++11) |оріґінал = Sams Teach Yourself C++ in One Hour a Day, 7th Edition |автор = Сиддхартха Рао |сторінок = 688 |isbn = 978-5-8459-1825-3 |рік = 2013 |місто = М. |видавництво = [[Вильямс (выдавательство)|«Вильямс»]] }} * {{книга |автор = Стефенс Д. Р. |назва = C++. Сборник рецептов |видавництво = КУДИЦ-ПРЕСС |рік = 2007 |сторінок = 624 |isbn = 5-91136-030-6 }} * {{книга |автор = Стівен Прата. |назва = Язык программирования C++ (C++11). Лекции и упражнения |виданя = 6-е изд |оріґінал = C++ Primer Plus, 6th Edition (Developer’s Library) |сторінок = 1248 |isbn = 978-5-8459-1778-2 |рік = 2012 |місто = М. |видавництво = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Стивен Прата. |назва = Язык программирования С. Лекции и упражнения |сторінок = 928 |isbn = 978-5-8459-1950-2 |рік = 2015 |місто = М. |видавництво = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Айвор Гортон. |назва = Visual C++ 2010: полный курс |оріґінал = Ivor Horton’s Beginning Visual C++ 2010 |сторінки = 1216 |isbn = 978-5-8459-1698-3 |рік = 2010 |місто = М. |видавництво = [[Діалектіка (выдавательство)|Діалектіка]] }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]]. |назва = Полный справочник по C++ |выданя = 4-е выданя |оріґінал = C++: The Complete Reference |сторінки = 800 |isbn = 978-5-8459-0489-8 |рік = 2011 |місто = М. |видавництво = [[Вільямс (выдавательство)|Виліямс]] |ref = Шилдт }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]] |назва = Теория и практика C++ |оріґінал = Shildt's Expert C++ |видавництво = BHV — Санкт-Петербург |місто = {{СПб}} |рік = 1996 |isbn = 0-07-882209-2, 5-7791-0029-2 |ref = Шилдт, Теория и практика C++ }} * {{стаття | назва = Programming Language Guessing Games - If C++ is the Answer, what’s the question? | автор = P.J. Plauger. | видавництво = [[Dr. Dobb's Journal]] | рік = Октобер, 1993 | ref = Plauger }} * {{книга |назва=The Unix-Haters Handbook |url=http://web.mit.edu/~simsong/www/ugh.pdf |видавництво=[[International Data Group]] |ref=Unix-Haters |язык=und |рік=1994 }} * {{стаття | назва =A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition | автор = Ian Joyner. | url = http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf | видавництво = [http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/cppcrit/index008.htm копирайт и список изданий] | рік = 1996 | ref = Joyner }} * {{книга |автор=Скотт Мейерс |назва=Эффективный и современный C++: 42 рекомендации по использованию C++11 и C++14 |оріґінал=Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 |відповідальний=Пер. с англ |видавництво=Вильямс |рік=2016 |сторінок=304 |isbn=978-5-8459-2000-3 }} * {{книга | назва = C++ The Complete Reference Third Edition | url = https://archive.org/details/ccompletereferen00schi_1 | автор = [[Шилдт, Герберт|Herbert Schildt]]. | видавництво = Osborne McGraw-Hill | рік = 1998 | isbn = 978-0-07-882476-0 |ref = Шилдт }} * [https://rooksguide.org Jeremy A. Hansen. The Rook’s Guide to C++ (A Creative Commons-Licensed Textbook)]. == Удкликаня == * isocpp.org (англ.) — офіційный сайт C++ ** [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/ рабочие материалы комитета по стандартизации за 2009-й год] * Бярен Страуструп. [https://github.com/isocpp/ CppCoreGuidelines]{{Ref-en}} The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++ * Бярен Страуструп. [http://www.artima.com/cppsource/cpp0x.html Краткий обзор C++0x]{{Ref-en}} * [http://groups.google.com/group/comp.lang.c++.moderated/topics comp.lang.c++.moderated]{{Ref-en}} * {{Cite web |title=C++ FQA Lite |author=Yossi Kreinin. |url=http://yosefk.com/c++fqa/index.html |access-date= |archiveurl= |archivedate= |ref=C++ FQA }} * {{Cite web |author=[[Торвалдс, Лінус|Лінус Торвалдс]]. |title=Convert builin-mailinfo.c to use The Better String Library |publisher=[http://thread.gmane.org Gmane forum] |url=http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |date=2007-09-06 |archiveurl=https://web.archive.org/web/20131209133259/http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |archivedate=2013-12-09 |ref=Torvalds_Gmane }} [[Катеґорія:С++]] [[Катеґорія:Языкы проґрамованя]] [[Катеґорія:Статя написана мараморошськым ґваром]] [[Катеґорія:Сі самаравучі языкы проґрамованя]] [[Катеґорія:Высокорунёві языкы проґрамованя]] [[Катеґорія:Языкы проґрамованя із особным кроманёванём тямов]] 0gsh7etfeqja2cmwgut9402e3kroemd 170249 170248 2026-09-23T22:32:02Z Halajkovič 33393 170249 wikitext text/x-wiki {{Інфобокс языка проґрамованя |name=C++ |paradigm=[[Парадіґма_проґрамованя#Мултіпарадіґмовый язык проґрамованя|Мултіпарадіґмовый]]: [[Обєктово-орьєнтованоє проґрамованя|обєктово-орьєнтованый]], [[сполочноє проґрамованя|сполочный]], [[Процедурноє проґрамованя|процедурный]] |year=[[1985]] |designer=[[Бярен Страуструп]] |developer={{не перекладено|треба=ISO/IEC JTC1/SC22|мова=en|є=ISO/IEC JTC 1/SC 22}}/WG21 |typing=[[Статічна тіпізація|Статічный]], [[Номінатівна сістема тіпізаційи|Номінатівный]] |implementations=[[GNU Compiler Collection|G++]], [[Microsoft Visual C++]], [[Borland C++ Builder]], [[Clang]] |dialects=ISO/IEC 14882:1998, 2003, 2011, 2014, 2017, 2023 |influenced=[[Ada (Язык проґрамованя)|Ada 95]], [[C Шарп|C#]], [[Java (Язык проґрамованя)|Java]], [[PHP]], [[D (Язык проґрамованя)|D]], [[Aikido (Язык проґрамованя)|Aikido]], [[Dao (Язык проґрамованя)|Dao]], [[Rust (язык проґрамованя)|Rust]] |website={{URL|https://isocpp.org/}} |лоґо=[[Файл:ISO_C++_Logo.svg|200px]] |latest release date=19 уктобра 2024 |latest release version=ISO/IEC 14882:2024 [[C++23]] }} '''C++''' (читат ся гий '''''сі-плус-плус'''''<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html#name |title=Bjarne Stroustrup's FAQ |quote=The name C++ (pronounced "see plus plus") |date=October 1, 2017 |publisher=Bjarne Stroustrup |language=en |access-date=2017-12-04 |archivedate=2016-02-06 |archiveurl=https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#name }}</ref> даколи ся скорочує до '''CPP (сі-пі-пі)''') — у основном [[Компілованый язык проґрамованя|компілованый]], [[Штатічна тіпізація|статічно тіпізованый]], [[Сі самаравучі языкы проґрамованя|C-самаравучый]], [[язык проґрамованя]] [[Язык проґрамованя обобщеного призначіня|сполочного призначіня]], [[Высокорунёві языкы проґрамованя|высокого уровня]], зотвореный [[Даны|данськым]] компютерным ученым [[Бярен Страструп|Бяреном Страструпом]], котрый зачав го робити в [[AT&T]] [[Bell Laboratories]] ([[Муррей-Гілл, Ню-Джерзі|Муррей-Гілл, Ню Джерзі]]) у [[1979|1979 годови]]. Выпусшеный у [[1985|1985 годови]], гий розширіня про [[С (язык проґрамованя)|языка проґрамованя С]], головнов го ідийов было додати [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]] можности у [[С (язык проґрамованя)|Сі]], спозад чого мав имня «'''C with classes'''» («[[Русиньскый язык|русин.]] '''Сі из класами'''»), из тых часу язык ся дуже розвойив. Из [[1997]], C++ має [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]], сполочні тай функціоналні функційи, звирьху д можности убробкы [[Компютерна тяма|тямы]] на [[Низькорунёві языкы проґрамованя|низкум уровни]] про такых сістему, ги [[мікрокомпютер]]ы, авадь діля зотворіня [[Операчна сістема|оперчных сістем]], наприклад хосновав ся у [[Microsoft Windows|Windows]] и [[Linux]]. [[компілаторы C++]] надавут: [[Free Software Foundation]], [[LLVM]], [[Microsoft Corporation|Microsoft]], [[Intel]], [[Embarcadero]], [[Oracle]] тай [[IBM]]<ref name="stroustruptcpppl">{{Cite book|last=Stroustrup|first=Bjarne|author-link=Bjarne Stroustrup|title=The C++ Programming Language|year=1997|edition=Third|chapter=1|publisher=Addison-Wesley|isbn=0-201-88954-4|oclc=59193992|url=https://archive.org/details/cprogramminglang00stro_0}}</ref>. Упирьвоє описаный у меженароднум штандарті [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 ([[C++98]]), выдтуть выходили сякі вирзійи: [[C++03]], [[C++11]], [[C++14]], [[C++17]], [[C++20]], [[C++23]]. Май актулным стандартом же є [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2024 ([[C++23]])<ref>{{Cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 |publisher=International Organization for Standardization |access-date=21 October 2024}}</ref>. Пудпорює такі [[Парадіґма проґрамованя|парадіґмы проґрамованя]], ги [[процедурне проґрамованя|процедурноє проґрамованя]], [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованоє проґрамованя]], тай [[сполочне проґрамованя|сполочноє проґрамованя]]. Язык має грубу штандартову бібіліотеку, котора включат у себе поширині контийнеры й [[Алґорітм|алґорітмы]], увожіня-вывожіня, реґуларні выражіня, пудпору [[Многопоточность|многопоточности]] тай другі можности. C++ має у собі особенности як и [[Высокорунёвый язык проґрамованя|высокоурувньовых]], так и [[Низькорунёвый язык проґрамованя|низкоурувньовых языку]]. Руняно из спередущым — языком [[C (язык проґрамованя)|C]] — має май грубу увагу д пудпорі [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованого]] тай [[Сполочне проґрамованя|сполочного проґрамованя]]{{Sfn|Страуструп|1999}}. C++ Широко хоснує ся про розробку [[Проґрамне засобованя|проґрамного засобованя]], є єдным из майпопуларных коду проґрамованя, по убзвідованям [[2015|2015 года]], кулькость проґрамішту Сі++ є около 4,4 міліону<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html |author=Бярен Страуструп |language=анґліцькы |date=2015-04-16 |title=Bjarne Stroustrup’s FAQ }}</ref><ref>{{Cite web |url=https://blog.jetbrains.com/clion/2015/07/infographics-cpp-facts-before-clion/ |language=анґліцькы |date=2015-07-27 |title=Infographic: C/C++ Facts We Learned Before Going Ahead with CLion {{!}} The CLion Blog |publication-date=2023-09-23 |publisher=The JetBrains Blog }}</ref>. Область го хоснованя включат зотворіня [[Операчна сістема|операчных сістем]], рузных [[Прикладна проґрама|прикладных проґрам]], [[Драйвер|драйверу]], аплікацій про встройиных сістем, высокопродутівных [[Сервер|серверу]], ай тоже [[Компютерна бавка|компютерных бавок]]. Є много реалізацій языка C++, як и задарьных, так и комерційных и діля рузных платформ. Наприклад, про платформы [[x86]] то є [[GNU Compiler Collection|GCC]], [[Clang]], [[Microsoft Visual C++|Visual C++]], [[Intel C++ Compiler]], [[C++ Builder|Embarcadero (Borland) C++ Builder]] тай инакі. C++ мав грубиньськый уплыв на другі языкы проґрамованя, майсилно на [[Java]], [[C#]] и [[Rust (язык проґрамованя)|Rust]]. Сінтаксіс C++ унаслідує ся уд языка [[С (язык проґрамованя)|С]]. На зачинаньови єдным из прінціпу розробкы было усокочіня сполочливости из С. айбо, при тум, C++ ниє у строгум змыслови надмножинов С: кулькость проґрам, которі можут єдинако добре трансловати ся як и [[Компілатор|компілаторами]] Сі, так и компілаторами C++, доста велика, айбо не включає всякі возможні проґрамы на С. Неникавучи ся на широкоє принятя языка, його крітіковали такі доста знані проґрамішты ги [[Лінус Сторвалдс]], [[Річард Сталлман]], [[Джошуа Блох]], [[Кен Томпсон]] тай [[Доналд Кнот]]. == Історія == {| class="wikitable" align="right" !історичный етап розвоя<ref>Стенли Ліппман, [http://msdn.microsoft.com/en-us/magazine/cc163681.aspx Pure C++: Hello, C++/CLI] </ref> !Гуд |- |Язык [[BCPL]] |[[1966]] |- |Язык [[B (язык проґрамованя)|Бі]] (оріґінална розробка [[Томпсон, Кен|Томпсона]] пуд [[UNIX]]) |[[1969]] |- |Язык [[С (язык проґрамованя)|Сі]] |[[1972]] |- |«Сі из класами» |[[1980]] |- |C84 |[[1984]] |- |[[Cfront]] (выпуск E) |[[1984]] |- |Cfront (выпуск 1.0) |[[1985]] |- |Множинноє/віртуалноє наслідованя |[[1988]] |- |Сполочноє проґрамованя ([[Шаблоны С++|шаблоны]]) |[[1991]] |- |ANSI C++ / ISO-C++ |[[1996]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 |[[1998]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003 |[[2003]] |- |[[C++/CLI]] |[[2005]] |- |[[TR1]] |[[2005]] |- |[[C++11]] |[[2011]] |- |[[C++14]] |[[2014]] |- |[[C++17]] |[[2017]] |- |[[C++20]] |[[2020]] |- |[[C++23]] |[[2023]] |- |[[C++26]] |[[2024]] |} === Зотворіня === [[Язык проґрамованя|Язык]] появив ся у зачинаньови [[1980-ті рокы|1980 году]], коли робутник фірмы [[Bell Laboratories|Bell Labs]] [[Бярен Штрауштруп|Бярен Страуструп]] придумав шор изліпшинь ид языкови [[C (Язык проґрамованя)|Сі]] пуд свої потребности{{Sfn|Страуструп|1999}}. Коли в кунци 1970-ых году Страуструп зачав робити в Bell Labs над задачами теорійи очерідий (у проґрамі діля моделованя телефонных выклику), Бярен увидів, што коли ун пробовав убхосновати еґзістовавші у тот час языкы проґрамованя, моделованя указали ся неефектівными, а убхоснованя высокоефектівных машинных языку [[Коды проґрамованя низького руня|низкого уровня]], выйшло дуже чажкоє. Позад йихньої ограничиности у выражиньови кода й потребности контроловати булшость процесу. Сяк, язык [[Сімула (Язык проґрамованя)|Сімула]] має такі возможности, котрых дуже гія было діля розробкы май грубого проґрамного засобованя, айбо робит ун дуже помалы, а язык [[BCPL]] доста быстрый, айбо дуже близкый ид языкам низкого уровня и не пудходив діля розробкы май грубого проґрамного засобованя. [[Файл:BjarneStroustrup.jpg|посилання=https://uk.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:BjarneStroustrup.jpg|міні|[[Бярен Страуструп]], твориць C++, у свойому офісови AT&T New Jersey, c. 2000]] Притямивши досвід свойої кандідатської дісертаційи, Страуструп вырішив доповнити язык C (наслідник BCPL) возможностями, котрі были в языкови Сімула. Язык Сі, будучи базовым языком сістемы [[Unix]], на котруй робили компютеры Bell, є быстрым, многофункціоналным и переносимым. Страуструп добавив ид нему возможность роботы з класами и обєктами. У выслідках практічні задачі моделованя указали ся доступными діля вырішіня як из бока часа розробкы (дякувучи хоснованьови подобавучых класу), так и з бока часа убчисліня (дякувучи скороті C). У пирьву очеридь у C были додані класы (из [[Інкапсуляция (проґрамованя)|инкапсулаційов]]), наслідованьом класу, строга провірка тіпу, inline-функційи й [[арґументы за мовчанём|арґументы за мовчаньом]]. Пирьві вирзійи языка, якый иззачинаня кликав ся «C with classes» («Сі из класами»), стали доступныма з [[1980|1980 года]]. Коли Страуструп розробляв «Сі из класами», ун написав проґраму [[cfront]] — [[транслатор]], якый переробляв выхудный код свого языка в выхудный код простого Сі. Сесе позволило робити над новым языком и хосновати го на практіці, хоснувучи ужек мавучу в unix-инфраструктуру діля розробкы на Сі. Новый язык нечекано про автора дустав грубу популарность помеже колеґ и скоро Страуструп ужек не муг лично пудпорьовати його, удповідавучи на тисячі звідань. Ид [[1983|1983 годови]] в язык были додані нові возможности, такі ги віртуалні функційи, переубтирьханя функцій и оператору, удкликаня, константы, хосноватильськоє контролованя над кроманьованьом слобуднов тямов, изліпшина перевірка тіпа й коментарі в стілі BCPL (<code>//</code>). Дуставшый ся язык ужек перестав быти просто доповненов вирзійов класічного C и быв перейменованый из «''Сі из класами''» на «''C++''». Його пирьвый комерційный выпуск став ся в [[Октобер|Октобри]] [[1985|1985 года]]. До зачинаня офіцічної штандартізаційи язык розвойовав ся по булшости силов Страуструпа в удказ на жаданя проґрамістської сполочности. Функцію штандартного описаня языка додержовали написані Cтрауcтрупом пичатні роботы по C++ (описаня языка, діловоє вединя й так дале). И лем у [[1998|1998 годови]] быв ратіфікованый меженародный штандарт языка C++: [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 «Standard for the C++ Programming Language»; по принятьови технічных правок штандарта в [[2003|2003 годови]] — слідувуча вирзія сего штандарта — [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003<ref>{{Cite web |url=http://www.open-std.org/jtc1/sc22/wg21/docs/standards |title=C++ — Standards |access-date=2010-11-14 |archivedate=2010-11-20 |archiveurl=https://web.archive.org/web/20101120215619/http://www.open-std.org/jtc1/sc22/wg21/docs/standards }}</ref>. Из [[Януар|янувара]] [[2018|2018 года]] Страуструп быв уголошеный лауреатом примійи Чарлза Старка Дрейпера позад инженірьскої діятилности в 2018 годови «за концептуалізацію тай розробку языка проґрамованя C++».<ref>{{Cite web |url=https://www.nae.edu/177355.aspx |date=3 Януара 2018 |title=Computer Science Pioneer Bjarne Stroustrup to Receive the 2018 Charles Stark Draper Prize for Engineering |publisher=National Academy of Engineering |archivedate=14 Децембра 2021 |archiveurl=https://web.archive.org/web/20180103190112/https://www.nae.edu/177355.aspx }}</ref> У [[Децембер|децембрьови]] [[2022|2022 года]] C++ засів тритьоє місто в индексови TIOBE, тым же выпередив [[Java]] пирьвый раз у історійи индекса. На [[новембер|новембирь]] [[2024|2024 года]] язык засідає другоє місто по [[Python]], а Java — тритьоє.<ref>{{cite web |url=https://www.tiobe.com/tiobe-index/ |title=TIOBE Index for November 2024 |author=TIOBE |date=November 2024 |website=TIOBE.com |publisher=TIOBE Company |access-date=18 November 2024 |archive-date=18 November 2024 |archive-url=https://web.archive.org/web/20241118090936/https://www.tiobe.com/tiobe-index/ |url-status=live }}</ref> === Розвуй и штандартізація языка === У [[1985]] ищи до выпуска офіцічного штандарта, выйшло пирьвоє выданя книжкы «[[Язык проґрамованя C++]]».<ref name="1st-edition3">{{cite web |url=http://www.stroustrup.com/1st.html |title=The C++ Programming Language |edition=First |first=Бярен |last=Страуструп |access-date=16 September 2010 |archive-date=9 August 2012 |archive-url=https://web.archive.org/web/20120809032136/http://www.stroustrup.com/1st.html |url-status=live }}</ref> Пирьва комерційна реалізація выйшла в [[Октобер|октобри]] того же года.<ref>''Страуструп, Бярне (7 Марца 2010). "[https://www.stroustrup.com/bs_faq.html#invention Bjarne Stroustrup's FAQ: When was C++ invented?]". stroustrup.com. [https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#invention Archived] з оріґінала 6 фебруара 2016 года. Одержано 16 септембра 2010 года.''</ref> Ся книжка дає пирьвоє описаня языка, што было воле важно позад того, што не было офіцічного штандарта. У [[1989|1989 годови]] став ся выхуд C++ вирзійи 2.0. Єї нові возможности включали несчислиность наслідованя, абстрактні класы, статічні функційи-части, функційи-константы и сокочині части. У [[1990|1990 годови]] вышло «Коментованоє діловоє руководство за C++», котроє, у послідку стало основов штандарта. Послідні убновіня мали у собі шаблоны, выключіня, простур имнен, нові способы привединя тіпа и буловый тіп. Подля основы діля сокочіня й доступа д сполочным алґорітмам была выбрана [[Штандартна бібліотека шаблону|Штандартова бібліотека шаблону (STL)]], розроблена [[Олександр Степанов|Александром Степановым]]<ref name="STL">{{Cite web |date=7 Марца 1994 |url=http://www.stepanovpapers.com/Stepanov-The_Standard_Template_Library-1994.pdf |title=Hewlett-Packard, Technical Report X3J16/94-0095, WG21/N0482 |publisher=The Standard Template Library |author=[[Александр Степанов]] }}</ref> и [[Менґ Лі]]. [[Штандартна бібліотека C++|Штандартова бібліотека C++]] тоже розвойила ся у рокаши з ним. Пирьвым доданьом д штандартовуй бібліотеци C++ стали потокы увожіня-вывожіня, задавучі возможности про заміны традіцічных функцій C <code>printf</code> и <code>scanf</code>. май пузно силным розвойом стандартової бібліотекы стало додаваня у ниї [[Штандартна бібліотека шаблону|Штандартової бібліотекы шаблону]]. * Офіцічна штандартізація языка зачала ся у [[1998|1998 годови]], кой быв опублікованый штандарт [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 (знаный гий C++98)<ref>{{Cite web |author=Bjarne Stroustrup. |title=C++ Glossary |url=http://www.research.att.com/~bs/glossary.html |access-date=2007-06-08 |archiveurl=https://web.archive.org/web/20110501150638/http://www2.research.att.com/~bs/glossary.html |archivedate=2011-05-01 }}</ref>, розробленый комітетом по штандартізаційи C++ ([[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] JTC1/SC22/WG21 working group). Штандарт C++ не описовав способу именованя обєкту, дакотрых деталий убробкы выключных и другых можностий, изкапчаных из деталами реалізаційи, што робит незовмісным обєктный код, зотвореный рузными компілаторами. Айбо діля сего иншыми людми было зотворено много штандарту діля конкретных [[Архітектара компютера|архітектур]] тай [[Операчна сістема|операчных сістем]]. * У [[2003|2003 годови]] быв опублікованый штандарт C++ [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003, де были выправлині явивші ся хыбы и недоробкы спередущої вирзійи штандарта. У [[2005|2005 годови]] быв опублікованый звід Library Technical Report 1 (накурто именованый TR1). Ниє офіцічно частьов штандарта, звід описує розширіня штандартної бібліотекы, котрі, за думков автору, мавут быти включині у слідувучу вирзію штандарта. Ступінь пудпоры TR1 изліпшує ся майжек в усьых пудпорювучых компілаторах языка C++. * Из [[2009|2009 года]] ийшла робота по убновіньови спередущого штандарта. Выхудна вирзія называла ся C++09, у слідувущуму годови ю перейменовали на C++0x. Штандарт быв опублікованый у [[2011|2011 годови]] тай именованый [[C++11]]. У него включині доповніня у ядрови языка й розширіня штандартної бібліотекы, в тому числови груба часть TR1. * Слідувуща вирзія штандарта, [[C++14]], выйшла в [[Авґуст|авґустови]] [[2014 года]]. Уна має у собі в основному уточніня тай выправліня хыб спередущої вирзійи. * Штандарт [[C++17]], опублікованый у [[Децембер|децембрьови]] [[2017|2017 года]], включив у штандартну бібліотеку паралилні вирзійи штандартных алґорітму й зрушив дакотрі старі тай дуже рідко хоснуйимі елементы. * Послідня штабілна на типирішньый момент робляча вирзія штандарта — [[C++20]]. Меже вшиткым, ун має у собі прінціпно новоє — пудпору модулу. * Штандарт [[C++23]] на даный момент актівно убговорює ся комітетом [[Миженародна орґанізация по штандартізациї|ISO]]. C++ дале розвойив ся, про то убы удповідати типирішным жаданям. Єдна з ґруп, розроблявучых язык C++ и направлявучых комітетови по штандартізаційи C++ предклала його изліпшиня — то [[Boost]], котра занимат ся, у тому числі, довершиньом возможностю языка путьом добавліня у него особенностю [[метапроґрамованя]]. Нико не має права на язык C++, ун є слобудным. Айбо сам документ штандарта языка (за выключиньом чорновика) не доступный задарь. У рамках процеса штандартізаційи [[Миженародна орґанізация по штандартізациї|ISO]] выпускає дакулько виду выдань. У частности, технічні звіды тай технічні характерістікы публікувут ся, коли «видко будучность, айбо ниє доразної возможности на погоджіня діля публікаційи меженародного штандарта.» До [[2011|2011 года]] было опубліковано три технічні звіда по C++: TR 19768: 2007 (тоже знаный ги C++, Технічный звід 1) про розширіня бібліотекы в основному интеґрованый у C++11, TR 29124: 2010 про шпеціялных математічных функцій, і TR 24733: 2011 про десятичної арітметікы из плававучов точков. Технічна шпеціфікація DTS 18822: 2014 (по файловуй сістемі) была утвержена в зачинаньови [[2015|2015 года]], и другі технічні характерістікы находят ся у стадійи розвоя й чекавут одобріня. У [[Марец|марцьови]] [[2016|2016 года]] в [[Росія|Російи]] была зотворена робоча ґрупа [[РГ21 C++|РҐ21 C++]]. ґрупа была орґанізована про збур жадань до штандарта C++, и выправліня йих у комітет и сокочіня на сполочных зборах Меженароднов орґанізаційов по штандартізаційи ([[Миженародна орґанізация по штандартізациї|ISO]])<ref name="sozd">{{Cite web |url=http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html |title=Яндекс организует рабочую группу по стандартизации языка C++ |language=ru |access-date=2018-08-29 |publisher=ИКС Медиа |archivedate=2018-08-29 |archiveurl=https://web.archive.org/web/20180829212016/http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html }}</ref>. === Історія имня === Имня «Сі++» было выдуманоє [[Рік Масітті|Ріком Масітті]] (Rick Mascitti) и пирьвый раз было захоснованоє у [[Децембер|децемброви]] [[1983|1983 года]]. Май скоро, на етапови чиніня, новый язык называв ся «Сі из класами». Имня, што выйшло у выслідкови, выходит уд оператора Сі «<code>++</code>» (Избулшіня значіня змінної на єденицю) тай поширеному способови присвойиня новых имен компютерным проґрамам, што лежит у додаваньови до имня сімбола «<code>+</code>» для позначіня изліпшинь. ведля Страуструпа, «се имня указує на еволуційну природу міняня Сі». Имньом «С+» называли скуршый, не скапчаным из С++ язык проґрамованя. Язык тож не называв ся D, того што «''ун є розширіньом C и не старає ся выправляти хыбы путьом зрушіня елементу C''»{{sfn|Страуструп|1999|loc=1.4. Исторические замечания|сторінки=46}} Дакотрі проґрамішты на Сі можут замітити, што, аж оконувут ся выразы <code>х=3; y=x++;</code> то у выслідкови выйде <code>х=4</code> і <code>y=3</code>, того што <code>x</code> ся збулшує лем по [[Оператор присвойиня|присвойиньови]] го до <code>y</code>. айбо, аж другый выраз буде <code>y=++x;</code> то выйде <code>x=4</code> и <code>y=4</code>. Выходячи из сего, мож учинити выслідок, што май лоґічно было бы называти язык не Сі++, а ++Сі. айбо обадва выразы c++ и ++c избулшувут с, ай поза тым, выраз c++ є май пошириным. Педанты тож можут уповісти, што увединя языка Сі++ не міняє самого Сі, того май біжным имньом было бы «С+1». === Філозофія C++ === У книжци «Дізайн а еволуція C++»{{Sfn|Страуструп, Дизайн и эволюция C++|2007}} [[Берен Страуструп]] описує прінціпы, котрых ун додержовав ся при проєктованьови C++. Сесі прінціпы убяснявут, чого C++ именно сякый, ги ун є. Дакотрі з них: * Получити універзалный язык из штатістічными тіпами даных, ефектівностьов и переносимостьов языка C. * Безпосередно тай всядыбоково пудпорьовати лум штилю проґрамованя, у тум числі [[процедурне проґрамованя|процедурноє проґрамованя]], [[абстракцію даных]], [[Обєктово орьєнтоване проґрамованя|обєктово-орєнтованоє проґрамованя]] тай [[убобщене проґрамованя|сполочноє проґрамованя]]. * Дати проґрамістови слободу выбора, дажий, аж се даст му возможность выберати неправилно. * Максімално усокотити сполочность из C, тым же учинити возможным легкый перехуд уд проґрамованя на C. * Убыйти рузночитаность меже C і C++: кажда конштрукція, допустима в обадвох языках, мусит у каждых из них означати єдно, тай идводити д єдному повожіньови проґрамы. * Убыйти особенности, котрі залежат уд платформы авадь не сут універзалными. * «Не платити за то, што не ся хоснує» — анияка языкова возможность не має доводити ид знижіньови продуктованя проґрам, не хоснувучых йих. * Не требовати дуже убтяженоє міліє проґрамованя. == Убозріня языка == Штандарт C++ склдат ся из двох основных частий: описаня ядра языка тай описаня штандартної бібліотекы. Пирьвый час язык розвивав ся поза формалных рамок, спонтанно, за міров поставшых сперед ним задач. Розвойови языка допровожовав розвуй [[Крос-компілатор|крос-компілатора]] [[cfront]]. Убновіня у языкови выдавали ся на зміні нумера вирзійи крос-компілатора. Сесі нумера вирзій крос-компілатора розусяжовали ся й на самый язык, айбо до днисьшных часу бисіду про вирзію языка C++ не ведут. Лем у 1998 годови язык став штандартізованым. * C++ пудпорює як коментарі ги в стілі C (<code>/* коментарь */</code>), так и єдношорові (<code>// вшитка послідувуча часть шорика буде коментарьом</code>), де <code>//</code> означат зачинаня коментаря, а май близкый слідувучый сімбол нового шора, котрому не передує сімбол <code>\</code> (вадь еквівалентный йому убозначиный <code>??/</code>), рахує ся кунцьом коментаря. Плус сего коментаря у тум, што го не мусай заперати, циже убозначовати кониць коментаря. * Шпеціфікатор <code>inline</code> про функцій. Функція, дефінована вудну тіла класа, є inline за замовчіньом. Даный шпеціфікатор є пудказков компілаторови й може встройити тіло функційи у код умісто ю безпосередного выклика. * Кваліфікаторы <code>const</code> и <code>volatile</code>. На розділ выд С, де <code>const</code> означає лем доступ про читаня, у C++ змінна из кваліфікатором <code>const</code> має быти иніціялізована. <code>volatile</code> хоснує ся у описови змінных и информує компілатор, што значиня даної змінної може быти поміняно способом, котрый компілатор не годен про то убы увидіти. Про змінных, установленых <code>volatile</code>, компілатор не мусит зачинати дії про оптімізацію, мінявучі положіня змінної у тямі (наприклад, розміщувучи ю у реґістрови) авадь покладавучи ся на непоміняность значіня змінної у просторі меже двома значінями, котрі ся юй призначавут. * [[Простур имен (проґрамованя)|Простур имен]] (<code>namespace</code>). Приклад: Выбираня именно С гий основы про зотворіня языка проґрамованя убяснявут, тым, што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит про вырішіня булшости сістемных задач; # Оконаня усюды й на всьому; # Стыкує ся з мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык программирования C++. Раздел 1.6</cite></div> Шпеціялным трафунком є безименный простур имен. Вшиткі имена, описані в нему, доступні лем у біжнуй єденици транслаційи і мавут локалноє скапчаня. Простур имен <code>std</code> має у собі штандартні бібліотекы C++, простур имен [[chrono (C++)|chrono]] має функційи про роботы з єденицями часа з с chrono. * Про роботу з тямов додані операторы <code>new</code>, <code>new[]</code>, <code>delete</code> тай <code>delete[]</code>. На розділ уд бібліотековых malloc и free, прийшовшых из C, дані операторы чинят иніціялізацію обєкта. Про класу — то є выклик конструктора, діля [[Проста штруктура даных|POD]]-тіпу иніціялізацію мож вадь не проводити (<code>new Pod;</code>) вадь провести иніціялізацію нуловыми значінями (<code>new Pod(); new Pod {};</code>). === Тіпы === У C++ доступні слідувучі встановлині тіпы. Тіпы C++ практічно повностю повторявут [[тіпы даных у C]]:<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref> {| class="wikitable" | rowspan="2" |'''Тіп даных''' |'''Вага''' | rowspan="2" |'''Сінтаксіс''' |- |'''Информація''' |- | colspan="3" |'''Сімболні тіпы<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/char-wchar-t-char16-t-char32-t?view=msvc-170 char, wchar_t, char16_t, char32_t (Microsoft Docs)]</ref>''' |- | rowspan="2" |<code>'''char'''</code> |1 [[байт]](8 [[біт]]) | rowspan="2" |<code>char ch1 = 'A';</code> авадь <code>char ch1 = 65;</code> , што є ідентічно, бо сімбол «A» стойит у ASCII пуд значінём 65. |- |може сокотити в собі сімбол( його чиловоє значіня [[ASCII]]). |- | rowspan="2" |<code>'''wchar_t'''</code> |2 ~ 4 байт(16 ~ 32 біт) зависимо уд платформы | rowspan="2" |<code>wchar_t ch2 = L'Я';</code> |- |Хоснує взамін ASCII [[UTF-16]] на [[Windows операчні сістемы|Windows]], [[UTF-32]] на другых сістемах, на Windows його рекомедувут хосновати лем при роботі з [[Windows API]]<ref>[https://ravesli.com/urok-35-simvolnyj-tip-dannyh-char/#toc-7 Урок 35. Символьный тип данных (char)]</ref>. Доданый у [[C++11|C++ 11]]. |- | rowspan="2" |<code>'''char8_t'''</code> |1 байт(8 біт) | rowspan="2" |<code>char8_t ch8 = u8'A';</code> |- |Тот же <code>'''char'''</code>,лем назнчиный про роботу з сімболами [[UTF-8]]. Має літерал <code>u8</code>.Тіп доданый у [[C++20]]. |- | rowspan="2" |<code>'''char16_t'''</code> |2 байт(16 біт) | rowspan="2" |<code>char16_t ch16 = u'あ';</code> |- |Зотвореный діля роботы з [[UTF-16]]. Має літерал <code>u</code>.Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''char32_t'''</code> |4 байт(32 біт) | rowspan="2" |<code>char32_t ch32 = U'😊';</code> |- |Зотвореный діля роботы з [[UTF-32]].Має літерал <code>U</code>.Тіп доданый у [[C++11]]. |- | colspan="3" |'''Цілочисилні знакові<ref name=":1">[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref>''' |- | rowspan="2" |'''<code>short</code>(<code>short int)</code>''' |2 байт(16 біт) | rowspan="2" |<code>short si = -20000;</code> |- |Може сокотити у собі числові значіня уд -32 768 до 32 767. Хоснує ся діля скочіня тямы. |- | rowspan="2" |'''<code>int</code>''' |4 байт(32 біт) | rowspan="2" |<code>int i = 1000000;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647. Май часто ся хоснує діля роботы з цілыми числами, має оптімалный баланс меже вагов, и діяпазоном значинь. |- | rowspan="2" |<code>'''long(long int)'''</code> |4 ~ 8 байт(32 ~ 64 біт) зависимо уд платформы | rowspan="2" |<code>long int li = 3000000000L;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647 авадь -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисел. На 32-бітных сістемах у основному має тоту же вагу, што й '''<code>int</code>'''. Має літерал <code>'''L'''</code>. |- | rowspan="2" |<code>'''long long'''</code> |8 байт(64 біт) | rowspan="2" |<code>long long lli = 9000000000000000000LL;</code> |- |Може сокотити у собі числові значіня уд -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисил. Має літерал <code>'''LL'''</code>. Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''__intN''':</code><ref name=":2">[https://learn.microsoft.com/ru-ru/cpp/cpp/int8-int16-int32-int64?view=msvc-170 __int8, __int16, __int32, __int64 (Microsoft Docs)]</ref> |N - число біт | rowspan="2" |<code>__int8 i8 = 100;</code><ref name=":2" /> |- |Зотворено, вбы особно вказовати число біт, наприклад: <code>__int8</code>(8 біт), <code>__int16</code>(16 біт), <code>__int32</code>(32 біт), <code>__int64</code>(64 біт), можут сокотити у собі числові значіня уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup>-1<ref name=":0">[https://acode.com.ua/urok-34-tsilochyselni-typy-danyh-short-int-i-long/#toc-2 Цілочисельні типи даних]</ref>. |- | colspan="3" |'''Из [[Плававуча крапка|плававучов крапков]]<ref name=":1" />''' |- | rowspan="2" |<code>'''float'''</code> |4 байт (32 біт) | rowspan="2" |<code>float f = 3.14f;</code> |- |Має 6 ~ 7 дисятковых цифер, Хоснує ся діля сокочіня чисил из плававучов крапков, помірнов бізувностьов, наприклад: діля [[Компютерна бавка|компютерных бавок]]. Має літерал f. Діяпазон уд ±1.18×10<sup>-38</sup> до ± 3.4×10<sup>38</sup>. |- | rowspan="2" |<code>'''double'''</code> |8 байт (64 біт) | rowspan="2" |<code>double d = 3.141592653589793;</code> |- |Має 15 ~ 16 дисятковых цифер, Хоснує ся діля сокочіня чисел из плававучов крапков, и серидньов бізувностьов, май часто діля роботы з [[Дробы (математіка)|дробами]]. Діяпазон уд ±2.23×10<sup>-308</sup> до ±1.80×10<sup>308</sup>. |- | rowspan="2" |<code>'''long double'''</code> |10-16 байт (80 ~ 128 біт) | rowspan="2" |<code>long double ld = 3.1415926535897932385L;</code> |- |Має 18-19 дисятковых цифер. Хоснує ся діля научных убчислинь, має высоку бізувность. Діяпазон ±3.36×10<sup>-4932</sup> до ±1.18×10<sup>4932</sup>. |- | colspan="3" |'''Лоґічні<ref name=":1" />''' |- | rowspan="2" |<code>'''bool'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/bool-cpp?view=msvc-170 bool тіп даных (Microsoft Docs)]</ref> |1 байт(8 біт) | rowspan="2" |<code>'''bool b = true;'''</code> |- |Діяпазон уд 0 до 1, удкликає ся на звіданя правда(<code>'''true'''</code>) вадь бріхня(<code>'''false'''</code>), май часто хоснувут у if, while.<ref>ISO/IEC 14882:1998, розділ 6.4, пункт 4: «The value of a ''condition'' that is an initialized declaration in a statement other than a <code>switch</code> statement is the value of the declared variable implicitly converted to <code>bool</code> … The value of a ''condition'' that is an expression is the value of the expression, implicitly converted to <code>bool</code> for statements other than <code>switch</code>; if that conversion is ill-formed, the program is ill-formed».</ref> |- | rowspan="2" |<code>'''false'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/false-cpp?view=msvc-170 false тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 0, означат бріхню, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool f = false;'''</code> |- |- | rowspan="2" |<code>'''true'''</code><ref>[https://learn.microsoft.com/ru-ru/cpp/cpp/true-cpp?view=msvc-170 true тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 1, означат правду, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool t = true;'''</code> |- |- | colspan="3" |'''Цілочисилні знакові тай беззнакові (<code>signed</code> і <code>unsigned</code>)<ref name=":0" /><ref name=":1" />''' |- |'''Тіп даных''' |'''Информація''' |'''Приклад''' |- |'''<code>signed</code>''' |Знаковый тіп, котрый робит діяпазон хоть якої цілочисленної змінної уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup> - 1<ref name=":0" /> ди N то кулькость біт тіпа даных. signed Є тіпом за замовчіньом | У <code>signed int</code> діяпазон уд -2 147 483 648 до 2 147 483 647, а у <code>signed short</code> уд -32 768 до 32 767, так само які і без приписаня <code>signed</code>. |- |'''<code>unsigned</code>''' |Беззнаковый тіп, котрого, аж прикласти до цілочислных тіпу, то йих діяпазон буде мочи мати лем додатньоє значіня, уд 0 до 2<sup>n</sup> - 1 (N — вага в бітах прикладеного тіпа) |<code>unsigned long long</code> уд 0 до 18 446 744 073 709 551 615, ци <code>unsigned short</code> уд 0 до 65 535.<ref name=":0" /> |} Язык увюг такоє розуміня ги удкликаня, ай з штандарта C++11 ''— rvalue''-удкликаня и [[переадресуйимі удкликаня]] ({{Lang-en|forwarding reference}}). (см. Удкликаня (C++)) C++ додає д C обєтово-орьєнтовані возможности. Ун уводит класы, которі давут три май важливых особенности [[Обєктово орьєнтоване проґрамованя|ООП]]: [[Інкапсулація (проґрамованя)|инкапсулацію]], [[Наслідованя (проґрамованя)|наслідованя]] й [[Поліморфізм (проґрамованя)|поліморфізм]]. У штандартови C++ пуд класом (class) розуміє ся хосноватильськый тіп, убявленый из хоснованьом єдного из ключовых слув <code>class</code>, <code>struct</code> авадь <code>union</code>, пуд штруктуров (structure) розуміє ся клас, убявленый через [[Ключове слово (проґрамованя)|ключове слово]] <code>struct</code>, тай пуд убєдениньом (union) розуміє ся клас, убявленый через ключовоє слово <code>union</code>. У зависимости уд хоснованого ключового слова мінявут ся так само и дакотрі свойства самого же класа. Наприклад, у класі, обявленому через <code>struct</code>, части без особно прописаного модіфікатора доступа будут за замовчіньом мати публічну руню доступа, а не пріватну. У тілови дефініційи класа мож указати гий убявліня функцій, так и йих дефініцію. У посліднюм трафункови функція є интеґрованов(<code>inline</code>). Нештатічні функційи-части можут мати кваліфікаторы <code>const</code> тай <code>volatile</code>, ай не лиш, ищи можут мати удкличный кваліфікатор (<code>&</code> вадь <code>&&</code>). === [[Наслідованя (проґрамованя)|Наслідованя]] === C++ пудпрює [[многоразове наслідованя|многоразовоє наслідованя]]. Базові класы (класы-предкы) указувут ся у наголовкови описаня класа, возможно, з шпеціфікаторами доступа. Наслідованя уд каждого класа може быти публічным, засокоченым авадь запертым: {| class="wikitable" !Доступ части базового класа/режім наслідованя !private-часть !protected-часть !public-часть |- |private-наслідованя |недоступный |private |private |- |protected-наслідованя |недоступный |protected |protected |- |public-наслідованя |недоступный |protected |public |} За замовчіньом базовый клас наслідує ся ги ''private''. На выслідкови наслідованя клас-наслідник получає всі поля класа-предка и всі го методы; мож уповісти, што каждый екземплар класа-наслідника уміщат у собі ''пудекземплар'' каждого з класу-предку. Аж єден клас-предок наслідує ся дакулько раз (се возможно, аж ун є предком дакулькых базовых класу зотворявучого класа), то екземплары класа-наслідника буде мати тулько же пудекземплару даного класа-предка. Убы убыйти такого ефекта, аж ун нежаданый, C++ пудпорює концепцію ''віртуалного наслідованя''. При наслідованьови базовый клас може обявляти ся віртуалным; на всі віртуалні входы класа-предка в дерево наслідованя класа-наслідника в наслідникови зотворює ся лем єден пудекземплар. * Private наслідованя — має у собі всі методы и особности класа «утця» у запертому доступі з вон и запертому доступі діля класу потомку * Public наслідованя — має у собі всі методы и штімованя класа «утця» у выдпертому доступі з вон * Protected наслідованя — то самоє, што і private, айбо потомкы мавут доступ ид унаслідованым методам и особеностям === Поліморфізм === C++ пудпорює [[дінамічный поліморфізм]] и [[штімовськый поліморфізм]]. Штімовськый поліморфізм представленый: * Арґументами за замовчіньом діля функцій. Наприклад, діля функційи <code>void f(int x, int y=5, int z=10)</code>, выклик <code>f(1)</code>, <code>f(1,5)</code> и <code>f(1,5,10)</code> еквівалентный. * [[Переубтерьханя функций|Переубтирьханя функцій]]: функція з єдным имньом може мати рузноє число и рузні по тіпу арґументы. Наприклад: <syntaxhighlight lang="cpp"> void Print(int x); void Print(double x); void Print(int x, int y); </syntaxhighlight> :: Частным трафунком переубтирьханя функцій мож лічити [[переубтерьханя оператору|переубтирьханя оператору]]. * Механізмом шаблону Дінамічный поліморфізм реалізує ся помочов [[Віртуалні методы|віртуалных методу]] тай іерархійи наслідованя. Поліморфным у C++ є тіп, мавучый хоть єден віртуалный метод. приклад іерархї: <syntaxhighlight lang="cpp"> class Figure { public: virtual void Draw() = 0; // чистый віртуалный метод virtual ~Figure(); // ож є хоть єден віртуалный метод деструктор гія учинити віртуалным }; class Square : public Figure { public: void Draw() override; }; class Circle : public Figure { public: void Draw() override; }; </syntaxhighlight>Туйкы клас Figure є [[Абстрактный клас|абстрактным]] (и, онь, [[Інтерфейс (обєктно-орьєнтоване проґрамованя)|інтерфейсным]]), позад того, што метод Draw не дефінованый. Обєкты сего класа не мож зотворити, айбо мож хосновати удкликаня авадь указникы з тіпом Figure. Избраня реалізаційи метода Draw буде проізводити ся за час окончованя выходячи из реалного тіпа обєкта. === [[Інкапсулація (проґрамованя)|Инкапсулація]] === Инкапсулація у C++ реалізує ся через ідіфікацію уровня доступа до частий класа: вни можут быти публічными (удпертыми, <code>public</code>), засокочеными (<code>protected</code>) и пріватными (запертыми, <code>private</code>). У C++ штруктуры формално рузнит ся уд класу лем тым, што за замовчіньом руня доступа д частям класа и тіп наслідованя у структуры публічні, а у класа — пріватні. {| class="wikitable" !Доступ !private !protected !public |- |Самый клас |Айно |Айно |Айно |- |Цімборы |Айно |Айно |Айно |- |Наслідникы |ні |Айно |Айно |- |Изпоза |ні |ні |Айно |} Перевірка доступа йде за час компілаційи, проба звіданя до недоступної части класа выкликає хыбу компілаційи. ==== Цімборы ==== ''Функційи-цімборы'' — то є функційи, котрі ниє функціями-частями тай задто мавучі доступ д засокоченым і запертым частям класа. Уни мавут быти убявлині в тілови класа ги <code>friend</code>. Наприклад: <syntaxhighlight lang="cpp"> class Matrix { friend Matrix Multiply(Matrix m1, Matrix m2); }; </syntaxhighlight>Туйкы функція <code>Multiply</code> може звідати ся д полям и функціям-частям класа <code>Matrix</code>. Цімборськым може быти убявленый гий всьый клас, так и функція-часть класа. Чотыри важных ограничіня, котрі ся кладут на удношіня цімборськости в C++: * '''Цімборськость не транзітівна.''' Аж A убявляє цімбором B, ай B, у свою очеридь, убявляє цімбором C, то C не стає автоматічно цімбором діля A. На то, A мусит явно убявити C свойим цімбором. * '''Цімборськость не сполочна.''' Аж клас A убявляє цімбором клас B, то ун не стає автоматічно цімбором для B. На то мусит еґзістовати явноє убявліня цімборськости A в класови B. * '''Цімборськость не наслідує ся.''' Аж A убявляє клас B свойим цімбором, то потомкы B не ставут автоматічно цімборами A. На то каждый из них мусит быти убявленый цімбором A в явнуй формі. * '''Цімборськость не розусяжує ся на потумку.''' Аж клас A убявляє B цімбором, то B не стає автоматічно цімбором діля класу-потумку A. Каждый потомок, аж тото гія, мусит убявити B свойим цімбором сам. У цілум видячи сесе правило мож сформуловати такым образом: ''«Удношіня Цімборськости еґзістує лем меже тыми класами (класом и функційов), діля котрых уно явно убявленоє в кодови, й робит лем у тому напрямліньови, в котрому вно обявлиноє».'' === Шпеціялні функційи === Клас за замовчіньом може мати шість шпеціялных функцій: конструктор за замовчіньом конструктор копійованя, конструктор переміщіня, деструктор, оператор присвойиня копійованьом, оператор присвойиня переміщиньом. Тоже мож явно дефініційовати йих всьых (см. [[Правило трёх (C++)|Правило трьох]]). <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщіньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight>Конструктор выкликає ся діля иніціяліційи обєкта (удповідного тіпа) при його зотворіньови, а деструктор — діля зрушіня обєкта. Клас може мати пару конструктору, айбо деструктор може мати лем єден. Конструкторы в C++ не можут быти убявлині віртуалными, а деструкторы — можут, тай в основнум убявлявут ся діля всьых поліморфных тіпу, штобы ґарантовати правилноє зрушіня доступного за удкликаньом авадь указатильови обєкта независимо уд того, котрого тіпа удкликаня вадь указатиль. аж є хоть у єдного из базовых класу віртуалного деструктора, деструктор класа наслідника автоматічно стає віртуалным. === Нові возможности === Шаблоны дозволювут зотворяти функційи и класы, штімовані дефініцічным тіпом авадь значіньом. Наприклад, спередущый клас муг бы реалізовати масив діля хоть якого тіпа даных: <syntaxhighlight lang="cpp"> template <typename T> class Array { ... T& operator[](size_t i) { return val[i]; } protected: std::size_t len {0}; // иніціялізація поля T* val {nullptr}; }; </syntaxhighlight> == Штандартна бібліотека == === Сполочна структура === Штандартна бібліотека C++ має набур возможностю, котрі мусят быти доступні у каждуй імплементаційи языка, вбы дати проґраміштам просту роботу з языковыми міліями тай зотворити основу про розвуй так приладных аплікацій широкого шпектра, гий и шпеціялізованых бібліотек. Штандартна бібліотека C++ убсягат часть штандартної бібліотекы Сі. Штандартна бібліотека C++ має у собі часть штандартної бібліотекы Сі. Штандарт C++ має норматівноє удкликаня на штандарт C уд [[1990|1990 года]] и не дефініціює сам тоты функційи штандартної бібліотекы, котрі берут ся з штандартної бібліотекы Сі. Айбо у C++ наголовчні файлы Сі адаптовані: умісто <code><stdio.h></code> хоснує ся <code><cstdio></code>, а йих обсяг розміщає ся в просторі имен <code>std</code>. Уто позволяє убыйти конфлікты имен и усокотити сполочность. Доступ до возможностю штандартної бібліотекы C++ ся дустає включіньом у проґраму (через діректіву #include) потребных наголовочных файлу. У штандарті [[C++11]] вызначино 79 такых файлу. У май новых вирзіях языка ([[C++17]], [[C++20]]) йих кулькость ся выросла позад додаваня новых возможностю, гий робота з файловов сістемов (<filesystem>), концепты (<concepts>) и корутіны. Вшиткі засобы штандартної бібліотекы надлежат д просторови имен std. Єдночасно ся просит не хосновати діректіву using namespace std; ґлобално, вбы не выходили неєднозначности в кодови. из розвойом штандарту ([[C++11]], [[C++14]], [[C++17]], [[C++20]]) бібліотека ся розширює, давучи май безпечні и выразнi возможности проґрамованя. Наприклад, у [[C++11]] появили ся «розумні указатилі» автоматічного кроманьованя тямов, а в [[C++17]] – структуры робут из файловов сістемов. Каждоє убновіня хоче злегшити розробку, засокочувучи зворотну сполочность и высоку ефектівность. === Пудпора языка === Сюды надлежат возможности, котрых гія діля роботы проґрам, тай за информацію о особностях імплементаційи. Включає возможности, котрых гія про выділіня тямы, механізмы '''[[RTTI|RTTI (Run-Time Type Information)]]''', базові выйимкы, границі значінь числовых тіпу даных, базові засобы роботы з мілійом, гий наприклад, сістемовый час, убробляня сіґналу UNIX, завершіня проґрамы. === Штандартні [[Контейнеры (проґрамованя)|контийнеры]] === У штандартнуй бібліотеци сут шаблоны за такі конийнеры: * Дінамічный масив ('''vector'''), * Штатічный масив ('''array'''), * Єднонапрямлиный список ('''forward_list'''), * Двонапрямлиный список ('''list'''), * [[Стек]] ('''stack'''), * Дек ('''deque'''), * Асоціятівні масивы ('''map, multimap'''), * Множины ('''set, multiset'''), * Очеридь из приорітетом ('''priority_queue'''). === Основні утиліты === У тот розділ уходит опис основных базовых елементу, што ся ухоснововут у штандартнуй бібліотеци, [[Алокатор|алокаторы тямы]], пудпора часа й даты в штілови C. * '''Ітераторы''': засокочувут шаблоны [[Ітераторы (проґрамованя)|ітератору]], помочов котрых у штандартнуй бібліотеци ся реалізує штандартный механізм ґрупового ухоснованя алґорітму за убробліня даных у контийнерах. * '''Алґорітмы''': шаблоны описа операцій убробляня, котрі ся можут ухоснововати до хоть якої послідовности елементу, включно з тотыми в контийнерах. У тот розділ тоже входят функційи '''bsearch()''' і '''qsort()''' из штандартної бібліотекы C. * '''Шорикы''': шаблоны шорику в штілі C++. У тому розділови тож є бібліотекы про роботу з текстом тай сімболами у штілі C. * '''Уводжіня-выводжіня''': шаблоны и вспомижні класы про потокы уводжіня-выводжіня сполочного вида, про шоровоє уводжіня-выводжіня, маніпулаторы (засобованя контрола формата потокового уводжіня-выводжіня у штілі C++). * '''Локалізація''': дефініційи, котрі ся ухоснововут подля пудпоры народных особностю тай формату представліня (дат, валут тай т. д.) у штілі C++ и в штілі C. * '''Діяґностіка''': дефініційи шора вийимок и механізму контрола твиржінь за час оконаня проґрамы ('''assert'''). Пудпора убробкы хыб у штілі C. * '''Числа''': дефініція роботы з комплексными числами, математічні векторы, пудпора сополоченых математічных функцій, ґенератор трафунковых чисел. === STL – Standard Template Library (Штандартна Шаблонова Бібліотека) === Контийнеры, шоры, алґорітмы, ітераторы й основні утиліты, за выйимков переберань из бібліотекы C, ся в рокаши означувут ги '''STL (Standard Template Library – Штандартна Шаблонова Бібліотека)'''. Иззачинаня STL была окремым продуктом и ю абревіятура мала инаку интерпретацію, айбо потум стала частьов штандартної бібліотекы C++ тай ю неудкапчаным елементом. У имньови пудкреслено, же для реалізаційи засобу сполочному виді (контийнеру, шора, алґорітму) сут хосновані механізмы '''солоченого проґрамованя''' ('''template''' – шаблоны C++). Бярен Страуструп у свойих роботах детално описує причины, з котрых быв зробленый именно тот выбор. Основными причинами были: * '''Універзалность вырішіня''' – шаблонові контийнеры, на розділ уд обєктных, можут быти легко хосновані діля '''не обєктных тіпу''' й не требувут єдного предка у тіпу елементу. * '''Технічна ефектівность''' – в основному, операційи шаблонового контийнера не требувут '''выклику віртуалных функцій''' и можут быти легко встройині '''(inline)''', што у выслідкови дає выгру в продуктівности. Тот пудхуд зробив '''STL''' єднов из май успішных и май булш розусядженых частий штандартної бібліотекы C++. Из штандарта C++11 додали ся слідувучі возможности: * Додана бібліотека <code>&lt;regex&gt;</code>, реалізувуча всьымиприйняті механізмы гляданя тай пудстановкы з помочов реґуларных выразу. * Додана пудпора многопоточности. * Атомарні операційи. * unordered-варіянты асоціятівных масиву и множин. * Розумні указатилі, задавучі автоматічноє выслободжіня выділеної тямы. === Реалізаційи === STL до того, як стала частьов штандарта C++, была боковов розробков. Иззачинаня ю розробляла фірма '''[[Hewlett-Packard|HP (Hewlett-Packard)]]''', а потумкы – '''[[SGI|SGI (Silicon Graphics Inc.)]]'''. Штандарт языка не означає го '''«STL»''', бо ун став неудкапчаннов частьов языка, айбо много людий и доднись хоснувут то назов, убы удрузнити ю выд инакых частий штандартної бібліотекы (наприклад, '''iostream''', пудрозділ C тай ин.). Проєкт пуд имньом STLport<ref>{{Cite web |url=http://www.stlport.org/ |title=STLport: Welcome! |access-date=2007-07-26 |archivedate=2018-06-07 |archiveurl=https://web.archive.org/web/20180607183150/http://www.stlport.org/ }}</ref> заснованый на '''SGI STL''', занимат ся фуртовым убновіньом '''STL, IOstream''' и шоровых класу. Дакотрі инші проєкты тоже ведут розвуй окремых імплементацій штандартної бібліотекы. == Рузня из Сі == [[Файл:CppCgenealogy.png|праворуч|міні|ґенеолоґія й рокашный вплыв вирзій Сі і C++ (за «Короткым курсом» Страуструпа)]] === Сполочность из Сі === Выбираня именно С гий основы діля зотворіня языка проґрамованя убяснявут, тым што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит діля вырішіня булшости сістемных задач; # оконаня усюды і на всьому; # стыкує ся из мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык проґрамованя C++. Розділ 1.6</cite></div> Невзиравучи на дакотрі знані хыбы языка '''Сі''', '''Бярне Страуструп''' выбрав його за основу, бо «у '''Сі''' є свої проблемы, айбо тоты же проблемы бы мав и розвоєный уд нула язык, а проблемы '''Сі''' нам знані». Окром того, то дало можность скоро зотворити пирьвый прототіп компілатора ('''cfront'''), котрый лем перетовмачовав додані сінтаксічні елементы на оріґіналный '''Сі'''. Из поступом розвоя '''C++''' до него додали инакі можности, котрі зробили непотребными дакотры конструкційи '''Сі'''. Позад сего не раз было звіданя за то, убы удказати ся уд сполочности языку и зняти старі конструкційи. Но тым не май мало сполочность была засокочена, того што: * '''Засокочено еґзістувучый код''', написаный на '''Сі''', убы го мож было прямо перенести у '''C++'''; * '''Не гія наново вчити проґрамісту''', котрі вже знали '''Сі''' (йим лем гія довчити нові возможности '''C++'''); * '''Выключина путанина''' меже языками при йих рокашному хоснованьова («аж два языкы хоснувут ся в рокаши, йих розділы мавут быти авадь мінімалні, авадь такі грубі, убы языкы не мож было спутати»). === Нові возможности === <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщиньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight> Нові возможности C++ уключавут оголошіня у видови выражінь, переробліня тіпу в виді функцій, операторы <code>new</code> і <code>delete</code>, тіп <code>bool</code>, удкликаня, розширеноє розуміня константности, пудставляйимі функційи, аргументы за замовчіньом, переопреділіня, просторы имен, класы (уключавучи и вшиткі повязані з класами возможности, такі ги наслідованя, функційи-части, віртуалні функційи, абстрактні класы тай конструкторы), переопреділіня оператору, шаблоны, оператор <code>::</code>, убробку выйимку, дінамічну ідентіфікацію и много другого. Язык C++ так само в многых трафунках май строго удносит ся д перевіркы тіпу, гий C. У C++ появили ся коментарі в вызирови двойитої косої линійи (<code>//</code>), котрі были у попередникови C — языкови [[BCPL]]. Дакотрі особенности C++ май пузно были перенесині до C, наприклад, ключові слова <code>const</code> тай <code>inline</code>, оголошіня у циклах <code>for</code> и коментарі в штілови C++ (<code>//</code>). У май пузнюй реалізаційи C так само были представлині возможности, котрых ниє у C++, наприклад макросы <code>va_arg</code> тай изліпшина робота з масивами-штімованями. === C++ не включат у ся C === Невзиравучи на то, же груба часть кода C буде робоча й діля C++, C++ ниє надмножинов C и не включат го в себе. еґзістує й такый правилный про C код, котрый є неправилным про C++. То удлишує го уд [[Objective-C]], ищи єдного изліпшиня C діля [[Обєктово орьєнтоване проґрамованя|ООП]], котроє є надмножинов C. Сут и другі рузности. Наприклад, C++ не позволяє кликати функцію main() в удну проґрамы, зато як у C то є припустиме. Окроме того, C++ є май строгый у дакотрых звіданьох; наприклад, ун не допусчат неявноє переведіня тіпу меже не зкапчаными тіпами указатилю й не позволяє хосновати функційи, котрі ищи не были оголошині. Ба й булше, код, котрый є робочый діля обох языку, може давати рузні выслідкы в залежности уд того, компілатор якого языка го товмачив. Наприклад, на булшости платформ наслідувуча проґрама выведе «C», коли компілує ся компілатором C, і «C++», коли компілує ся компілатором C++. Такоє ся діє зато, же в C сімболні константы (наприклад, <code>'a'</code>) мавут тіп <code>int</code>, а в C++ — тіп <code>char</code>, а розмір тых тіпу ся убыкло удрузнят. <syntaxhighlight lang="cpp"> #include <stdio.h> int main() { printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; } </syntaxhighlight> === Средства C, котрых рекомендує ся не кывати === Подля зауважіня Страуструпа, «чим ліпше вы знаєте C, тым май тяжко вам буде убыйти проґрамованя на C++ у штілови C, гублячи при тум потенційні перевагы C++». Позад того ун дає слідувучый набор порекомендовань про проґрамішту на C, убы читаво ся убхосновати ліпшинами C++: * Не хосновати макроопреділіня <code>#define</code>. На оголошіня констант хосновати <code>const</code>, на ґрупы конштант (перечисліня) — <code>enum</code>, на прямоє включіня функцій — <code>inline</code>, на означіня файт функцій авадь тіпу — <code>template</code>. * Не хосновати передчасові зявы змінных. Зява змінны в блокови, де вни поправді ся хоснувут, и фурт єднати зявы з иніціялізаційов. * Удказати ся уд хоснованя <code>malloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/container/vector|title=std::vector — cppreference.com|access-date=2015-11-28|archive-date=2015-11-27|archive-url=https://web.archive.org/web/20151127093014/http://en.cppreference.com/w/cpp/container/vector|deadlink=no}}</ref> у хосен оператора <code>new</code>, уд <code>realloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/memory/c/realloc|title=std::realloc — cppreference.com|access-date=2015-11-28|archive-date=2015-12-04|archive-url=https://web.archive.org/web/20151204114524/http://en.cppreference.com/w/cpp/memory/c/realloc|deadlink=no}}</ref> — у хосен тіпа <code>vector</code>. Май безпечным буде хоснованя розумных указатилю, такых гий <code>shared_ptr</code> тай <code>unique_ptr</code>, што доступні уд єденадцятої вирзійи штандарта. * Убыйти без безтіповых указатилю, аріфметікы указатилю, неявных приведінь тіпу, скапчань, окроме, може, низкоруньового кода. Хоснованя «нові» перевединя тіпу, што ліпше выражавут жаданя проґраміста й сут май безпечні. ** Рада до мінімума хоснованя масиву сімболу тай шорику у штилови C, замінявучи йих на тіпы <code>string</code> и <code>vector</code> із STL. Шуга не творити свої реалізаційи того, што уже є у штандартнуй бібліотеци. == Розвуй дале == Нынішня май актуална вирзія '''ISO/IEC 14882:2024''' авадь '''[[C++23]]'''<ref>{{cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 Programming languages — C++ |website=iso.org }}</ref>,была дороблена у [[Фебруар|фебруварьови]] [[2023]]<ref>{{Cite web |url=https://herbsutter.com/2023/02/13/c23-pandemic-edition-is-complete-trip-report-winter-iso-c-standards-meeting-issaquah-wa-usa/ |title=C++23 "Pandemic Edition" is complete (Trip report: Winter ISO C++ standards meeting, Issaquah, WA, USA) |website=herbsutter.com |date=13 February 2023 }}</ref>, слідувуча вирзія, має не офіцічноє мня '''[[C++26]]'''.<ref>{{Cite web|title=Working Draft, Standard for Programming Language C++|url=https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4981.pdf|date=2024-04-16|publisher=ISO/IEC|website=Open Standards}}</ref> === Сполочноє напрямліня розвоя C++ === На думку автора языка Бярена Страуструпа<ref>{{Cite web|url=http://www.codenet.ru/progr/cpp/straustrup.php|title=Интервью Б. Страуструпа LinuxWorld.com|access-date=2013-01-04|archive-date=2013-01-27|archive-url=https://web.archive.org/web/20130127131918/http://www.codenet.ru/progr/cpp/straustrup.php|deadlink=no}}</ref><ref>{{Cite web|url=http://samag.ru/archive/article/1034|title=Интервью Б. Страуструпа журналу «Системный администратор»|access-date=2013-01-04|archive-date=2013-02-09|archive-url=https://web.archive.org/web/20130209043902/http://samag.ru/archive/article/1034|deadlink=no}}</ref><ref>{{Cite web|url=http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|title=CNews: Эксклюзивное интервью с создателем языка программирования C++|accessdate=2019-11-01|archiveurl=https://web.archive.org/web/20150317122705/http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|archivedate=2015-03-17|deadlink=yes}}</ref>, говорячи о далшум розвою тай перспектівах языка, мож дашто вызначити: * У основнум далшый розвуй языка буде йти путьом доповнінь до штандартної бібліотекы. Єдным из головных жрідел такых доповнінь є знана бібліотека [[Boost]]. * Міняня у ядрови языка не мавут приводити до змаліня уже досягнутої ефектівности C++. По никаньови Страуструпа, переважно є грубі важливі зміны, котрі мавут реалный вплыв, ачим много малых правок, котрі можут убтяжити код и учинити язык тяжкым на учіня тай хоснованя. * Основні путі далшого розвоя C++ у май близкых годах уключавут розширіня возможностю й доробліня сполочного проґрамованя, штандартізацію механізму паралелної убробкы, а так само розвуй засобу безпечного проґрамованя. До такых возможностю надходят рузні перевіркы, безпечны переведіня тіпу, контролованя пудмінок и другых технолоґійи, котрі помагавут у писаньови стабілного и сполягливого кода. * У рокаши C++ є спроєктованый и розвоює ся гий [[Мултіпарадіґмовый язык проґрамованя|мултіпарадіґмовый язык]], што значит, же ун є погынавый и позволяє проґраміштам выборно хосновати рузні пудходы й методолоґійи. Ун бере елементы из рузных штілю проґрамованя, айбо йих адаптує так, убы были ефектівні на руни компілованого языка, што означат высшый уровинь оконавської продуктівности. Того в будучности ниє вылучино, же до C++ будут додані елементы функціоналного проґрамованя, автоматічноє збираня нехари тай инакі механізмы, котрі типирь не сут в языкови. Айбо вшиткы такі зміны будут зроблині на основі вжек еґзістувучого компілованого пудхода, без порушіня прінціпу продуктівности. * Хоть формално єдным из основных прінціпу C++ є засокочіня сполочности з языком C, у реалности штандартізаційны комітеты C тай C++ не мавут взаимодій. Міняня, котрі вни уносят, не лиш ниє згоджині, айбо даколи прямо противорічат єдны другым из ідеолоґічного бока. Наприклад, елементы, котрі нові вирзійи C додавут прямо до ядра языка, у C++ сут вынесині до штандартної бібліотекы. Такыми елементами є, наприклад, дінамічні масивы, масивы з фіксоваными границями, а так само засобы паралелної убробкы. Страуструп лічит, же спойиня розробкы C и C++ принесло бы грубі выгоды, айбо то є малореалістічно з політічных и орґанізаційных причин. Того в перспектіві практічна сполочность меже C тай C++ буде з часом слабіти, што означає, же коды, написані на чистум C, будут кождый раз май тяжко прямо компіловати и хосновати в C++ без модіфікацій. === Штандарт C++11: доповніня у ядрови языка === * Ясно вызначині конштантны функційи тай выражіня <code>constexpr</code>. * Універзалноє иніціялізованя. * Конструкторы й операторы присвойиня з семантіков переносу. Выведіня тіпу. :: Про хоснованя у шаблонах, де тяжко задати конкретный тіп ізмінної, уведині два нові механізмы: змінні тіпа <code>auto</code> и опис <code>decltype</code>. * Цикл по коликційи :: Подобно многым нынішньым языкам, у C++ уведеный цикл «по коликційи» у форматови: <code>for (type &x: array) {...}</code>. Туй тіло цикла ся оконує про каждого елемента коликційи <code>array</code>, а <code>x</code> у каждуй ітераційи буде удкликати ся на актуалный елемент коликційи. Гий коликцію мож видіти C-масив авадь хоть якый контийнер из штандартної бібліотекы, котрый має ітераторы <code>begin</code> тай <code>end</code>. * Ламбда-выражіня :: Додана возможность задавати ламбда-выражіня (анонімні функційи, што ся задавут прямо в місті хоснованя). Такі функційи можут залежати уд позапросторовых змінных (замыканя). Ламбда-выражіня мож присвойити зміннуй и хосновати усяды, де гія функція релевантного тіпа, наприклад, у алґорітмах штандартної бібліотекы. * Изміны в описови віртуалных методу :: Доданый неповинный модіфікатор <code>override</code>, котрый хоснувут при описови метода, што заміщат віртуалный метод утцьовського класа. Позад хоснованя <code>override</code> компілаторови мусай перевіряти, ци є в утцьовському класови метод из таков же сіґнатуров. Доданый тоже модіфікатор <code>final</code>, котрый, як и в Java, непозволяє подалше заміщованя метода. Так само мож задати <code>final</code> діля класа — тогды уд него вже не можут наслідовати ся другі класы. * Додана возможность описа [[Варіатівный шаблон|варіятівных шаблону]]. * Усякі сінтаксічні доповніня. :: Уведеноє ключовоє слово <code>nullptr</code>, што представляє константу — нуловый указник. Были внисині зміны у семантіку й, частічно, у сінтаксіс перечислінь и спойиня. Додана возможность творити сокочині перечисліня (type-safe enumerations), а спойиня типирь мавут май мало убграничінь у своюй структурі. Кроме того, компілатор типирь має правилно парсити код из множинными заперавучыми кутовыми дужками «<code>>></code>», што уживані у вкладеных шаблонных конструкціях. Май скоро «<code>>></code>» автоматічно приймало ся ги оператор побітового зсува вправо, того меже знаками <code>></code> гія было вставляти пропускы авадь износы шорика. == Приклад проґрам == === Приклад № 1 === Се приклад проґрамы [[Hello, world!]], котра выводит извістку в [[Інтерфейс командного рядка|консол]], хоснувучи штандартну бібліотеку, и окончує ся. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортуєме всі убявліня у просторови имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> === Приклад № 2 === Типирішньый C++ позволяє рішати май легкым способом и май тяжкі задачі. Тот приклад, окроме другого, показує хоснованя контийнеру з штандартної бібліотекы шаблону ([[Штандартна бібліотека шаблону|STL]]). <syntaxhighlight lang="cpp"> #include <iostream> // подля хосонованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має в собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шориковыми ключами й даными в вызирі вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме всі обєкты в контийнирі for(const auto& person : items) { // person - то є пара з двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> У тум прикладі, про простоты, імпортувут ся вшиткі имена з простора имен <code>std</code>. Но в реалных проґрамах так робити ся не рекомендує, бо можут зотворити ся конфлікты имен, кой рузні бібліотекы мавут єднакі назвы обєкту. Язык позволяє імпортовати окримв обєкты з простора имен, же бы лем тоты, котрі дійсно гія, были доступні у кодови без явного зазначіня <code>std::</code>. <syntaxhighlight lang="cpp"> namespace Foo { const int x = 5; } const int y = Foo::x; </syntaxhighlight> <syntaxhighlight lang="cpp"> #include <vector> int main() { using std::vector; vector<int> my_vector; } </syntaxhighlight> У C++ (ги у C), кой хоснованя проґрамы доходит до кунця функційи <code>main()</code>, тото рунозначно команді <code>return 0;</code>. То значит, што проґрамі не гія явноє вертаня <code>0</code> в кунци <code>main()</code>, бо компілатор додаст то автоматічно. Айбо такоє правило не діє про хоть якої инакої функційи, окром <code>main()</code>, де все гія явно вказати значіня, котроє ся має вертати. == Изруньованя з алтернатівными языками == Сут дакулько досліжінь, у котрых пробовали зробити булш менш обєктівноє зруньованя всякых языку проґрамованя, меже котрых є й C++. У тых досліжінях аналізовали ся рузні аспекты, такі гий продуктівность коду, удобство писаня проґрам, возможности оптімізаційи, доступ д штандартным бібліотек тай иншакі характерістікы, котрі важні про проґрамішту й розвойнику проґрамного засобованя. * У науковуй статі «Haskell vs. Ada vs. C++ vs. Awk vs. …» Пауля Гудака й Марка Джонса<ref name="haskell4">An Experiment in Software Prototyping Productivity. Paul Hudak, Mark P. Jones. Yale University, Department of Computer Science, New Haven, CT 06518. July 4, 1994.</ref> представлиный звід про досліджіня шора імператавных и функціоналных языку на прикладі рішіня модилної задачі быстрого прототіпованя ГІС-сістемы воєнного призначіня. * В инакуй науковуй роботі — «DSL implementation in metaocaml, template haskell, and C++» — чотыри авторы<ref>{{статя|автор=K. Czarnecki, J. O’Donnell, J. Striegnitz, W. Taha|назва=DSL implementation in metaocaml, template haskell, and C++|выдавательство=University of Waterloo, University of Glasgow, Research Centre Julich, Rice University|рік=2004|url=https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C|archivedate=2022-04-07|archiveurl=https://web.archive.org/web/20220407022648/https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C}} Цитата: ''C++ Template Metaprogramming suffers from a number of limitations, including portability problems due to compiler limitations (although this has significantly improved in the last few years), lack of debugging support or IO during template instantiation, long compilation times, long and incomprehensible errors, poor readability of the code, and poor error reporting.''</ref> методічно досліжувут возможности C++ и двох функціоналных языку у роли базовых инструменту про [[Языково-орьєнтоване проґрамованя|языково-орьєнтованого проґрамованя]] з методом порожувучого кода. * У досліжині Лутца Прехелта<ref name="perhelt2">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> аналізувут ся сім языку (C, C++, Java, Perl, Python, Rexx, Tcl) у контекстови написаня простої проґрамы, котра переробляє телефонні нумера на слова за даякыми правилами. * У статі Девіда Велера «Ada, C, C++, and Java vs. The Steelman»<ref name="steelman">{{Cite web|url=https://dwheeler.com/steelman/steeltab.htm|title=«Ada, C, C++, and Java vs. The Steelman» David A. Wheeler July/August 1997|accessdate=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164511/https://dwheeler.com/steelman/steeltab.htm|deadlink=yes}}</ref> проводит ся зруняня языку Ада, C++, C и Java із документом «[[Steelman]]» — списком потреб до языка про воєнных убудованых сістем, котрый быв розробленый у [[1978|1978 годі]] Міністерством сокочіня [[Споєны Штаты Америцькы|США]]. Хоть документ ужек устарів и не бере до увагы типирішні возможности языку, зруняня показує, што C++ не так силно рузнится уд языку-конкуренту в плані необходимых возможностю про промысловых розробок. * Статя Метю Формента й Міхаеля Ґіллінґса<ref name="bioinfartcl">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> описує досліжіня<ref name="bioinfbench">{{Cite web|url=http://www.bioinformatics.org/benchmark/index.html|title=Сравнение языков программирования в реализации алгоритмов биоинформатики — описание эксперимента.|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102446/http://www.bioinformatics.org/benchmark/index.html|deadlink=no}}</ref> реалізаційи на шість языках (C++, C, C#, Java, Perl, Python) трьох шпеціфічных алґорітму, што хоснувут ся у біоинформатіци: [[метод майблизькых сосіду|метод майблизкых сусіду]], ґлобалноє [[вырунёваня послідовностю|выруньованя послідовностю]] ([[алґорітм Нідлмана — Вунша]]) и [[парсінґ]] выходных даных [[BLAST]]. === C++ тай Ада === [[Ада (язык проґрамованя)|Язык Ада]] самарає на C++ за возможностями и сферов хоснованя: то є компілованый штруктурный язык из обєктово-орьєнтованым розширіньом (тота ж модел «Алґол из класами», што и в C++), має штатічну тіпізацію, пудпорює сполочноє проґрамованя и призначиный діля розвоя грубых и тяжкых проґрамных сістем. Айбо ідеолоґічно Ада є силно другым языком: аж C++ розвоює ся ги універзалный инструмент про рузных задач, то Ада была спроєктована шпеціялно пуд жаданя выробнику крітічно важного проґрамного засобованя з высокыми штандартами надійности, што выразило ся на ю сінтаксісі тай семантіци. Прямых изрунянь ефектівности кода в Аді й C++ не много. Ужек упомняненуй статі <ref name="haskell4" /> рішіня моделної задачи на Аді дало код, што быв приблизно на 30% май куртый (у шориках), гий у C++. Изруньованя самых же языку проводили ся у рузных жрідлах. Наприклад, у статі Джіма Роджерса на AdaHome<ref name="rogers2">{{Cite web|url=http://www.adahome.com/articles/9703/ada_vs_cpp.html|title=Comparison of Ada and C++ Features (en)|access-date=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164727/http://www.adahome.com/articles/9703/ada_vs_cpp.html|deadlink=no}}</ref> наведено булш 50 пункту удрузнинь меже языками, й булшость из них у хосен Ады (булше возможностю, нагынавчость повожіня, май мало возможность хыб). Хоть даякі твиржіня побучнику Ады перичні авадь ужек пристаріли, сполочно мож зробити выслідок: * Сінтакс Ады є овер строгый, ги у C++. Язык жадат додержовати ся дісціпліны проґрамованя, не пудпорює «проґрамістські фіґлі», айбо стімулує писаня простого, лоґічного й врозумливого кода, котрый є май легко пудпорьовати. * На розділ уд C++, Ада є дуже тіпобезпечена. Розвойина сістема тіпів позволює при додержаньови правил йих оголошіня й хоснованя маймного контроловати коректность роботы з датами й сокотити проґраму уд нежаданых хыб. Автоматічноє переробліня тіпу є звеличине у нич. * Указатилі в Аді сут контроловані май строго, ги у C++, а адресна аріфметіка є доступна лем через окрему сістемову бібліотеку. * Наставитилні модулы Ады за свойыми можностями сут самарні на шаблоны у C++, айбо забезпечувут ліпшый контрол. * Ада має в язык убудовану модуларность и штандартізовану сістему розділеної компілаційи, зато C++ хоснує включованя текстовых файлу й вонкашні методы кроманьованя компілаційов и складаньом проґрам. * Убудована многозадачность Ады має в собі паралелні задачы й механізм йих комунікаційи (вступы, рандеву, оператор <code>select</code>). У C++ сут тоты возможности забезпечині лем через бібліотекы. * Ада має строгый штандарт, што дає ліпшу переносимость проґрамового засобованяна рузны платформы. У статі Штефена Цейґера з компанійи [[Rational Software|Rational Software Corporation]]<ref>[https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html Stephen Zeigler, Comparing Development Costs of C and Ada.] {{webarchive|url=https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html|date=2007-04-04}}</ref> ся тверди, же робота на Аді є на 60% май дешево, гий на другых языках, приводит ид зотворіню кода, котрый має в 9 раз май мало хыб, гий код написаный языком Сі. Хоть и тоты выслідкы ниє прямо ты же самі діля C++, ун є интересный, бо много з хыб C++ ун взяв уд Сі. === C++ тай Java === Java ся не може раховати же повноставна заміна C++, бо є зотворена гий безпечный язык из легшым зачатковым руньом, орьєнтованый на зотворіня прикладных аплікацій из грубов можностьов преносимости<ref>{{cite web|url=http://www.oracle.com/technetwork/java/intro-141325.html|title=1.2 Design Goals of the Java™ Programming Language|subtitle=The Java Language Environment|lang=en|publisher=Oracle|date=1999-01-01|accessdate=2013-01-14|archive-date=2013-01-23|archive-url=https://web.archive.org/web/20130123204103/http://www.oracle.com/technetwork/java/intro-141325.html|deadlink=no}}</ref>. Уна ся не годит для дакотрых філю проґрам, котрі ся чинят у C++. Айбо в окремых свойих областьох в Java є реална конкурентція C++. Головні передности Java: * '''Безпека:''' Недоступность хоснованя указатилю и адресної аріфметікы, автоматічноє кроманьованя тямов из ґарбадж-колектором, убудовані засобы, котрі сокотят перед май пошириными хыбами проґрам C++, гий є переповніня буфера авадь выхуд за граници масива. * Наявность розробленої сістемы модул и розділеної компілаційи, котра є май скурша й май мало пудвавучас ид хыбам, гий препроцесор и особна зборка C++. * Докусна штандартізація и оконаня у віртуалнуй машині, розвоєноє окружіня, включавучи бібліотекы про ґрафіку, хосноватильськый интерфийс, доступ ид базам даных и другым тіповым задачам, гий є забезпечена правдива многоплатформность. * Устроєна многопотучность. * Обєктна пудсістема Java є у разы май близка д фундаменталному прінціпови ООП «вшитко є обєкт», ги у C++. Интерфийсы позволявут здобыти векшину предностий множинного наслідованя без його неґатівных ефекту. * Рефликція є май далекосяжна, ги у C++, и позволяє у реалному часови дефініційовати и міняти структуру обєкта пуд час роботы проґрамы. Но хоснованя ґарбадж-колектора й віртуалної машины лишає тяжкопоборимі обмижіня. Проґрамы на Java сполочно сут май помалі, йим гія дуже много тямы, а віртуална машина ізолує проґраму уд операчної сістемы, што робит низкоруньовоє проґрамованя невозможным. Емпірічноє досліджіня<ref name="perhelt3">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> не найшло грубу рузню у быстрости розробкы на C++ тай Java. Инакоє досліджіня<ref name="bioinfartcl4">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> указало, же думаня о грубых рузнях у шустрости оконаня кода на тых языках ниє фурт правдивоє: у двох из трьох тесту быстрота оконаня Java- тай C++-аплікацій была доста порунима. Зато Java є май лаконічна – обєм кода є май малый на 10-15%. === C++ тай C === '''Оріґіналный Сі''' дале ся розвойит, и на нему ся зотворявут много грубых проєкту: є головным языком проґрамованя подля операчных сістем, на нему написані бавкові енґіні многых дінамічных бавок, як и груба кулькость прикладных аплікацій. Дакотрі шпеціялісты повідавут, же заміна Сі на C++ не робит процес розробкы май ефектівным, ай навспак убтяжує проєкт, меншит го надійность и пудвышує наклады на пудпору. У частности: * За думаньом Лінуса Торвалдса, «C++ заставляє до писаня … грубого обєма кода, котрый не має прінціпічного значіня із никаня функціоналности проґрамы». * Пудпора ООП, шаблоны і STL не сут рішавучов предностьов C++, бо вшитко, на што ся хоснувут, мож вырішити й хоснованьом Сі. При тум ся вылучавут розширіня кода, а даякоє убтяжіня, котроє є далеко не фурт гія, компензує ся булшов флексібілітов, май простым тестованьом, и ліпшыми перформанцными характерістіками. * Автоматізація доступа д тями в C++ повышує затраты тямы й чинит роботу проґрам помалов. * Хоснованя вылучінь у C++ заставляє слідити [[RAII]], што веде до звеличіня оконаных файлу й меншіня быстроты проґрам. Додаткові тягкости ся появлявут у паралелных и дістрібутівных проґрамах. Тым є интересноє, же кодінґ-штандарт C++ у компанійи [[Google]] прямо заказує хоснованя вылучінь<ref name="googlesg">{{Cite web|url=https://google.github.io/styleguide/cppguide.html#Exceptions|title=Google C++ Style Guide. Exceptions.|access-date=2019-03-31|archive-date=2019-03-16|archive-url=https://web.archive.org/web/20190316065327/http://google.github.io/styleguide/cppguide.html#Exceptions|deadlink=no}}</ref>. * Код на C++ є май тяжкый на розуміня й тестованя, його выправлиня выд хыб є май чажкоє позад хоснованя чажкый ієрархій класу из наслідованьом и шаблонами. Додатково, в розвойницькых мілійох C++ ся вказує булше хыб, и в компілаторах, и в бібліотеках. * Многі детайлі повожіня кода не сут шпеціфіковані штандартом C++, што знижує його портовалность и може быти причинов чажконаходимых хыб. * Кваліфікованых проґрамісту на Сі є у разы булше, гий на C++. Ниє пересідчивых даных о предности C++ перед Сі ні по ефектівности проґрамісту, ні по особностям проґрам. Хоть сут досліжіня<ref>{{статя|назва=Advantages and Disadvantages of Conservative Garbage Collection|автор=Boehm H.|url=http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archiveurl=https://web.archive.org/web/20130724030259/http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archivedate=2013-07-24}} (удкликаня із {{книга |автор=[[Реймонд, Ерік]]. |тітул=Искусство программирования для Unix |рік=2005 |сторінки=357 |сторінок=544 |isbn=5-8459-0791-8 }})</ref>, котрі твирдят, же проґрамішты на Сі тратят около 30-40 % сполочного часа розробкы (не рахувучи выпраліня хыб) на кроманьованя тямов, сполочна ефектівность розробнику<ref name="haskell4" /> Сі тай C++ є зрунима. У низкоруньовум проґрамованьови грубинська часть новых возможностю C++ ся оказує нехоснована позад збулшіня режійных выдатку: віртуалні функційи жадавут дінамічноє вызначіня актуалної адресы (RVA), шаблоны ведут до розширіня кода й понижіня возможностю оптімізаційи, [[бібліотека часа оконаня]] (RTL) є велика, а удказ уд ниї лишат многх возможностю C++ (хоть бы позад недоступности операцій <code>new</code>/<code>delete</code>). У выслідках проґраміштови мусай убграничити ся на функціонал, унаслідованый уд Сі, што робит хоснованя C++ безцілным: ''Єдиный способ мати добрый, ефектівный, низкоруньовый іипортованый C++ зводит ся д тому, убы ся убграничити ся вшисткым тым, котроє є легко доступноє в Сі. А убграничіня проєкта границями Сі буде значити, же го не выметати, и же буде доступно много проґрамішту, котрі добрі розумівут низкоруньові особенности й не удказувут ся уд них позад дурної моды на «обєктні модели».'' ''… коц ефектівность є пирьвошорна, «ліпшины» C++ будут грубов хыбов.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> === C++ и функціоналні тай скріптові языкы === У єдному експеріментови<ref name="haskell4" /> скріптові й функціоналны языкы, особенно [[Haskell]], показали 2-3-кратну ліпшину у часови розробкы тай обємови кода в зруняньови з проґрамами на C++. Из другого бока, проґрамы на C++ были на тулько же раз скурші. Авторы признавут, же здобыті дані ниє репрезентатівнов выборьков и не роблят катеґорічні выслідкы. В другому експеріментови<ref name="raytracer">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref> строгі функціоналны языкы ([[Standard ML]], [[OCaml]]) показали сполочноє прискоріня розробкы 10-кратноє (головно позад скуршому выявліню хыб) при приблизно руных показниках шустродійи (были хосновані рузні компілаторы в рузных режімах). У досліжіньови Лутца Прехелта<ref name="perhelt" />, на основі аналіза коло 80 рішінь, написаных доброволцями, были здобыті, в часности, слідувучі выслідкы: * Perl, Python, Rexx, Tcl забезпечили удвоє булшу быстроту розробкы, гий C, C++ и Java, причому одержаный код быв так само удвоє май куртым. * Проґрамы на скріптовых языках хосновали приблизно удвоє булше тямы, ги C/C++. == Крітіка == <syntaxhighlight lang="cpp"> #include <iostream> // для хоснованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має у собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шоровыми ключами й даными у видови вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме вшиткі обєкты в контийнирі for(const auto& person : items) { // person - то пара двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> === За крітіку C++ у цілому === Майчасті крітікы не противоставлявут C++ якомусь другому конкретному языкови, а повідавут, же удказ уд хоснованя єдного языка, што має много недостатку, в хосен декомпозіційи проєкта на пудзадачі, котрі рішавут ся на рузных языках, майбулш пудходящых про них, робит розробку не таков бабрачнов при єдночаснум пудвышіньови показнику [[Квалітность проґрамованя|квалітности проґрамованя]]<ref name="languageorient2">{{статя|назва={{iw|Language Oriented Programming}}|автор=Martin Ward|рік=1994|url=http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|archivedate=2016-03-04|archiveurl=https://web.archive.org/web/20160304020956/http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|выдавательство=Computer Science Department, Science Labs}}</ref><ref name="Hudak_DSL2">{{статя|автор=Paul Hudak|выдавательство=Department of Computer Science, Yale University|назва=Modular Domain Specific Languages and Tools}}</ref>. Из тої самої причины крітікує ся й засокочіня сполочливости з Сі: аж частина задачі жадат низкоруньовых возможностю, май розумно бы было вынести ю у окрему пудсістему й написати ю на Сі. Свою очеридь, побучникы C++ твирдят, же забераня технічных и орґанізацічных проблем межеязыкового сполочнодіїня позад хоснованя єдного універзалного языка взамін дакулькых шпеціялізованых є май вижно, гий хыбованя того універзалного языка. То єсть, сама широкость возможностю C++ оправдує хыбы каждої из возможности; в тум числови й хыбы, унаслідовані выд Сі, оправдані перевагами сполочности (див. [[C++#Філозофія C++|горі]]). Такым способом, тоты самі особенности C++ – обєм, чажкость, [[еклектічность]] и невыразна цільова карина хоснованя – побучниками ся розцінює ся ги «головна перевага», а крітіками – ги «головный недостаток». === Крітіка оремых елементу й концепцій === ==== Контрола за повожіньом ==== Ідеолоґія языка змішує «контрол за повожіньом» из «контролов за ефектівностю»: прінціп «не платиш за то, што не хоснуєш» ➤ предпокладає, же засобованя повного контрола проґрамішта над вшиткым, што ся діє в проґрамі на доста малому руни, є потребным и достаным про достиганя высокої ефектівности кода. У дійсности про грубі проґрамы то не так: коли низкоруньова оптімізація кладе ся на ґорґуші проґрамішта, котру квалічный компілатор [[Предметно-орьєнтованый язык проґрамованя|предметово-орьєнтованого]] языка бы зробив ліпше, тото веде лем до збулшіня обєма кода, до май чажкого процеса розробкы й до знижіня порозумілости й тестуйимости кода. Тым способом, прінціп «не платити за то, што не хоснуєш» в реалности не дає такых жаданых переваг в ефектівности, айбо казит квалітность проґрамы. ==== Компонентноє й обєктово-орьєнтованоє проґрамованя ==== За думаньом [[Алан Кей|Алана Кея]], обєктова модела «[[Алґол]] из класами», котра хоснує ся в C++, уступає модели «вшитко є обєкт»<ref name="alankay2">{{cite web|url=http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|title=Alan Kay's Definition Of Object Oriented Programming|accessdate=2013-08-05|deadlink=yes|archiveurl=https://web.archive.org/web/20130824235515/http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|archivedate=2013-08-24}}</ref>, котра хоснує ся в [[Objective-C]]. Ун лічит, же модела Objective-C має булшу кулькость возможностю, май файні показникы [[Поновне хоснованя кода|поновного хоснованя кода]], ліпшу порозумілость, модіфікуйимость и тестуйимость. Тото є зкапчано з тым, же у Objective-C всі компоненты є обєктами, што засобує булшу єднорудность и простоту в хоснованьови обєктово-орьєнтованых пудходу. Модела наслідованя в C++ складна й чажка в реалізаційи. Уна часто заставляє до зотворіня складных ієрархій из неприродными удношіньом меже класами. Наприклад, у многых трафунках хоснує ся наслідованя взамін вложіня, што зотворяє нездорову независимость меже класами. Позад того часто выходит, же класы ставут [[Ізкапчаность (проґрамованя)|силно изкапчаными]] з неясно розділеным функціоналом, што убчажує йихньоє пдалше міняня й тестованя. Гий приклад{{sfn|Шилдт, Теория и практика C++|1996||сторінки=64—67}}, у літературі наводит ся рекомендація реалізовати клас «список» як пудклас уд «елемента списка», де каждый елемент має функційи доступа д инкыма елементам. Такоє рішіня є нелоґічным из математічної точкы зріня, бо «список» ниє фільом «елемента списка», а складає ся з них. У булш строгых языках проґрамованя така модела не удображає ся, бо там наслідованя має значіня «є пудфільом», а не «є частьов». Дакотрі бібліотекы в C++ жадавут особного перевединя тіпу увирьх и долу за ієрархійов класу через <code>static_cast</code> авадь <code>dynamic_cast</code>. То порушує [[Тіпобезпека|тіпобезпеку]] языка, бо компілатор не годен докус перевірити правилность переведіня тіпу, ай проґрамішт має на собі удповідалность за правилноє хоснованя. Кроме того, C++ має грубу [[Вязкость (проґромованя)|вязкость]] рішінь. Тото означат, же малі міняня на пузьньых етапах розробкы можут жадати переписованя грубиньськых частий проєкта. Наприклад, аж гія поміняти пудход ид сокочіньови даных авадь поміня структуру класу, тото може потребовати міняня многых частий кода, што воле убчажує пудпору й розвуй проєкта<ref name="languageorient2" />. [[Ян Джойнер]]<ref name="Joyner2">{{статя|автор=Ian Joyner|archivedate=2013-11-25|archiveurl=https://web.archive.org/web/20131125045724/http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf|назва=A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition|url=http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf}}</ref> крітікує C++ за хыбну ідефікацію инкапсулаційи (поміщіня даных у вудну обєкта й удділіня реалізаційм уд интерфийса) из сокрытьом реалізаційи. Сесе означат, же в C++ доступ до даных класа гія робити через ґеттеры й сеттеры — шпеціялні функційи доступа. Позад того обєм кода збулшує ся, а го структура убчажує ся. Такый пудход робит C++ май мало выразным руняно з языками, де доступ ид даным реалізує ся через обєктну модела авадь через удпирті штімованя. У выслідкови, C++ часто жадат булше кода діля реалізаційи простої функціоналности, што меншит порозумілость и продуктівность проґраміста. Ищи єдным важливым убграничіньом є то, же зовпаданя тіпу у C++ вызначат ся на руни ідентіфікатору, а не сіґнатур. То означат, же пудстановка компоненту, закладена на зовпадіню интерфийсу, невозможна. Позад того додаваня нової функціоналности в сістему часто жадат личного міняня ужек еґзістувучого кода, што призводит до силної вязкости рішінь<ref name="Paulson3">{{книга |автор=Paulson, Lawrence C. |isbn=0-521-57050-6 (hardback), 0-521-56543-X (paperback) |тітул=ML for the Working Programmer, 2nd edition |выдавательство=Cambridge University Press |рік=1996 }}, c.271-285</ref>. [[Лінус Торвалдс]]<ref name="Torvalds_Gmane" /> крітікує C++ за то, же «код видит ся абстрактным лем до тої поры, докы не гія го міняти». Тото є скапчано з тым, же абстракція у C++ часто пряче чажку реалізацію, котра робит код чажко модіфікуйимым и пудпорьованым. Крітіка C++ из позіцій ООП приведеноє у роботі<ref name="Joyner2" />. ==== Метапроґрамованя ==== Порожувучоє метапроґрамованя у C++ основує ся на шаблонах и [[Препроцесор|препроцесорови]], уно є чажкым и має убграничині возможности. Сістема шаблону в C++ в сути є вирзійов примітівного [[Функціоналне проґрамованя|функціоналного языка проґрамованя]], котрый ся оконує при компілаційи. Тот язык майжек не перехоплює ся з самым C++, позад што потенціял роста чажкости абстракцій убграничиным. Проґрамы, котрі хоснуювут шаблоны в C++, мавут дуже низкі показникы урозумливости й тестованости, а особенно розгорнутя шаблону робит неефектівный код, бо язык шаблону не має аниякых средств оптімізаційи. Встройині предметно-шпеціфічні языкы, зроблині тым способом, єднако хочут знаня самого C++, што не забезпечує повного розділіня роботы. Такым способом, возможности C++ у розширіню возможностю самого C++ сут дуже убграничині.<ref>{{статя|назва=Domain-Specific Languages|автор=Walid Taha|archiveurl=https://web.archive.org/web/20131024072658/http://www.cs.rice.edu/~taha/publications/conference/icces08.pdf|archivedate=2013-10-24|выдавательство=Department of Computer Science, Rice University}}</ref><ref>{{статя|автор=Lugovsky V.S.|рік=2008|url=http://arxiv.org/abs/cs/0409016v1|archivedate=2016-08-10|archiveurl=https://web.archive.org/web/20160810224158/http://arxiv.org/abs/cs/0409016v1|назва=Using a hierarchy of Domain Specific Languages in complex software systems design}}</ref> ==== Кросплатформность ==== Про писаня портованого кода на C++ гія груба умілость и скушеность, ай «недуйдавый» код на C++ из грубов возможностьов може быти непортованый<ref name="XXtraps64bit2">{{статя|автор=Андрей Карпов|рік=2007|archivedate=2015-04-02|archiveurl=https://web.archive.org/web/20150402114050/http://rsdn.ru/?article%2Fcpp%2FXXtraps64bit.xml|назва=20 ловушек переноса Си++ - кода на 64-битную платформу|выдавательство=RSDN Magazine #1-2007}}</ref>. За думков [[Лінус Торвалдс|Лінуса Торвалдса]], убы засобовати портованость на C++, сумарно д Сі, проґрамішт мусит убграничити ся возможностями C++, котрі перебрані из Сі<ref name="Torvalds_Gmane" />. Штандарт має много елементу, котрі сут вызначені ги «implementation-defined» (наприклад, розмір указатиля на методы класу в рузных компілаторах кывавут ся в розмірі уд 4 д 20 байтам<ref>{{статя|назва=Указатели на функции-члены и реализация самых быстрых делегатов на C++|автор=Don Clugston, CSG Solar Pty Ltd (Перевод: Денис Буличенко)|выдавательство=RSDN Magazine #6-2004|url=http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml|archivedate=2013-10-19|archiveurl=https://web.archive.org/web/20131019045704/http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml}}</ref>), што слабит портованость проґрам из йих хоснованьом.<div class="ts-Конец_цитаты-source">Дірективный характер штандартізаційи языка, неповна зворотна сполочность и противность жадань рузных вирзій штандарта роблят проблемы при перенесіньови проґрам меже рузными компілаторами и дажий вирзіями єдных и тых же компілатору.</div> === Удсутность возможностю === ; '''Рефлексівноє метапроґрамованя''' [[Интроспикція (проґрамованя)|Интроспикція]] в C++ є зроблина удділено уд основної сістемы тіпу, што робить ю майжек непотребнов. Майбулше, што мож ся досягнути, то є параметрізація повожіня на навперед знамых опціях. То бримає хоснованю C++ в булшости пудходу до реалізаційи [[Умела інтеліґенція|умілої интелеґинційи]]. Функціоналноє проґрамованя Явна пудпора функціоналного проґрамованя є лем у штандартови C++0x, перед тым тоты недостаткы заповньовали бібліотекы ([[Loki]], [[Boost]]), котрі хосновали язык шаблону, айбо йих квалітность є далеко май слаба в поруняньови з рішінями, встройиными д функціоналным языкам<ref group="Убясниня">Наприклад, <code>Boost.Lambda</code> позіціонуєся як ламбда-функція, єднако C++ не отілиснює [[ламбда-вычислиня]] Чёрча повностю; імітація [[Комбінаторы|комбінатору]] посредством языка шаблону через-чурь тяжка, штобы чекати їх хоснованя на практіці; [[Продолжение (программирование)|продовжіня]], унаслідовані уд Сі, рахувутся неідеоматічными и небезпечными, а їх реалізація посредством языка шаблону нежлива; кроме того, хоснованя {{iw|λ-пудём|λ-пудёма|en|lambda lifting}} для оптімізації C++ неможливо,— так што фактічно <code>Boost.Lambda</code> — то є просто анонімна функція, а не обєкт лямбда-вычисліня.</ref>. Так само, квалітность реалізаційи возможностю C++ (гий ООП) через функціоналні языкы є май низка. Реалізовані в C++ возможности функціоналного проґрамованя не позволявут хосновати оптімізаційні стратиґійи[⇨], котрі сут особні функціоналному проґрамованьови. Уни лем убграничині на вызовы функціоналных бібліотек и реалізацію окремых функцій. То практічно не дає ниякых предностю при проєктованьови проґрам (див. «[[Удповідность Каррі — Говарда]]»). ; === Извышні й небезпичні возможности === ==== Устройині стрества убхода убграничінь ==== Язык має засобы, котрі позволявут проґрамістови порушати задані у конкретному припаді прінціпы проґрамованя. Наприклад, модіфікатор <code>const</code> задає обєктови особенность неизмінности стана, айбо модіфікатор <code>mutable</code> позволяє на насилноє міняня стана в удну константного обєкта, што фактічно зрушує константность. Булше того, мож дінамічно зотерти атрібут <code>const</code> из константного обєкта, перемінявучи його на ліво-допустимый (L-value). Сутя такых возможностю у языкови робит пробы [[Формална веріфікація|формалної перевіркы]] кода нетяклыми, а хоснованя убграничінь на оптімізацію — невозможными. ==== Неконтролуйимоє макропудставліня ==== Засобы макропудставліня у Сі (<code>#define</code>) сут воле силными, айбо й небезпечными засобами. Уни усокотили ся у C++, хоть и в C++ є май строгі й шпеціялізовані засобы на рішіня всьых задач, на котрі уни были задумані в Сі — шаблоны, переубтирьханя функцій, inline-функційи, просторы имен, май розвойина тіпізація, розшириноє хоснованя модіфікатора <code>const</code> и другоє. У внаслідованых уд Сі штандартных бібліотеках є много потенціялно небезпечных макросу<ref>Страуструп, Программирование: принципы и практика использования C++, 2001</ref>. Шаблонноє метапроґрамованя пораз ся комбінує з хоснованьом макропудставліня на засобованя так называнаго «[[Сінтаксічный цукор|сінтаксічного цукра]]». ==== Проблемы переубтирьханя ==== <div class="ts-Конец_цитаты-source">Прінціпы переубтирьханя функцій и оператору в C++ веде д грубому дублованьови кода. Переубтирьханя оператору, што было задуманоє на додаваня «[[Сінтаксічный цукор|сінтаксічного цукра]]», в C++ позволяє без контролы міняти повожіня елементарных операцій про рузні тіпы. То дуже пудвысшує різік хыб, тым булше, што уводит новый сінтаксіс авадь міняє сутный (наприклад, робити нові операторы авадь міняти пріорітеты й асоціятівность) не мож, хоть сінтаксіс штандартных оператору C++ не фурт адекватный семантіци новых тіпу, котрі ся можут потребовати в проґрамі. Окромі проблемы робит легкота переубтирьханя оператору <code>new</code>/<code>delete</code>, што може зробити дуже гамішні й чажко находимі хыбы. При тум дашто з того, што бы ся чекало интуітівно (наприклад, харіня дінамічных обєкту при ґенераційи выйимку), в C++ ся не оконує, а груба часть переубтирьханых функцій й оператору ся выкликавут неявно (наприклад, при переробліньови тіпу авадь творіньови дочасных еґземплару класу). У выслідкови засобы, котрі мали робити проґрамы май ясными й май удобными про розробку й убслугованя, перероблявут ся на жрідло непотребного убтяжіня и знижавут надійность кода. </div> === Вылічна ефектівность === ==== Резултувучый обєм оконаного кода ==== Хосновані шаблоны в C++ є формов параметрічного поліморфізма на руни выходного кода, айбо при компілаційи ун переробляє ся на сітуаційный (ad hoc) поліморфізм (то є переубтирьханя функцій), што веде д значному збулшіню обєма машинного кода в руняно із языками, котрі мавут управді поліморфну сістему тіпу (як у насліднику [[ML]]). Убы змешити розмір машинного кода, пробувут автоматічно убробляти выходный код перед розкрутков шаблону<ref>{{статя|автор=Dave Gottner.|выдавательство=[[Dr. Dobb's Journal]]|рік=януарь 1995|archivedate=2008-06-07|archiveurl=https://web.archive.org/web/20080607062859/http://www.ddj.com/cpp/184403053|назва=Templates Without Code Bloat}}</ref><ref>{{cite web|author=Adrian Stone.|title=Minimizing Code Bloat: Redundant Template Instantiation|url=http://gameangst.com/?p=246|publisher=Game Angst|date=2009-09-22|accessdate=2010-01-19|archiveurl=https://web.archive.org/web/20111208031943/http://gameangst.com/?p=246|archivedate=2011-12-08|deadlink=yes}}</ref>. Другым рішіньом могла бы быти штандартізована возможность експорта шаблону (ищи з [[1998|1998 года]]), айбо вна є доступна лем у мало котрых компілаторах, бо є чажко реалізовати й ниє хосенна<ref>{{статя|автор=[[Саттер, Герб|Herb Sutter]].|archivedate=2009-01-15|archiveurl=https://web.archive.org/web/20090115075141/http://www.ddj.com/cpp/184401381|назва=C++ Conformance Roundup|выдавательство=[[Dr. Dobb's Journal]]|рік=януарь 2001}}</ref><ref group="думка">{{cite web|author=vanDooren|url=http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|title=C++ keyword of the day: export|publisher=Blogs@MSMVPs|date=2008-09-24|accessdate=2010-01-19|quote=The export keyword is a bit like the Higgs boson of C++. Theoretically it exists, it is described by the standard, and noone has seen it in the wild. … There is 1 C++ compiler front-end in the world which actually supports it|archiveurl=https://web.archive.org/web/20090506053736/http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|archivedate=2009-05-06|deadlink=yes}}</ref> на імпорт бібліотек шаблону C++ в языкы з инаков семантіков. Побучникы C++ оспорювут роздуваня кода гий перебулшеноє<ref>{{cite web|author=[[Майерс, Скотт|Scott Meyers]]|url=http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/2b00649a935997f5/5feec243078c5fd8|title=Code Bloat due to Templates|work=comp.lang.c++.moderated|publisher=[[Usenet]]|date=2002-05-16|accessdate=2010-01-19}}</ref>, іґнорувучи факт, што в Сі параметрічный поліморфізм ся компілує просто, без дублованя тіл функцій. Уни лічат, же параметрічный поліморфізм у Сі є небезпечный — то єсть май небезпечно, ги перехуд уд Сі до C++ (хоть противникы C++ думавут навспак). ==== Потенціял оптімізаційи ==== Позад слабої сістемы тіпу й бивноты [[Побочні ефекты (проґрамованя)|побучных ефекту]] стає через чурь чажкым еквівалентноє преобразованя проґрам, а значит и встройиня у компілатор многых оптімізувучых алґорітму, такых гий автоматічноє [[розпаралелёваня проґрам|розпаралельованя проґрам]], [[зрушіня сполочных пудвыражінь]], λ-пудйом, выклик процедур из передачов [[Продовжіня (проґрамованя)|продовжіня]], [[Суперкопілація|суперкомпілація]] й другі. Выслідком реална ефектівность проґрам на C++ убграничує ся мавучов кваліфікаційой проґрамішту й вкладеными в конкретный проєкт силы, й «лайдацька» реалізація може доста силно попущат по ефектівности «лайдацькым» реалізаціям на языках булш высокого урувня, што пудтвирьжує зруньовалні спытаня языку<ref name="raytracer2">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref>. То є значущов зашпотков діля хоснованя C++ в индустрійи [[data mining]]. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортує всі оголошіня у просторі имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> ==== Ефектівноє кроманьованя тямов ==== Обязаность по ефектівному кроманьованю тямов лежит ґорґушах розробника й зависит уд умілости розробника. Діля автоматічного кроманьованя тямов у C++ традічно ся хоснувут так называні «розумні указатилі», особенноє же кроманьованя тямов меншит ефектівность самых проґрамішту. Многочисилні реалізаційи [[Харіня мусора (проґрамованя)|харіня мусора]], такых, ги штатічный [[Кроманёваня тамов на основі реґіону|вывуд реґіону]], не примінні діля C++ проґрам (май точно, то требує реалізаційи повирьх языка C++ інтерпретатора нового языка, силно инакого уд C++ и в булшости обєктівных особенностю, й у сполочнуй ідеолоґійи) из причины неубходимости прямого доступа д [[Абстрактно сінтаксічне дерево|абстрактно сінтаксічному дереву]]. === Резултатівность === Зоудношіня фактору резултатівности з затратами на розробку, а так само сполочну култівовану в сполоченстві проґрамішту дісціпліну й културу проґрамованя важно брати до увагы заказникам, котрі выберавут язык C++ (ай, значит, тых, котрі волівут тот язык розробникам) про реалізацію задуманых ними проєкту, а так само людьом, што зачинавуть учити ся проґрамованьови, особливо з жаданьом проґрамовати про свої потребности. ==== Квалітность и култура проґрамованя ==== Прінціп C++ «''не наязовати „добрый“ штіл проґрамованя''» перечит промысловому пудходу д проґрамованьови, в котрому головну роль мавут [[квалічность проґрамного засобованя|квалітность проґрамного засобованя]] й возможность допровуда кода не лем автором, ай другыми, й котрый май выгодні языкы, што мінімізувут вплыв [[Людьскый фактор|людського фактора]], то значит якраз «''наязувут „добрый“ штил проґрамованя''», хоть такі языкы можут мати веце высокый поруг входжіня. Еґзістує думка, же волішность хосноватиля C++ (при можности выбирати алтернатівні языкы) уймовость характерізує професійні возможности проґрамішта. Наприклад, [[Лінус Торвалдс]] каже, же позітівна думка кандідату за C++ є про него крітерійом удсіва: ''C++ — кошмарный язык. Його робит ищи веце кошмарным тот факт, же много не доста ґрамотных проґрамішту го хоснувут… Удкрыто кажучи, и кідь ниє аниякых причин выберати Сі, кроме того, убы держати C++-проґрамішту подале, то й лем тот аргумент буде доста важным основаньом про хоснованя Сі.'' ''…Я прийшов до вывода, же дійсно зачну выгнати каждого, тко выбере вести розробку проєкта на C++, а не на Сі, убы тот чилядник не загубив проєкт, у котрый я прилученый.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> ==== Управліня выправленого ==== Неперерывна еволуція языка побужує (а часом и змушує) проґрамісту раз за разом міняти ужек удлажений код — то не лем дорожит розробку, ай и несе різік увожіня до ужек удладженого кода новых хыб. Наприклад, кідь иззачинаня зворотна сполочность из Сі была єдным из базовых прінціпу C++, уд [[1999|1999 року]] Сі перестав быти пудмножинов C++, так што ужек удладженый код на Сі не може быти хоснованый в проєктови на C++ без измініня. ==== Чажкость подля самої тяжкости ==== C++ є окресленый його аполоґетами гий «маймоцный» и''менно позад того'', хоснує небезпечні і взайимно-противні можности. За думаньом [[Ерік Реймонд|Еріка Реймонда]], то робит язык сам по собі основов про личноє самостверджіня проґрамішту, перероблявучи процес розробкы на самоціль. ''Проґрамішты — то часто яркі люди, котрі ся гордять … свойов можностьов справлятися з чажкостями й шіковно убходити ся з абстракціями. Часто ся перед собов змагати, пробувучися выяснити, ко може зотворити «майзапутані й майфайні чажкости». … Суперникы мнят, же мусят змагати ся з чужыми «прикрашаньоми» тым, же додадут свої. Доста скоро «масивна ґырча» стане индустріялным штандартом, и всі зачнут хосоновати грубі, переповнині хыбами проґрамы, котрі не можут убрадити онь йих творцю.'' ''…Такый пудход може убернути ся псотов, як проґрамішты реалізувут прості речі чажкыми способами лем зато, же йих знавут и умівут йих хосновати.'' — <cite>[[:ru:Реймонд, Эрик Стивен|Ерік Реймонд]]</cite> ==== Саботаж ==== <div class="ts-Конец_цитаты-source">Зафіксовані трафункы, коли лайдацькі програмішты, хоснувучи силну контекстну зависимость C++ и недостаток возможностю удслідили макровызначіня компілатором, помалили розробку проєкта, коли написали єдно-два лишні, формално коректні з никаня компілатора, шорикы кода, айбо коли впровадили через то чажко выявителну, знівыдкы проявлявучу ся хыбу. Наприклад:</div> <syntaxhighlight lang="cpp">#define if(a) if(rand())</syntaxhighlight> <syntaxhighlight lang="cpp">#define j i</syntaxhighlight> У [[Чистота языка проґрамованя|языках из доказанов коректностьов]], онь из розвоєными макросредствами, нанести шкоду подобным способом не мож. ==== Ненадійность продукта ==== Невыправдана бивнота побучных ефекту у спойині з недостатком контролы з бока сістемы часа оконаня языка и слабов сістемов тіпу робит проґрамы на C++ вразливыми до непередвиденых фаталных порух (сполочнознамі «падіня» з оповістками ги «Access violation», «Pure virtual function call» авадь «Проґрама оконала недопустиму операцію й буде заперта»), што выключує хоснованя C++ у трафункови грубых требовань д удказостойкости. Кроме того, то щи додатково збулшує тримліня самого процеса розробкы. ==== Менеджмент проєкту ==== перечислині высше факторы роблят чажкость менеджмента проєкту на C++ єднов из самых высоких у индустрійи розроботкы [[Проґрамове забеспечіня|ПЗ]]. Джеймс Коґґінґс, котрый чотыри годы быв ведучым колонкы в ''The C++ Report'', дават такоє поясніня: ''— Проблема є в тому, же проґрамішты, котрі робили в ООП, експеріментовали з кровозмішаными аплікаціями й были націлині на низкый уровинь абстракційи. Наприклад, уни стройили класы, гий «зязаный список», взамін «интерфийс хосноватиля», авадь «зарі радіяційи», вадь «моделы з конченых елементу». Шкода што, стройна провірка тіпу, котра помагає проґраміштам C++ убходити хыбы, у тому самому часі учажит строїня грубых обєкту з малых.'' — <cite>[[:ru:Брукс, Фредерик|Ф. Брукс]], [[:ru:Мифический человеко-месяц|Мітічный чоловіко-місяць]]</cite> == Вплыв и алтернатівы == [[Файл:C_Cpp_compare.png|праворуч|міні|Проґрама «[[Hello, world!]]» на C тай C++.]] Єдиным прямым наслідником C++ є [[D (язык проґрамованя)|язык D]], задуманый гий переробка C++ діля вылучіня май очевидных го проблем. Авторы удказали ся уд сполочности з Сі, усокочувучи сінтаксіс и многі базові прінціпы C++ и уводжувучи в язык возможности, характирні про новых языку. В ''D'' ниє препроцесора, наголовочных файлу, множинного наслідованя, айбо є сістема модулу, интерфийсы, асоціятівны масивы, пудпора ''[[unicode]]'' у шора, харіня нехари (при усокочіню возможности особного кроманьованя тямов), устройина многопоточность, [[вывуд тіпу]], ясноє убявліня чистых функцій и неізмінных значинь. Хоснованя D є доста убграничиноє, и го мож лічити же реалного конкурента C++. Май старый конкурент C++ у задачах низкого урувня — [[Objective-C]], котрый так само, як C++, є побудованый на спойиню Сі из обєктнов моделов, лем же в Objective-C обєктна модела унаслідована уд ''[[Smalltalk]]''. ''Objective-C'', так само гий и його наслідник ''[[Swift]]'', широко ся хоснує діля розробкы софтвера пуд ''[[macOS]]'' и ''[[iOS]]''. Єднов из пирьвых алтернату C++ у аплікатівнум проґрамованьови став язык [[Java]]. Його часто неправилно лічат прямым наслідником C++; у дійсности його семантіка услідована уд языка ''[[Модула-2]]'', и основі семантікы C++ у ''Java'' ниє видимі. Беручи до увагы ґ''енеолоґію'' языку (''Модула-2'' є наслідником ''[[Сімула|Сімулы]]'', гий и ''C++'', айбо ним ниє ''Сі''), ''Java'' май привилно бы именовати «тройорудным братом» C++, а не «наслідником». То саме мож уповісти й за язык ''[[C Шарп|C#]]'', хоть ступінь його подобности д C++ є булш выразный, гий у ''Java''. Пробов спойиня безпечности й шустрости розробкы, характерных діля Java і C#, з возможностями C++ став [[Managed C++]] (впослідстві — [[C++/CLI]]). Зотвореный ''[[Microsoft Corporation|Microsoft]]'', головно діля переносу еґзістує C++ проєкту на платформу ''[[Microsoft.NET]]''. Проґрамы ся оконувут пуд кроманьованьом ''[[CLR]]'' и можут хосновати всьый арсенал бібліотек ''.NET'', айбо накладає ся шор убграничінь на хоснованя возможностю C++, што фактічно зводит C++ до уровня ''C#''. Тот діялект не дустав грубого признаня й є хоснованый головно про поязаня бібліотек, написаных на чистому C++, із ''C#''-аплікаціями. Алтернатівный путь розвоя языка Сі — його спойиня не з ООП, айбо з апплікатівным проґрамованьом, то значит поліпшіня абстракційи, стройности й модулности низкоруньовых проґрам позад забезпичіня передвединя повожіня й [[Удканська прозорость|удканської прозорости]]. Приміром такых робіт служат языкы ''BitC, Cyclone'' и ''Limbo''. Хоть и є успішні спробы хоснованя функціоналного проґрамованя у задачах реалного часу без интеґраційи з засобами Сі<ref>{{статя|автор=Zhanyong Wan and Paul Hudak|archiveurl=https://web.archive.org/web/20110816234039/http://www.cs.rice.edu/~taha/publications/conference/padl02.pdf|archivedate=2011-08-16|назва=Event-Driven FRP|выдавательство=Department of Computer Science, Yale University}}</ref><ref>{{Cite web|url=http://www.cs.rice.edu/~taha/publications/|title=Walid Taha|lang=en|website=School of Engineering Rice University|accessdate=2019-11-20|deadlink=yes|archiveurl=https://www.webcitation.org/6IqLu1AP0?url=http://www.cs.rice.edu/~taha/publications/|archivedate=2013-08-13}}</ref><ref>{{Cite web|url=http://www.it-c.dk/research/mlkit/index.php/Main_Page|title=MLKit|archiveurl=https://web.archive.org/web/20130917074849/http://www.it-c.dk/research/mlkit/index.php/Main_Page|archivedate=2013-09-17|deadlink=yes|accessdate=2013-07-30}}</ref>, же на даный момент ([[2013|2013 г]].) в низкоруньовуй розробци хоснованя Сі в рузнуй мірі дає майліпше зовыдношіня затрудливости й резултатівности. Много сил приложили розробникы ''[[Python]]'' і ''[[Lua]]'', убы забеспечити йих комфортноє хоснованя проґраміштами на C++. Из усьых языку, зязаных из функціоналнoв парадіґмов, самі Python і Lua майчасто ся хоснувут у спойині з C++ у єднум проєктови. Майзначными точками кываня C++ из функціоналным проґрамованьом — приязкы бібліотек [[wxWidgets]] і [[Qt]] (котрі зотворині в духу ідеолоґійи C++) до языку [[Lisp]], [[Haskell]] и [[Python]]. У булшости трафунку приязкы до функціоналных языку роблят про бібліотекы, написані на Сі авадь инакых функціоналных языках. Ищи єдным языком, на котрый никавут ги на конкурент C++, є [[Nemerle]] — выслідок поробы спойиня [[Модел тіпізації Гіндлі-Мілнера|модели тіпізаційи Гіндлі-Мілнера]] й макропудмножины [[Common Lisp]] из языком C#<ref>{{статя|автор=Чистяков Влад aka VladD2|archivedate=2013-12-13|archiveurl=https://web.archive.org/web/20131213061243/http://rsdn.ru/?article%2Fphilosophy%2FSyntacticSugar.xml|назва=Синтаксический сахар или C++ vs. Nemerle :)|выдавательство=RSDN Magazine #1-2006|рік=24.05.2006}}</ref>. У тому самому руслі лежит и зотвореный Microsoft язык [[F#]] — діялект [[ML]], адаптованый про міліє. NET. Пробов зотворити промысленну заміну Сі тай C++ став [[Go (язык проґрамованя)|Go]], розробленый корпораційов [[Google]] в [[2009|2009 році]]. Авторы языка прямо указали, же го зотворіня было мотівовано недостатками процеса розробкы, выкликаных особенностями языку Сі тай C++<ref name="designGo2">{{Cite web|url=https://talks.golang.org/2012/splash.article|title=Go at Google: Language Design in the Service of Software Engineering|publisher=talks.golang.org|accessdate=2017-09-19|archive-date=2021-01-25|archive-url=https://web.archive.org/web/20210125205239/https://talks.golang.org/2012/splash.article|deadlink=no}}</ref>. Go — компактный, простый у структурі імператівный язык из [[Сі самаравучі языкы проґрамованя|Сі-подобным]] сінтаксісом, без препроцесора, з статічнов тіпізаційов, стройным контролом тіпу, сістемов пакету, автоматічным кроманьованьом тямов, дакотрыми функціоналныма особностями, скромно побудованов ООП-пудсістемов без пудпоры наслідованя імплементаційи, айбо з интерфийсами й [[Качова тіпізація|качовов тіпізаційов]], встройинов многопоточностьов, основанов на зопроґрамах и каналах (в духови [[Occam]]). Язык ся позіціонує гий алтернатіва C++, то є передовшиткым засоб для командної розробкы высокоефектівных вылічытилных сістем великої чажкости, в тому й розподілиных, айбо допущавучуй низкоруньовоє проґрамованя. У єднуй карини з Сі тай C++ є и язык [[Rust (язык проґрамованя)|Rust]], розробленый у [[2010|2010 годі]] й пудпрьованый корпораційов [[Mozilla]]. Його головна орьєнтація — безпечноє кроманьованя тямов без зберача нехари. У частичнуй заміні Сі тай C++ на Rust в [[2019|2019 годі]] заинтеросовала ся й корпорація Microsoft<ref>{{Cite web|url=https://www.zdnet.com/article/microsoft-to-explore-using-rust/|title=Microsoft to explore using Rust|author=Catalin Cimpanu|date=2019-06-17|publisher=ZDNet|lang=en|accessdate=2019-09-26|archive-date=2019-10-15|archive-url=https://web.archive.org/web/20191015014736/https://www.zdnet.com/article/microsoft-to-explore-using-rust/|deadlink=no}}</ref>. У [[2022|2022 годі]] компанія Google представила експеріменталный язык [[Carbon]], зотвореный гий потенцічный наслідник C++. На розділ уд Rust, Carbon має забеспечити двонапрямову сполочность из C++ й ліпшу читабилность кода. == Популарні проґрамы зотворині на нюм == * [[Opera]] * [[μTorrent]] * [[Google Chrome]] * [[Visual Studio]] * [[C++ Builder]] * [[CATIA]] == Никай ся втож == * [[С (язык проґрамованя)|Сі]] * [[Язык проґрамованя]] * [[Обєктово орьєнтоване проґрамованя|Обєктово-орьєнтованоє проґрамованя]] * [[Objective-C]] * [[Managed C++]] * [[Visual Studio]] * [[C++ Builder]] == Пудміткы == <references responsive="1"></references> ;Думка <references group="думка" /> ;Убясниня <references group="Убясниня" /> ;Поясниня {{Reflist|group="пояснения"}} == Література == * {{книга |автор=[[Страуструп, Бярен|Бярен Страуструп]]. |назва=Язык программирования C++ |оріґінал=The C++ Programming Language |відповідальний=Тов. із англ |выдавательство=[[Невский диалект]] — [[Біном (выдавательстьво)|Біном]] |місто={{СПб}}; {{М}} |рік=1999 |сторінок=991 |isbn=5-7940-0031-7 (Невский диалект), ISBN 5-7989-0127-0 (Бином), ISBN 0-201-88954-4 (англ.) |тираж=3000 |ref=Страуструп}} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Специальное издание |оріґінал = The C++ programming language. Special edition |місто = М. |выдавательство = Бином-Пресс |рік = 2007 |сторінок = 1104 |isbn = 5-7989-0223-4 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика использования C++, исправленное издание |оріґінал = Programming: Principles and Practice Using C++ |сторінки = 1248 |isbn = 978-5-8459-1705-8 |рік = 2011 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] |ref= Страуструп, Программирование: принципы и практика использования C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Дизайн и эволюция C++ |оріґінал = The Design and Evolution of C++ |місто = СПб. |выдавательство = Пітер |рік = 2007 |сторінок = 445 |isbn = 5-469-01217-4 |ref= Страуструп, Дизайн и эволюция C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Краткий курс |рік = 2019 |сторінок = 320 |isbn = 978-5-907144-12-5 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика с использованием C++ |рік = 2016 |сторінок = 1328 |isbn = 978-5-8459-1949-6 }} * {{книга |назва = Освой самостоятельно C++ за 21 день, 7-е издание (C++11) |оріґінал = Sams Teach Yourself C++ in One Hour a Day, 7th Edition |автор = Сиддхартха Рао |сторінок = 688 |isbn = 978-5-8459-1825-3 |рік = 2013 |місто = М. |выдавательство = [[Вильямс (выдавательство)|«Вильямс»]] }} * {{книга |автор = Стефенс Д. Р. |назва = C++. Сборник рецептов |выдавательство = КУДИЦ-ПРЕСС |рік = 2007 |сторінок = 624 |isbn = 5-91136-030-6 }} * {{книга |автор = Стівен Прата. |назва = Язык программирования C++ (C++11). Лекции и упражнения |виданя = 6-е изд |оріґінал = C++ Primer Plus, 6th Edition (Developer’s Library) |сторінок = 1248 |isbn = 978-5-8459-1778-2 |рік = 2012 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Стивен Прата. |назва = Язык программирования С. Лекции и упражнения |сторінок = 928 |isbn = 978-5-8459-1950-2 |рік = 2015 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Айвор Гортон. |назва = Visual C++ 2010: полный курс |оріґінал = Ivor Horton’s Beginning Visual C++ 2010 |сторінки = 1216 |isbn = 978-5-8459-1698-3 |рік = 2010 |місто = М. |выдавательство = [[Діалектіка (выдавательство)|Діалектіка]] }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]]. |назва = Полный справочник по C++ |выданя = 4-е выданя |оріґінал = C++: The Complete Reference |сторінки = 800 |isbn = 978-5-8459-0489-8 |рік = 2011 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Виліямс]] |ref = Шилдт }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]] |назва = Теория и практика C++ |оріґінал = Shildt's Expert C++ |выдавательство = BHV — Санкт-Петербург |місто = {{СПб}} |рік = 1996 |isbn = 0-07-882209-2, 5-7791-0029-2 |ref = Шилдт, Теория и практика C++ }} * {{статя | назва = Programming Language Guessing Games - If C++ is the Answer, what’s the question? | автор = P.J. Plauger. | выдавательство = [[Dr. Dobb's Journal]] | рік = Октобер, 1993 | ref = Plauger }} * {{книга |назва=The Unix-Haters Handbook |url=http://web.mit.edu/~simsong/www/ugh.pdf |выдавательство=[[International Data Group]] |ref=Unix-Haters |язык=und |рік=1994 }} * {{статя | назва =A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition | автор = Ian Joyner. | url = http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf | выдавательство = [http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/cppcrit/index008.htm копирайт и список изданий] | рік = 1996 | ref = Joyner }} * {{книга |автор=Скотт Мейерс |назва=Эффективный и современный C++: 42 рекомендации по использованию C++11 и C++14 |оріґінал=Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 |відповідальний=Пер. с англ |выдавательство=Вильямс |рік=2016 |сторінок=304 |isbn=978-5-8459-2000-3 }} * {{книга | назва = C++ The Complete Reference Third Edition | url = https://archive.org/details/ccompletereferen00schi_1 | автор = [[Шилдт, Герберт|Herbert Schildt]]. | выдавательство = Osborne McGraw-Hill | рік = 1998 | isbn = 978-0-07-882476-0 |ref = Шилдт }} * [https://rooksguide.org Jeremy A. Hansen. The Rook’s Guide to C++ (A Creative Commons-Licensed Textbook)]. == Удкликаня == * isocpp.org (англ.) — офіційный сайт C++ ** [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/ рабочие материалы комитета по стандартизации за 2009-й год] * Бярен Страуструп. [https://github.com/isocpp/ CppCoreGuidelines]{{Ref-en}} The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++ * Бярен Страуструп. [http://www.artima.com/cppsource/cpp0x.html Краткий обзор C++0x]{{Ref-en}} * [http://groups.google.com/group/comp.lang.c++.moderated/topics comp.lang.c++.moderated]{{Ref-en}} * {{Cite web |title=C++ FQA Lite |author=Yossi Kreinin. |url=http://yosefk.com/c++fqa/index.html |access-date= |archiveurl= |archivedate= |ref=C++ FQA }} * {{Cite web |author=[[Торвалдс, Лінус|Лінус Торвалдс]]. |title=Convert builin-mailinfo.c to use The Better String Library |publisher=[http://thread.gmane.org Gmane forum] |url=http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |date=2007-09-06 |archiveurl=https://web.archive.org/web/20131209133259/http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |archivedate=2013-12-09 |ref=Torvalds_Gmane }} [[Катеґорія:С++]] [[Катеґорія:Языкы проґрамованя]] [[Катеґорія:Статя написана мараморошськым ґваром]] [[Катеґорія:Сі самаравучі языкы проґрамованя]] [[Катеґорія:Высокорунёві языкы проґрамованя]] [[Катеґорія:Языкы проґрамованя із особным кроманёванём тямов]] pfzu7qec0gj7xebv7imvbc7yn2w4lms 170250 170249 2026-09-23T22:36:38Z Halajkovič 33393 170250 wikitext text/x-wiki {{Інфобокс языка проґрамованя |name=C++ |paradigm=[[Парадіґма_проґрамованя#Мултіпарадіґмовый язык проґрамованя|Мултіпарадіґмовый]]: [[Обєктово-орьєнтованоє проґрамованя|обєктово-орьєнтованый]], [[сполочноє проґрамованя|сполочный]], [[Процедурноє проґрамованя|процедурный]] |year=[[1985]] |designer=[[Бярен Страуструп]] |developer={{не перекладено|треба=ISO/IEC JTC1/SC22|мова=en|є=ISO/IEC JTC 1/SC 22}}/WG21 |typing=[[Статічна тіпізація|Статічный]], [[Номінатівна сістема тіпізаційи|Номінатівный]] |implementations=[[GNU Compiler Collection|G++]], [[Microsoft Visual C++]], [[Borland C++ Builder]], [[Clang]] |dialects=ISO/IEC 14882:1998, 2003, 2011, 2014, 2017, 2023 |influenced=[[Ada (Язык проґрамованя)|Ada 95]], [[C Шарп|C#]], [[Java (Язык проґрамованя)|Java]], [[PHP]], [[D (Язык проґрамованя)|D]], [[Aikido (Язык проґрамованя)|Aikido]], [[Dao (Язык проґрамованя)|Dao]], [[Rust (язык проґрамованя)|Rust]] |website={{URL|https://isocpp.org/}} |лоґо=[[Файл:ISO_C++_Logo.svg|200px]] |latest release date=19 уктобра 2024 |latest release version=ISO/IEC 14882:2024 [[C++23]] }} '''C++''' (читат ся гий '''''сі-плус-плус'''''<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html#name |title=Bjarne Stroustrup's FAQ |quote=The name C++ (pronounced "see plus plus") |date=October 1, 2017 |publisher=Bjarne Stroustrup |language=en |access-date=2017-12-04 |archivedate=2016-02-06 |archiveurl=https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#name }}</ref> даколи ся скорочує до '''CPP (сі-пі-пі)''') — у основном [[Компілованый язык проґрамованя|компілованый]], [[Штатічна тіпізація|статічно тіпізованый]], [[Сі самаравучі языкы проґрамованя|C-самаравучый]], [[язык проґрамованя]] [[Язык проґрамованя обобщеного призначіня|сполочного призначіня]], [[Высокорунёві языкы проґрамованя|высокого уровня]], зотвореный [[Даны|данськым]] компютерным ученым [[Бярен Страструп|Бяреном Страструпом]], котрый зачав го робити в [[AT&T]] [[Bell Laboratories]] ([[Муррей-Гілл, Ню-Джерзі|Муррей-Гілл, Ню Джерзі]]) у [[1979|1979 годови]]. Выпусшеный у [[1985|1985 годови]], гий розширіня про [[С (язык проґрамованя)|языка проґрамованя С]], головнов го ідийов было додати [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]] можности у [[С (язык проґрамованя)|Сі]], спозад чого мав имня «'''C with classes'''» (<nowiki>«</nowiki>[[Русиньскый язык|русин.]] '''Сі из класами'''»), из тых часу язык ся дуже розвойив. Из [[1997]], C++ має [[Обєктово орьєнтоване проґрамованя|обєктно-орьєнтовані]], сполочні тай функціоналні функційи, звирьху д можности убробкы [[Компютерна тяма|тямы]] на [[Низькорунёві языкы проґрамованя|низкум уровни]] про такых сістему, ги [[мікрокомпютер]]ы, авадь діля зотворіня [[Операчна сістема|оперчных сістем]], наприклад хосновав ся у [[Microsoft Windows|Windows]] и [[Linux]]. [[компілаторы C++]] надавут: [[Free Software Foundation]], [[LLVM]], [[Microsoft Corporation|Microsoft]], [[Intel]], [[Embarcadero]], [[Oracle]] тай [[IBM]]<ref name="stroustruptcpppl">{{Cite book|last=Stroustrup|first=Bjarne|author-link=Bjarne Stroustrup|title=The C++ Programming Language|year=1997|edition=Third|chapter=1|publisher=Addison-Wesley|isbn=0-201-88954-4|oclc=59193992|url=https://archive.org/details/cprogramminglang00stro_0}}</ref>. Упирьвоє описаный у меженароднум штандарті [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 ([[C++98]]), выдтуть выходили сякі вирзійи: [[C++03]], [[C++11]], [[C++14]], [[C++17]], [[C++20]], [[C++23]]. Май актулным стандартом же є [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2024 ([[C++23]])<ref>{{Cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 |publisher=International Organization for Standardization |access-date=21 October 2024}}</ref>. Пудпорює такі [[Парадіґма проґрамованя|парадіґмы проґрамованя]], ги [[процедурне проґрамованя|процедурноє проґрамованя]], [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованоє проґрамованя]], тай [[сполочне проґрамованя|сполочноє проґрамованя]]. Язык має грубу штандартову бібіліотеку, котора включат у себе поширині контийнеры й [[Алґорітм|алґорітмы]], увожіня-вывожіня, реґуларні выражіня, пудпору [[Многопоточность|многопоточности]] тай другі можности. C++ має у собі особенности як и [[Высокорунёвый язык проґрамованя|высокоурувньовых]], так и [[Низькорунёвый язык проґрамованя|низкоурувньовых языку]]. Руняно из спередущым — языком [[C (язык проґрамованя)|C]] — має май грубу увагу д пудпорі [[Обєктово орьєнтоване проґрамованя|обєктово-орьєнтованого]] тай [[Сполочне проґрамованя|сполочного проґрамованя]]{{Sfn|Страуструп|1999}}. C++ Широко хоснує ся про розробку [[Проґрамне засобованя|проґрамного засобованя]], є єдным из майпопуларных коду проґрамованя, по убзвідованям [[2015|2015 года]], кулькость проґрамішту Сі++ є около 4,4 міліону<ref>{{Cite web |url=http://www.stroustrup.com/bs_faq.html |author=Бярен Страуструп |language=анґліцькы |date=2015-04-16 |title=Bjarne Stroustrup’s FAQ }}</ref><ref>{{Cite web |url=https://blog.jetbrains.com/clion/2015/07/infographics-cpp-facts-before-clion/ |language=анґліцькы |date=2015-07-27 |title=Infographic: C/C++ Facts We Learned Before Going Ahead with CLion {{!}} The CLion Blog |publication-date=2023-09-23 |publisher=The JetBrains Blog }}</ref>. Область го хоснованя включат зотворіня [[Операчна сістема|операчных сістем]], рузных [[Прикладна проґрама|прикладных проґрам]], [[Драйвер|драйверу]], аплікацій про встройиных сістем, высокопродутівных [[Сервер|серверу]], ай тоже [[Компютерна бавка|компютерных бавок]]. Є много реалізацій языка C++, як и задарьных, так и комерційных и діля рузных платформ. Наприклад, про платформы [[x86]] то є [[GNU Compiler Collection|GCC]], [[Clang]], [[Microsoft Visual C++|Visual C++]], [[Intel C++ Compiler]], [[C++ Builder|Embarcadero (Borland) C++ Builder]] тай инакі. C++ мав грубиньськый уплыв на другі языкы проґрамованя, майсилно на [[Java]], [[C#]] и [[Rust (язык проґрамованя)|Rust]]. Сінтаксіс C++ унаслідує ся уд языка [[С (язык проґрамованя)|С]]. На зачинаньови єдным из прінціпу розробкы было усокочіня сполочливости из С. айбо, при тум, C++ ниє у строгум змыслови надмножинов С: кулькость проґрам, которі можут єдинако добре трансловати ся як и [[Компілатор|компілаторами]] Сі, так и компілаторами C++, доста велика, айбо не включає всякі возможні проґрамы на С. Неникавучи ся на широкоє принятя языка, його крітіковали такі доста знані проґрамішты ги [[Лінус Сторвалдс]], [[Річард Сталлман]], [[Джошуа Блох]], [[Кен Томпсон]] тай [[Доналд Кнот]]. == Історія == {| class="wikitable" align="right" !історичный етап розвоя<ref>Стенли Ліппман, [http://msdn.microsoft.com/en-us/magazine/cc163681.aspx Pure C++: Hello, C++/CLI] </ref> !Гуд |- |Язык [[BCPL]] |[[1966]] |- |Язык [[B (язык проґрамованя)|Бі]] (оріґінална розробка [[Томпсон, Кен|Томпсона]] пуд [[UNIX]]) |[[1969]] |- |Язык [[С (язык проґрамованя)|Сі]] |[[1972]] |- |«Сі из класами» |[[1980]] |- |C84 |[[1984]] |- |[[Cfront]] (выпуск E) |[[1984]] |- |Cfront (выпуск 1.0) |[[1985]] |- |Множинноє/віртуалноє наслідованя |[[1988]] |- |Сполочноє проґрамованя ([[Шаблоны С++|шаблоны]]) |[[1991]] |- |ANSI C++ / ISO-C++ |[[1996]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 |[[1998]] |- |[[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003 |[[2003]] |- |[[C++/CLI]] |[[2005]] |- |[[TR1]] |[[2005]] |- |[[C++11]] |[[2011]] |- |[[C++14]] |[[2014]] |- |[[C++17]] |[[2017]] |- |[[C++20]] |[[2020]] |- |[[C++23]] |[[2023]] |- |[[C++26]] |[[2024]] |} === Зотворіня === [[Язык проґрамованя|Язык]] появив ся у зачинаньови [[1980-ті рокы|1980 году]], коли робутник фірмы [[Bell Laboratories|Bell Labs]] [[Бярен Штрауштруп|Бярен Страуструп]] придумав шор изліпшинь ид языкови [[C (Язык проґрамованя)|Сі]] пуд свої потребности{{Sfn|Страуструп|1999}}. Коли в кунци 1970-ых году Страуструп зачав робити в Bell Labs над задачами теорійи очерідий (у проґрамі діля моделованя телефонных выклику), Бярен увидів, што коли ун пробовав убхосновати еґзістовавші у тот час языкы проґрамованя, моделованя указали ся неефектівными, а убхоснованя высокоефектівных машинных языку [[Коды проґрамованя низького руня|низкого уровня]], выйшло дуже чажкоє. Позад йихньої ограничиности у выражиньови кода й потребности контроловати булшость процесу. Сяк, язык [[Сімула (Язык проґрамованя)|Сімула]] має такі возможности, котрых дуже гія было діля розробкы май грубого проґрамного засобованя, айбо робит ун дуже помалы, а язык [[BCPL]] доста быстрый, айбо дуже близкый ид языкам низкого уровня и не пудходив діля розробкы май грубого проґрамного засобованя. [[Файл:BjarneStroustrup.jpg|посилання=https://uk.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9%D0%BB:BjarneStroustrup.jpg|міні|[[Бярен Страуструп]], твориць C++, у свойому офісови AT&T New Jersey, c. 2000]] Притямивши досвід свойої кандідатської дісертаційи, Страуструп вырішив доповнити язык C (наслідник BCPL) возможностями, котрі были в языкови Сімула. Язык Сі, будучи базовым языком сістемы [[Unix]], на котруй робили компютеры Bell, є быстрым, многофункціоналным и переносимым. Страуструп добавив ид нему возможность роботы з класами и обєктами. У выслідках практічні задачі моделованя указали ся доступными діля вырішіня як из бока часа розробкы (дякувучи хоснованьови подобавучых класу), так и з бока часа убчисліня (дякувучи скороті C). У пирьву очеридь у C были додані класы (из [[Інкапсуляция (проґрамованя)|инкапсулаційов]]), наслідованьом класу, строга провірка тіпу, inline-функційи й [[арґументы за мовчанём|арґументы за мовчаньом]]. Пирьві вирзійи языка, якый иззачинаня кликав ся «C with classes» («Сі из класами»), стали доступныма з [[1980|1980 года]]. Коли Страуструп розробляв «Сі из класами», ун написав проґраму [[cfront]] — [[транслатор]], якый переробляв выхудный код свого языка в выхудный код простого Сі. Сесе позволило робити над новым языком и хосновати го на практіці, хоснувучи ужек мавучу в unix-инфраструктуру діля розробкы на Сі. Новый язык нечекано про автора дустав грубу популарность помеже колеґ и скоро Страуструп ужек не муг лично пудпорьовати його, удповідавучи на тисячі звідань. Ид [[1983|1983 годови]] в язык были додані нові возможности, такі ги віртуалні функційи, переубтирьханя функцій и оператору, удкликаня, константы, хосноватильськоє контролованя над кроманьованьом слобуднов тямов, изліпшина перевірка тіпа й коментарі в стілі BCPL (<code>//</code>). Дуставшый ся язык ужек перестав быти просто доповненов вирзійов класічного C и быв перейменованый из «''Сі из класами''» на «''C++''». Його пирьвый комерційный выпуск став ся в [[Октобер|октобри]] [[1985|1985 года]]. До зачинаня офіцічної штандартізаційи язык розвойовав ся по булшости силов Страуструпа в удказ на жаданя проґрамістської сполочности. Функцію штандартного описаня языка додержовали написані Cтрауcтрупом пичатні роботы по C++ (описаня языка, діловоє вединя й так дале). И лем у [[1998|1998 годови]] быв ратіфікованый меженародный штандарт языка C++: [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 «Standard for the C++ Programming Language»; по принятьови технічных правок штандарта в [[2003|2003 годови]] — слідувуча вирзія сего штандарта — [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003<ref>{{Cite web |url=http://www.open-std.org/jtc1/sc22/wg21/docs/standards |title=C++ — Standards |access-date=2010-11-14 |archivedate=2010-11-20 |archiveurl=https://web.archive.org/web/20101120215619/http://www.open-std.org/jtc1/sc22/wg21/docs/standards }}</ref>. Из [[Януар|янувара]] [[2018|2018 года]] Страуструп быв уголошеный лауреатом примійи Чарлза Старка Дрейпера позад инженірьскої діятилности в 2018 годови «за концептуалізацію тай розробку языка проґрамованя C++».<ref>{{Cite web |url=https://www.nae.edu/177355.aspx |date=3 Януара 2018 |title=Computer Science Pioneer Bjarne Stroustrup to Receive the 2018 Charles Stark Draper Prize for Engineering |publisher=National Academy of Engineering |archivedate=14 Децембра 2021 |archiveurl=https://web.archive.org/web/20180103190112/https://www.nae.edu/177355.aspx }}</ref> У [[Децембер|децембрьови]] [[2022|2022 года]] C++ засів тритьоє місто в индексови TIOBE, тым же выпередив [[Java]] пирьвый раз у історійи индекса. На [[новембер|новембирь]] [[2024|2024 года]] язык засідає другоє місто по [[Python]], а Java — тритьоє.<ref>{{cite web |url=https://www.tiobe.com/tiobe-index/ |title=TIOBE Index for November 2024 |author=TIOBE |date=November 2024 |website=TIOBE.com |publisher=TIOBE Company |access-date=18 November 2024 |archive-date=18 November 2024 |archive-url=https://web.archive.org/web/20241118090936/https://www.tiobe.com/tiobe-index/ |url-status=live }}</ref> === Розвуй и штандартізація языка === У [[1985]] ищи до выпуска офіцічного штандарта, выйшло пирьвоє выданя книжкы <nowiki>«</nowiki>[[Язык проґрамованя C++]]<nowiki>«</nowiki>.<ref name="1st-edition3">{{cite web |url=http://www.stroustrup.com/1st.html |title=The C++ Programming Language |edition=First |first=Бярен |last=Страуструп |access-date=16 September 2010 |archive-date=9 August 2012 |archive-url=https://web.archive.org/web/20120809032136/http://www.stroustrup.com/1st.html |url-status=live }}</ref> Пирьва комерційна реалізація выйшла в [[Октобер|октобри]] того же года.<ref>''Страуструп, Бярне (7 Марца 2010). "[https://www.stroustrup.com/bs_faq.html#invention Bjarne Stroustrup's FAQ: When was C++ invented?]". stroustrup.com. [https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#invention Archived] з оріґінала 6 фебруара 2016 года. Одержано 16 септембра 2010 года.''</ref> Ся книжка дає пирьвоє описаня языка, што было воле важно позад того, што не было офіцічного штандарта. У [[1989|1989 годови]] став ся выхуд C++ вирзійи 2.0. Єї нові возможности включали несчислиность наслідованя, абстрактні класы, статічні функційи-части, функційи-константы и сокочині части. У [[1990|1990 годови]] вышло «Коментованоє діловоє руководство за C++», котроє, у послідку стало основов штандарта. Послідні убновіня мали у собі шаблоны, выключіня, простур имнен, нові способы привединя тіпа и буловый тіп. Подля основы діля сокочіня й доступа д сполочным алґорітмам была выбрана [[Штандартна бібліотека шаблону|Штандартова бібліотека шаблону (STL)]], розроблена [[Олександр Степанов|Александром Степановым]]<ref name="STL">{{Cite web |date=7 Марца 1994 |url=http://www.stepanovpapers.com/Stepanov-The_Standard_Template_Library-1994.pdf |title=Hewlett-Packard, Technical Report X3J16/94-0095, WG21/N0482 |publisher=The Standard Template Library |author=[[Александр Степанов]] }}</ref> и [[Менґ Лі]]. [[Штандартна бібліотека C++|Штандартова бібліотека C++]] тоже розвойила ся у рокаши з ним. Пирьвым доданьом д штандартовуй бібліотеци C++ стали потокы увожіня-вывожіня, задавучі возможности про заміны традіцічных функцій C <code>printf</code> и <code>scanf</code>. май пузно силным розвойом стандартової бібліотекы стало додаваня у ниї [[Штандартна бібліотека шаблону|Штандартової бібліотекы шаблону]]. * Офіцічна штандартізація языка зачала ся у [[1998|1998 годови]], кой быв опублікованый штандарт [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:1998 (знаный гий C++98)<ref>{{Cite web |author=Bjarne Stroustrup. |title=C++ Glossary |url=http://www.research.att.com/~bs/glossary.html |access-date=2007-06-08 |archiveurl=https://web.archive.org/web/20110501150638/http://www2.research.att.com/~bs/glossary.html |archivedate=2011-05-01 }}</ref>, розробленый комітетом по штандартізаційи C++ ([[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] JTC1/SC22/WG21 working group). Штандарт C++ не описовав способу именованя обєкту, дакотрых деталий убробкы выключных и другых можностий, изкапчаных из деталами реалізаційи, што робит незовмісным обєктный код, зотвореный рузными компілаторами. Айбо діля сего иншыми людми было зотворено много штандарту діля конкретных [[Архітектара компютера|архітектур]] тай [[Операчна сістема|операчных сістем]]. * У [[2003|2003 годови]] быв опублікованый штандарт C++ [[Миженародна орґанізация по штандартізациї|ISO]]/[[Миженародна електротехнічна комісія|IEC]] 14882:2003, де были выправлині явивші ся хыбы и недоробкы спередущої вирзійи штандарта. У [[2005|2005 годови]] быв опублікованый звід Library Technical Report 1 (накурто именованый TR1). Ниє офіцічно частьов штандарта, звід описує розширіня штандартної бібліотекы, котрі, за думков автору, мавут быти включині у слідувучу вирзію штандарта. Ступінь пудпоры TR1 изліпшує ся майжек в усьых пудпорювучых компілаторах языка C++. * Из [[2009|2009 года]] ийшла робота по убновіньови спередущого штандарта. Выхудна вирзія называла ся C++09, у слідувущуму годови ю перейменовали на C++0x. Штандарт быв опублікованый у [[2011|2011 годови]] тай именованый [[C++11]]. У него включині доповніня у ядрови языка й розширіня штандартної бібліотекы, в тому числови груба часть TR1. * Слідувуща вирзія штандарта, [[C++14]], выйшла в [[Авґуст|авґустови]] [[2014 года]]. Уна має у собі в основному уточніня тай выправліня хыб спередущої вирзійи. * Штандарт [[C++17]], опублікованый у [[Децембер|децембрьови]] [[2017|2017 года]], включив у штандартну бібліотеку паралилні вирзійи штандартных алґорітму й зрушив дакотрі старі тай дуже рідко хоснуйимі елементы. * Послідня штабілна на типирішньый момент робляча вирзія штандарта — [[C++20]]. Меже вшиткым, ун має у собі прінціпно новоє — пудпору модулу. * Штандарт [[C++23]] на даный момент актівно убговорює ся комітетом [[Миженародна орґанізация по штандартізациї|ISO]]. C++ дале розвойив ся, про то убы удповідати типирішным жаданям. Єдна з ґруп, розроблявучых язык C++ и направлявучых комітетови по штандартізаційи C++ предклала його изліпшиня — то [[Boost]], котра занимат ся, у тому числі, довершиньом возможностю языка путьом добавліня у него особенностю [[метапроґрамованя]]. Нико не має права на язык C++, ун є слобудным. Айбо сам документ штандарта языка (за выключиньом чорновика) не доступный задарь. У рамках процеса штандартізаційи [[Миженародна орґанізация по штандартізациї|ISO]] выпускає дакулько виду выдань. У частности, технічні звіды тай технічні характерістікы публікувут ся, коли «видко будучность, айбо ниє доразної возможности на погоджіня діля публікаційи меженародного штандарта.» До [[2011|2011 года]] было опубліковано три технічні звіда по C++: TR 19768: 2007 (тоже знаный ги C++, Технічный звід 1) про розширіня бібліотекы в основному интеґрованый у C++11, TR 29124: 2010 про шпеціялных математічных функцій, і TR 24733: 2011 про десятичної арітметікы из плававучов точков. Технічна шпеціфікація DTS 18822: 2014 (по файловуй сістемі) была утвержена в зачинаньови [[2015|2015 года]], и другі технічні характерістікы находят ся у стадійи розвоя й чекавут одобріня. У [[Марец|марцьови]] [[2016|2016 года]] в [[Росія|Російи]] была зотворена робоча ґрупа [[РГ21 C++|РҐ21 C++]]. ґрупа была орґанізована про збур жадань до штандарта C++, и выправліня йих у комітет и сокочіня на сполочных зборах Меженароднов орґанізаційов по штандартізаційи ([[Миженародна орґанізация по штандартізациї|ISO]])<ref name="sozd">{{Cite web |url=http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html |title=Яндекс организует рабочую группу по стандартизации языка C++ |language=ru |access-date=2018-08-29 |publisher=ИКС Медиа |archivedate=2018-08-29 |archiveurl=https://web.archive.org/web/20180829212016/http://www.iksmedia.ru/news/5298228-Yandeks-sozdaet-rabochuyu-gruppu.html }}</ref>. === Історія имня === Имня «Сі++» было выдуманоє [[Рік Масітті|Ріком Масітті]] (Rick Mascitti) и пирьвый раз было захоснованоє у [[Децембер|децемброви]] [[1983|1983 года]]. Май скоро, на етапови чиніня, новый язык называв ся «Сі из класами». Имня, што выйшло у выслідкови, выходит уд оператора Сі «<code>++</code>» (Избулшіня значіня змінної на єденицю) тай поширеному способови присвойиня новых имен компютерным проґрамам, што лежит у додаваньови до имня сімбола «<code>+</code>» для позначіня изліпшинь. ведля Страуструпа, «се имня указує на еволуційну природу міняня Сі». Имньом «С+» называли скуршый, не скапчаным из С++ язык проґрамованя. Язык тож не называв ся D, того што «''ун є розширіньом C и не старає ся выправляти хыбы путьом зрушіня елементу C''»{{sfn|Страуструп|1999|loc=1.4. Исторические замечания|сторінки=46}} Дакотрі проґрамішты на Сі можут замітити, што, аж оконувут ся выразы <code>х=3; y=x++;</code> то у выслідкови выйде <code>х=4</code> і <code>y=3</code>, того што <code>x</code> ся збулшує лем по [[Оператор присвойиня|присвойиньови]] го до <code>y</code>. айбо, аж другый выраз буде <code>y=++x;</code> то выйде <code>x=4</code> и <code>y=4</code>. Выходячи из сего, мож учинити выслідок, што май лоґічно было бы называти язык не Сі++, а ++Сі. айбо обадва выразы c++ и ++c избулшувут с, ай поза тым, выраз c++ є май пошириным. Педанты тож можут уповісти, што увединя языка Сі++ не міняє самого Сі, того май біжным имньом было бы «С+1». === Філозофія C++ === У книжци «Дізайн а еволуція C++»{{Sfn|Страуструп, Дизайн и эволюция C++|2007}} [[Берен Страуструп]] описує прінціпы, котрых ун додержовав ся при проєктованьови C++. Сесі прінціпы убяснявут, чого C++ именно сякый, ги ун є. Дакотрі з них: * Получити універзалный язык из штатістічными тіпами даных, ефектівностьов и переносимостьов языка C. * Безпосередно тай всядыбоково пудпорьовати лум штилю проґрамованя, у тум числі [[процедурне проґрамованя|процедурноє проґрамованя]], [[абстракцію даных]], [[Обєктово орьєнтоване проґрамованя|обєктово-орєнтованоє проґрамованя]] тай [[убобщене проґрамованя|сполочноє проґрамованя]]. * Дати проґрамістови слободу выбора, дажий, аж се даст му возможность выберати неправилно. * Максімално усокотити сполочность из C, тым же учинити возможным легкый перехуд уд проґрамованя на C. * Убыйти рузночитаность меже C і C++: кажда конштрукція, допустима в обадвох языках, мусит у каждых из них означати єдно, тай идводити д єдному повожіньови проґрамы. * Убыйти особенности, котрі залежат уд платформы авадь не сут універзалными. * «Не платити за то, што не ся хоснує» — анияка языкова возможность не має доводити ид знижіньови продуктованя проґрам, не хоснувучых йих. * Не требовати дуже убтяженоє міліє проґрамованя. == Убозріня языка == Штандарт C++ склдат ся из двох основных частий: описаня ядра языка тай описаня штандартної бібліотекы. Пирьвый час язык розвивав ся поза формалных рамок, спонтанно, за міров поставшых сперед ним задач. Розвойови языка допровожовав розвуй [[Крос-компілатор|крос-компілатора]] [[cfront]]. Убновіня у языкови выдавали ся на зміні нумера вирзійи крос-компілатора. Сесі нумера вирзій крос-компілатора розусяжовали ся й на самый язык, айбо до днисьшных часу бисіду про вирзію языка C++ не ведут. Лем у 1998 годови язык став штандартізованым. * C++ пудпорює як коментарі ги в стілі C (<code>/* коментарь */</code>), так и єдношорові (<code>// вшитка послідувуча часть шорика буде коментарьом</code>), де <code>//</code> означат зачинаня коментаря, а май близкый слідувучый сімбол нового шора, котрому не передує сімбол <code>\</code> (вадь еквівалентный йому убозначиный <code>??/</code>), рахує ся кунцьом коментаря. Плус сего коментаря у тум, што го не мусай заперати, циже убозначовати кониць коментаря. * Шпеціфікатор <code>inline</code> про функцій. Функція, дефінована вудну тіла класа, є inline за замовчіньом. Даный шпеціфікатор є пудказков компілаторови й може встройити тіло функційи у код умісто ю безпосередного выклика. * Кваліфікаторы <code>const</code> и <code>volatile</code>. На розділ выд С, де <code>const</code> означає лем доступ про читаня, у C++ змінна из кваліфікатором <code>const</code> має быти иніціялізована. <code>volatile</code> хоснує ся у описови змінных и информує компілатор, што значиня даної змінної може быти поміняно способом, котрый компілатор не годен про то убы увидіти. Про змінных, установленых <code>volatile</code>, компілатор не мусит зачинати дії про оптімізацію, мінявучі положіня змінної у тямі (наприклад, розміщувучи ю у реґістрови) авадь покладавучи ся на непоміняность значіня змінної у просторі меже двома значінями, котрі ся юй призначавут. * [[Простур имен (проґрамованя)|Простур имен]] (<code>namespace</code>). Приклад: Выбираня именно С гий основы про зотворіня языка проґрамованя убяснявут, тым, што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит про вырішіня булшости сістемных задач; # Оконаня усюды й на всьому; # Стыкує ся з мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык программирования C++. Раздел 1.6</cite></div> Шпеціялным трафунком є безименный простур имен. Вшиткі имена, описані в нему, доступні лем у біжнуй єденици транслаційи і мавут локалноє скапчаня. Простур имен <code>std</code> має у собі штандартні бібліотекы C++, простур имен [[chrono (C++)|chrono]] має функційи про роботы з єденицями часа з с chrono. * Про роботу з тямов додані операторы <code>new</code>, <code>new[]</code>, <code>delete</code> тай <code>delete[]</code>. На розділ уд бібліотековых malloc и free, прийшовшых из C, дані операторы чинят иніціялізацію обєкта. Про класу — то є выклик конструктора, діля [[Проста штруктура даных|POD]]-тіпу иніціялізацію мож вадь не проводити (<code>new Pod;</code>) вадь провести иніціялізацію нуловыми значінями (<code>new Pod(); new Pod {};</code>). === Тіпы === У C++ доступні слідувучі встановлині тіпы. Тіпы C++ практічно повностю повторявут [[тіпы даных у C]]:<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref> {| class="wikitable" | rowspan="2" |'''Тіп даных''' |'''Вага''' | rowspan="2" |'''Сінтаксіс''' |- |'''Информація''' |- | colspan="3" |'''Сімболні тіпы<ref>[https://learn.microsoft.com/uk-ua/cpp/cpp/char-wchar-t-char16-t-char32-t?view=msvc-170 char, wchar_t, char16_t, char32_t (Microsoft Docs)]</ref>''' |- | rowspan="2" |<code>'''char'''</code> |1 [[байт]](8 [[біт]]) | rowspan="2" |<code>char ch1 = 'A';</code> авадь <code>char ch1 = 65;</code> , што є ідентічно, бо сімбол «A» стойит у ASCII пуд значінём 65. |- |може сокотити в собі сімбол( його чиловоє значіня [[ASCII]]). |- | rowspan="2" |<code>'''wchar_t'''</code> |2 ~ 4 байт(16 ~ 32 біт) зависимо уд платформы | rowspan="2" |<code>wchar_t ch2 = L'Я';</code> |- |Хоснує взамін ASCII [[UTF-16]] на [[Windows операчні сістемы|Windows]], [[UTF-32]] на другых сістемах, на Windows його рекомедувут хосновати лем при роботі з [[Windows API]]<ref>[https://ravesli.com/urok-35-simvolnyj-tip-dannyh-char/#toc-7 Урок 35. Символьный тип данных (char)]</ref>. Доданый у [[C++11|C++ 11]]. |- | rowspan="2" |<code>'''char8_t'''</code> |1 байт(8 біт) | rowspan="2" |<code>char8_t ch8 = u8'A';</code> |- |Тот же <code>'''char'''</code>,лем назнчиный про роботу з сімболами [[UTF-8]]. Має літерал <code>u8</code>.Тіп доданый у [[C++20]]. |- | rowspan="2" |<code>'''char16_t'''</code> |2 байт(16 біт) | rowspan="2" |<code>char16_t ch16 = u'あ';</code> |- |Зотвореный діля роботы з [[UTF-16]]. Має літерал <code>u</code>.Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''char32_t'''</code> |4 байт(32 біт) | rowspan="2" |<code>char32_t ch32 = U'😊';</code> |- |Зотвореный діля роботы з [[UTF-32]].Має літерал <code>U</code>.Тіп доданый у [[C++11]]. |- | colspan="3" |'''Цілочисилні знакові<ref name=":1">[https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Діапазони типів даних (Microsoft Docs)]</ref>''' |- | rowspan="2" |'''<code>short</code>(<code>short int)</code>''' |2 байт(16 біт) | rowspan="2" |<code>short si = -20000;</code> |- |Може сокотити у собі числові значіня уд -32 768 до 32 767. Хоснує ся діля скочіня тямы. |- | rowspan="2" |'''<code>int</code>''' |4 байт(32 біт) | rowspan="2" |<code>int i = 1000000;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647. Май часто ся хоснує діля роботы з цілыми числами, має оптімалный баланс меже вагов, и діяпазоном значинь. |- | rowspan="2" |<code>'''long(long int)'''</code> |4 ~ 8 байт(32 ~ 64 біт) зависимо уд платформы | rowspan="2" |<code>long int li = 3000000000L;</code> |- |Може сокотити у собі числові значіня уд -2 147 483 648 до 2 147 483 647 авадь -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисел. На 32-бітных сістемах у основному має тоту же вагу, што й '''<code>int</code>'''. Має літерал <code>'''L'''</code>. |- | rowspan="2" |<code>'''long long'''</code> |8 байт(64 біт) | rowspan="2" |<code>long long lli = 9000000000000000000LL;</code> |- |Може сокотити у собі числові значіня уд -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Хоснує ся діля сокочіня грубых чисил. Має літерал <code>'''LL'''</code>. Тіп доданый у [[C++11]]. |- | rowspan="2" |<code>'''__intN''':</code><ref name=":2">[https://learn.microsoft.com/ru-ru/cpp/cpp/int8-int16-int32-int64?view=msvc-170 __int8, __int16, __int32, __int64 (Microsoft Docs)]</ref> |N - число біт | rowspan="2" |<code>__int8 i8 = 100;</code><ref name=":2" /> |- |Зотворено, вбы особно вказовати число біт, наприклад: <code>__int8</code>(8 біт), <code>__int16</code>(16 біт), <code>__int32</code>(32 біт), <code>__int64</code>(64 біт), можут сокотити у собі числові значіня уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup>-1<ref name=":0">[https://acode.com.ua/urok-34-tsilochyselni-typy-danyh-short-int-i-long/#toc-2 Цілочисельні типи даних]</ref>. |- | colspan="3" |'''Из [[Плававуча крапка|плававучов крапков]]<ref name=":1" />''' |- | rowspan="2" |<code>'''float'''</code> |4 байт (32 біт) | rowspan="2" |<code>float f = 3.14f;</code> |- |Має 6 ~ 7 дисятковых цифер, Хоснує ся діля сокочіня чисил из плававучов крапков, помірнов бізувностьов, наприклад: діля [[Компютерна бавка|компютерных бавок]]. Має літерал f. Діяпазон уд ±1.18×10<sup>-38</sup> до ± 3.4×10<sup>38</sup>. |- | rowspan="2" |<code>'''double'''</code> |8 байт (64 біт) | rowspan="2" |<code>double d = 3.141592653589793;</code> |- |Має 15 ~ 16 дисятковых цифер, Хоснує ся діля сокочіня чисел из плававучов крапков, и серидньов бізувностьов, май часто діля роботы з [[Дробы (математіка)|дробами]]. Діяпазон уд ±2.23×10<sup>-308</sup> до ±1.80×10<sup>308</sup>. |- | rowspan="2" |<code>'''long double'''</code> |10-16 байт (80 ~ 128 біт) | rowspan="2" |<code>long double ld = 3.1415926535897932385L;</code> |- |Має 18-19 дисятковых цифер. Хоснує ся діля научных убчислинь, має высоку бізувность. Діяпазон ±3.36×10<sup>-4932</sup> до ±1.18×10<sup>4932</sup>. |- | colspan="3" |'''Лоґічні<ref name=":1" />''' |- | rowspan="2" |<code>'''bool'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/bool-cpp?view=msvc-170 bool тіп даных (Microsoft Docs)]</ref> |1 байт(8 біт) | rowspan="2" |<code>'''bool b = true;'''</code> |- |Діяпазон уд 0 до 1, удкликає ся на звіданя правда(<code>'''true'''</code>) вадь бріхня(<code>'''false'''</code>), май часто хоснувут у if, while.<ref>ISO/IEC 14882:1998, розділ 6.4, пункт 4: «The value of a ''condition'' that is an initialized declaration in a statement other than a <code>switch</code> statement is the value of the declared variable implicitly converted to <code>bool</code> … The value of a ''condition'' that is an expression is the value of the expression, implicitly converted to <code>bool</code> for statements other than <code>switch</code>; if that conversion is ill-formed, the program is ill-formed».</ref> |- | rowspan="2" |<code>'''false'''</code><ref>[https://learn.microsoft.com/en-gb/cpp/cpp/false-cpp?view=msvc-170 false тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 0, означат бріхню, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool f = false;'''</code> |- |- | rowspan="2" |<code>'''true'''</code><ref>[https://learn.microsoft.com/ru-ru/cpp/cpp/true-cpp?view=msvc-170 true тіп даных (Microsoft Docs)]</ref> | rowspan="2" |Сінонім до 1, означат правду, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool t = true;'''</code> |- |- | colspan="3" |'''Цілочисилні знакові тай беззнакові (<code>signed</code> і <code>unsigned</code>)<ref name=":0" /><ref name=":1" />''' |- |'''Тіп даных''' |'''Информація''' |'''Приклад''' |- |'''<code>signed</code>''' |Знаковый тіп, котрый робит діяпазон хоть якої цілочисленної змінної уд -(2<sup>n-1</sup>) до 2<sup>n-1</sup> - 1<ref name=":0" /> ди N то кулькость біт тіпа даных. signed Є тіпом за замовчіньом | У <code>signed int</code> діяпазон уд -2 147 483 648 до 2 147 483 647, а у <code>signed short</code> уд -32 768 до 32 767, так само які і без приписаня <code>signed</code>. |- |'''<code>unsigned</code>''' |Беззнаковый тіп, котрого, аж прикласти до цілочислных тіпу, то йих діяпазон буде мочи мати лем додатньоє значіня, уд 0 до 2<sup>n</sup> - 1 (N — вага в бітах прикладеного тіпа) |<code>unsigned long long</code> уд 0 до 18 446 744 073 709 551 615, ци <code>unsigned short</code> уд 0 до 65 535.<ref name=":0" /> |} Язык увюг такоє розуміня ги удкликаня, ай з штандарта C++11 ''— rvalue''-удкликаня и [[переадресуйимі удкликаня]] ({{Lang-en|forwarding reference}}). (см. Удкликаня (C++)) C++ додає д C обєтово-орьєнтовані возможности. Ун уводит класы, которі давут три май важливых особенности [[Обєктово орьєнтоване проґрамованя|ООП]]: [[Інкапсулація (проґрамованя)|инкапсулацію]], [[Наслідованя (проґрамованя)|наслідованя]] й [[Поліморфізм (проґрамованя)|поліморфізм]]. У штандартови C++ пуд класом (class) розуміє ся хосноватильськый тіп, убявленый из хоснованьом єдного из ключовых слув <code>class</code>, <code>struct</code> авадь <code>union</code>, пуд штруктуров (structure) розуміє ся клас, убявленый через [[Ключове слово (проґрамованя)|ключове слово]] <code>struct</code>, тай пуд убєдениньом (union) розуміє ся клас, убявленый через ключовоє слово <code>union</code>. У зависимости уд хоснованого ключового слова мінявут ся так само и дакотрі свойства самого же класа. Наприклад, у класі, обявленому через <code>struct</code>, части без особно прописаного модіфікатора доступа будут за замовчіньом мати публічну руню доступа, а не пріватну. У тілови дефініційи класа мож указати гий убявліня функцій, так и йих дефініцію. У посліднюм трафункови функція є интеґрованов(<code>inline</code>). Нештатічні функційи-части можут мати кваліфікаторы <code>const</code> тай <code>volatile</code>, ай не лиш, ищи можут мати удкличный кваліфікатор (<code>&</code> вадь <code>&&</code>). === [[Наслідованя (проґрамованя)|Наслідованя]] === C++ пудпрює [[многоразове наслідованя|многоразовоє наслідованя]]. Базові класы (класы-предкы) указувут ся у наголовкови описаня класа, возможно, з шпеціфікаторами доступа. Наслідованя уд каждого класа може быти публічным, засокоченым авадь запертым: {| class="wikitable" !Доступ части базового класа/режім наслідованя !private-часть !protected-часть !public-часть |- |private-наслідованя |недоступный |private |private |- |protected-наслідованя |недоступный |protected |protected |- |public-наслідованя |недоступный |protected |public |} За замовчіньом базовый клас наслідує ся ги ''private''. На выслідкови наслідованя клас-наслідник получає всі поля класа-предка и всі го методы; мож уповісти, што каждый екземплар класа-наслідника уміщат у собі ''пудекземплар'' каждого з класу-предку. Аж єден клас-предок наслідує ся дакулько раз (се возможно, аж ун є предком дакулькых базовых класу зотворявучого класа), то екземплары класа-наслідника буде мати тулько же пудекземплару даного класа-предка. Убы убыйти такого ефекта, аж ун нежаданый, C++ пудпорює концепцію ''віртуалного наслідованя''. При наслідованьови базовый клас може обявляти ся віртуалным; на всі віртуалні входы класа-предка в дерево наслідованя класа-наслідника в наслідникови зотворює ся лем єден пудекземплар. * Private наслідованя — має у собі всі методы и особности класа «утця» у запертому доступі з вон и запертому доступі діля класу потомку * Public наслідованя — має у собі всі методы и штімованя класа «утця» у выдпертому доступі з вон * Protected наслідованя — то самоє, што і private, айбо потомкы мавут доступ ид унаслідованым методам и особеностям === Поліморфізм === C++ пудпорює [[дінамічный поліморфізм]] и [[штімовськый поліморфізм]]. Штімовськый поліморфізм представленый: * Арґументами за замовчіньом діля функцій. Наприклад, діля функційи <code>void f(int x, int y=5, int z=10)</code>, выклик <code>f(1)</code>, <code>f(1,5)</code> и <code>f(1,5,10)</code> еквівалентный. * [[Переубтерьханя функций|Переубтирьханя функцій]]: функція з єдным имньом може мати рузноє число и рузні по тіпу арґументы. Наприклад: <syntaxhighlight lang="cpp"> void Print(int x); void Print(double x); void Print(int x, int y); </syntaxhighlight> :: Частным трафунком переубтирьханя функцій мож лічити [[переубтерьханя оператору|переубтирьханя оператору]]. * Механізмом шаблону Дінамічный поліморфізм реалізує ся помочов [[Віртуалні методы|віртуалных методу]] тай іерархійи наслідованя. Поліморфным у C++ є тіп, мавучый хоть єден віртуалный метод. приклад іерархї: <syntaxhighlight lang="cpp"> class Figure { public: virtual void Draw() = 0; // чистый віртуалный метод virtual ~Figure(); // ож є хоть єден віртуалный метод деструктор гія учинити віртуалным }; class Square : public Figure { public: void Draw() override; }; class Circle : public Figure { public: void Draw() override; }; </syntaxhighlight>Туйкы клас Figure є [[Абстрактный клас|абстрактным]] (и, онь, [[Інтерфейс (обєктно-орьєнтоване проґрамованя)|інтерфейсным]]), позад того, што метод Draw не дефінованый. Обєкты сего класа не мож зотворити, айбо мож хосновати удкликаня авадь указникы з тіпом Figure. Избраня реалізаційи метода Draw буде проізводити ся за час окончованя выходячи из реалного тіпа обєкта. === [[Інкапсулація (проґрамованя)|Инкапсулація]] === Инкапсулація у C++ реалізує ся через ідіфікацію уровня доступа до частий класа: вни можут быти публічными (удпертыми, <code>public</code>), засокочеными (<code>protected</code>) и пріватными (запертыми, <code>private</code>). У C++ штруктуры формално рузнит ся уд класу лем тым, што за замовчіньом руня доступа д частям класа и тіп наслідованя у структуры публічні, а у класа — пріватні. {| class="wikitable" !Доступ !private !protected !public |- |Самый клас |Айно |Айно |Айно |- |Цімборы |Айно |Айно |Айно |- |Наслідникы |ні |Айно |Айно |- |Изпоза |ні |ні |Айно |} Перевірка доступа йде за час компілаційи, проба звіданя до недоступної части класа выкликає хыбу компілаційи. ==== Цімборы ==== ''Функційи-цімборы'' — то є функційи, котрі ниє функціями-частями тай задто мавучі доступ д засокоченым і запертым частям класа. Уни мавут быти убявлині в тілови класа ги <code>friend</code>. Наприклад: <syntaxhighlight lang="cpp"> class Matrix { friend Matrix Multiply(Matrix m1, Matrix m2); }; </syntaxhighlight>Туйкы функція <code>Multiply</code> може звідати ся д полям и функціям-частям класа <code>Matrix</code>. Цімборськым може быти убявленый гий всьый клас, так и функція-часть класа. Чотыри важных ограничіня, котрі ся кладут на удношіня цімборськости в C++: * '''Цімборськость не транзітівна.''' Аж A убявляє цімбором B, ай B, у свою очеридь, убявляє цімбором C, то C не стає автоматічно цімбором діля A. На то, A мусит явно убявити C свойим цімбором. * '''Цімборськость не сполочна.''' Аж клас A убявляє цімбором клас B, то ун не стає автоматічно цімбором для B. На то мусит еґзістовати явноє убявліня цімборськости A в класови B. * '''Цімборськость не наслідує ся.''' Аж A убявляє клас B свойим цімбором, то потомкы B не ставут автоматічно цімборами A. На то каждый из них мусит быти убявленый цімбором A в явнуй формі. * '''Цімборськость не розусяжує ся на потумку.''' Аж клас A убявляє B цімбором, то B не стає автоматічно цімбором діля класу-потумку A. Каждый потомок, аж тото гія, мусит убявити B свойим цімбором сам. У цілум видячи сесе правило мож сформуловати такым образом: ''«Удношіня Цімборськости еґзістує лем меже тыми класами (класом и функційов), діля котрых уно явно убявленоє в кодови, й робит лем у тому напрямліньови, в котрому вно обявлиноє».'' === Шпеціялні функційи === Клас за замовчіньом може мати шість шпеціялных функцій: конструктор за замовчіньом конструктор копійованя, конструктор переміщіня, деструктор, оператор присвойиня копійованьом, оператор присвойиня переміщиньом. Тоже мож явно дефініційовати йих всьых (см. [[Правило трёх (C++)|Правило трьох]]). <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщіньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight>Конструктор выкликає ся діля иніціяліційи обєкта (удповідного тіпа) при його зотворіньови, а деструктор — діля зрушіня обєкта. Клас може мати пару конструктору, айбо деструктор може мати лем єден. Конструкторы в C++ не можут быти убявлині віртуалными, а деструкторы — можут, тай в основнум убявлявут ся діля всьых поліморфных тіпу, штобы ґарантовати правилноє зрушіня доступного за удкликаньом авадь указатильови обєкта независимо уд того, котрого тіпа удкликаня вадь указатиль. аж є хоть у єдного из базовых класу віртуалного деструктора, деструктор класа наслідника автоматічно стає віртуалным. === Нові возможности === Шаблоны дозволювут зотворяти функційи и класы, штімовані дефініцічным тіпом авадь значіньом. Наприклад, спередущый клас муг бы реалізовати масив діля хоть якого тіпа даных: <syntaxhighlight lang="cpp"> template <typename T> class Array { ... T& operator[](size_t i) { return val[i]; } protected: std::size_t len {0}; // иніціялізація поля T* val {nullptr}; }; </syntaxhighlight> == Штандартна бібліотека == === Сполочна структура === Штандартна бібліотека C++ має набур возможностю, котрі мусят быти доступні у каждуй імплементаційи языка, вбы дати проґраміштам просту роботу з языковыми міліями тай зотворити основу про розвуй так приладных аплікацій широкого шпектра, гий и шпеціялізованых бібліотек. Штандартна бібліотека C++ убсягат часть штандартної бібліотекы Сі. Штандартна бібліотека C++ має у собі часть штандартної бібліотекы Сі. Штандарт C++ має норматівноє удкликаня на штандарт C уд [[1990|1990 года]] и не дефініціює сам тоты функційи штандартної бібліотекы, котрі берут ся з штандартної бібліотекы Сі. Айбо у C++ наголовчні файлы Сі адаптовані: умісто <code><stdio.h></code> хоснує ся <code><cstdio></code>, а йих обсяг розміщає ся в просторі имен <code>std</code>. Уто позволяє убыйти конфлікты имен и усокотити сполочность. Доступ до возможностю штандартної бібліотекы C++ ся дустає включіньом у проґраму (через діректіву #include) потребных наголовочных файлу. У штандарті [[C++11]] вызначино 79 такых файлу. У май новых вирзіях языка ([[C++17]], [[C++20]]) йих кулькость ся выросла позад додаваня новых возможностю, гий робота з файловов сістемов (<filesystem>), концепты (<concepts>) и корутіны. Вшиткі засобы штандартної бібліотекы надлежат д просторови имен std. Єдночасно ся просит не хосновати діректіву using namespace std; ґлобално, вбы не выходили неєднозначности в кодови. из розвойом штандарту ([[C++11]], [[C++14]], [[C++17]], [[C++20]]) бібліотека ся розширює, давучи май безпечні и выразнi возможности проґрамованя. Наприклад, у [[C++11]] появили ся «розумні указатилі» автоматічного кроманьованя тямов, а в [[C++17]] – структуры робут из файловов сістемов. Каждоє убновіня хоче злегшити розробку, засокочувучи зворотну сполочность и высоку ефектівность. === Пудпора языка === Сюды надлежат возможности, котрых гія діля роботы проґрам, тай за информацію о особностях імплементаційи. Включає возможности, котрых гія про выділіня тямы, механізмы '''[[RTTI|RTTI (Run-Time Type Information)]]''', базові выйимкы, границі значінь числовых тіпу даных, базові засобы роботы з мілійом, гий наприклад, сістемовый час, убробляня сіґналу UNIX, завершіня проґрамы. === Штандартні [[Контейнеры (проґрамованя)|контийнеры]] === У штандартнуй бібліотеци сут шаблоны за такі конийнеры: * Дінамічный масив ('''vector'''), * Штатічный масив ('''array'''), * Єднонапрямлиный список ('''forward_list'''), * Двонапрямлиный список ('''list'''), * [[Стек]] ('''stack'''), * Дек ('''deque'''), * Асоціятівні масивы ('''map, multimap'''), * Множины ('''set, multiset'''), * Очеридь из приорітетом ('''priority_queue'''). === Основні утиліты === У тот розділ уходит опис основных базовых елементу, што ся ухоснововут у штандартнуй бібліотеци, [[Алокатор|алокаторы тямы]], пудпора часа й даты в штілови C. * '''Ітераторы''': засокочувут шаблоны [[Ітераторы (проґрамованя)|ітератору]], помочов котрых у штандартнуй бібліотеци ся реалізує штандартный механізм ґрупового ухоснованя алґорітму за убробліня даных у контийнерах. * '''Алґорітмы''': шаблоны описа операцій убробляня, котрі ся можут ухоснововати до хоть якої послідовности елементу, включно з тотыми в контийнерах. У тот розділ тоже входят функційи '''bsearch()''' і '''qsort()''' из штандартної бібліотекы C. * '''Шорикы''': шаблоны шорику в штілі C++. У тому розділови тож є бібліотекы про роботу з текстом тай сімболами у штілі C. * '''Уводжіня-выводжіня''': шаблоны и вспомижні класы про потокы уводжіня-выводжіня сполочного вида, про шоровоє уводжіня-выводжіня, маніпулаторы (засобованя контрола формата потокового уводжіня-выводжіня у штілі C++). * '''Локалізація''': дефініційи, котрі ся ухоснововут подля пудпоры народных особностю тай формату представліня (дат, валут тай т. д.) у штілі C++ и в штілі C. * '''Діяґностіка''': дефініційи шора вийимок и механізму контрола твиржінь за час оконаня проґрамы ('''assert'''). Пудпора убробкы хыб у штілі C. * '''Числа''': дефініція роботы з комплексными числами, математічні векторы, пудпора сополоченых математічных функцій, ґенератор трафунковых чисел. === STL – Standard Template Library (Штандартна Шаблонова Бібліотека) === Контийнеры, шоры, алґорітмы, ітераторы й основні утиліты, за выйимков переберань из бібліотекы C, ся в рокаши означувут ги '''STL (Standard Template Library – Штандартна Шаблонова Бібліотека)'''. Иззачинаня STL была окремым продуктом и ю абревіятура мала инаку интерпретацію, айбо потум стала частьов штандартної бібліотекы C++ тай ю неудкапчаным елементом. У имньови пудкреслено, же для реалізаційи засобу сполочному виді (контийнеру, шора, алґорітму) сут хосновані механізмы '''солоченого проґрамованя''' ('''template''' – шаблоны C++). Бярен Страуструп у свойих роботах детално описує причины, з котрых быв зробленый именно тот выбор. Основными причинами были: * '''Універзалность вырішіня''' – шаблонові контийнеры, на розділ уд обєктных, можут быти легко хосновані діля '''не обєктных тіпу''' й не требувут єдного предка у тіпу елементу. * '''Технічна ефектівность''' – в основному, операційи шаблонового контийнера не требувут '''выклику віртуалных функцій''' и можут быти легко встройині '''(inline)''', што у выслідкови дає выгру в продуктівности. Тот пудхуд зробив '''STL''' єднов из май успішных и май булш розусядженых частий штандартної бібліотекы C++. Из штандарта C++11 додали ся слідувучі возможности: * Додана бібліотека <code>&lt;regex&gt;</code>, реалізувуча всьымиприйняті механізмы гляданя тай пудстановкы з помочов реґуларных выразу. * Додана пудпора многопоточности. * Атомарні операційи. * unordered-варіянты асоціятівных масиву и множин. * Розумні указатилі, задавучі автоматічноє выслободжіня выділеної тямы. === Реалізаційи === STL до того, як стала частьов штандарта C++, была боковов розробков. Иззачинаня ю розробляла фірма '''[[Hewlett-Packard|HP (Hewlett-Packard)]]''', а потумкы – '''[[SGI|SGI (Silicon Graphics Inc.)]]'''. Штандарт языка не означає го '''«STL»''', бо ун став неудкапчаннов частьов языка, айбо много людий и доднись хоснувут то назов, убы удрузнити ю выд инакых частий штандартної бібліотекы (наприклад, '''iostream''', пудрозділ C тай ин.). Проєкт пуд имньом STLport<ref>{{Cite web |url=http://www.stlport.org/ |title=STLport: Welcome! |access-date=2007-07-26 |archivedate=2018-06-07 |archiveurl=https://web.archive.org/web/20180607183150/http://www.stlport.org/ }}</ref> заснованый на '''SGI STL''', занимат ся фуртовым убновіньом '''STL, IOstream''' и шоровых класу. Дакотрі инші проєкты тоже ведут розвуй окремых імплементацій штандартної бібліотекы. == Рузня из Сі == [[Файл:CppCgenealogy.png|праворуч|міні|ґенеолоґія й рокашный вплыв вирзій Сі і C++ (за «Короткым курсом» Страуструпа)]] === Сполочность из Сі === Выбираня именно С гий основы діля зотворіня языка проґрамованя убяснявут, тым што язык C: # Є многоцільовым, лаконічным тай удносно низкорувньовым языком; # Пудходит діля вырішіня булшости сістемных задач; # оконаня усюды і на всьому; # стыкує ся из мілійом проґрамованя UNIX.<div class="ts-Конец_цитаты-source">— <cite>Б. Страуструп. Язык проґрамованя C++. Розділ 1.6</cite></div> Невзиравучи на дакотрі знані хыбы языка '''Сі''', '''Бярне Страуструп''' выбрав його за основу, бо «у '''Сі''' є свої проблемы, айбо тоты же проблемы бы мав и розвоєный уд нула язык, а проблемы '''Сі''' нам знані». Окром того, то дало можность скоро зотворити пирьвый прототіп компілатора ('''cfront'''), котрый лем перетовмачовав додані сінтаксічні елементы на оріґіналный '''Сі'''. Из поступом розвоя '''C++''' до него додали инакі можности, котрі зробили непотребными дакотры конструкційи '''Сі'''. Позад сего не раз было звіданя за то, убы удказати ся уд сполочности языку и зняти старі конструкційи. Но тым не май мало сполочность была засокочена, того што: * '''Засокочено еґзістувучый код''', написаный на '''Сі''', убы го мож было прямо перенести у '''C++'''; * '''Не гія наново вчити проґрамісту''', котрі вже знали '''Сі''' (йим лем гія довчити нові возможности '''C++'''); * '''Выключина путанина''' меже языками при йих рокашному хоснованьова («аж два языкы хоснувут ся в рокаши, йих розділы мавут быти авадь мінімалні, авадь такі грубі, убы языкы не мож было спутати»). === Нові возможности === <syntaxhighlight lang="cpp"> class Array { public: Array() = default; // компілатор зотворит конструктор за замовчіньом сам Array(size_t _len) : len(_len) { val = new double[_len]; } Array(const Array & a) = delete; // конструктор копійованя явно зотертый Array(Array && a); // конструктор переміщіня ~Array() { delete[] val; } Array& operator=(const Array& rhs); // оператор присвойованя копійованьом Array& operator=(Array&& rhs); // оператор присвойованя переміщиньом double& operator[](size_t i) { return val[i]; } const double& operator[](size_t i) const { return val[i]; } protected: std::size_t len = 0; // иніціялізація поля double* val {nullptr}; }; </syntaxhighlight> Нові возможности C++ уключавут оголошіня у видови выражінь, переробліня тіпу в виді функцій, операторы <code>new</code> і <code>delete</code>, тіп <code>bool</code>, удкликаня, розширеноє розуміня константности, пудставляйимі функційи, аргументы за замовчіньом, переопреділіня, просторы имен, класы (уключавучи и вшиткі повязані з класами возможности, такі ги наслідованя, функційи-части, віртуалні функційи, абстрактні класы тай конструкторы), переопреділіня оператору, шаблоны, оператор <code>::</code>, убробку выйимку, дінамічну ідентіфікацію и много другого. Язык C++ так само в многых трафунках май строго удносит ся д перевіркы тіпу, гий C. У C++ появили ся коментарі в вызирови двойитої косої линійи (<code>//</code>), котрі были у попередникови C — языкови [[BCPL]]. Дакотрі особенности C++ май пузно были перенесині до C, наприклад, ключові слова <code>const</code> тай <code>inline</code>, оголошіня у циклах <code>for</code> и коментарі в штілови C++ (<code>//</code>). У май пузнюй реалізаційи C так само были представлині возможности, котрых ниє у C++, наприклад макросы <code>va_arg</code> тай изліпшина робота з масивами-штімованями. === C++ не включат у ся C === Невзиравучи на то, же груба часть кода C буде робоча й діля C++, C++ ниє надмножинов C и не включат го в себе. еґзістує й такый правилный про C код, котрый є неправилным про C++. То удлишує го уд [[Objective-C]], ищи єдного изліпшиня C діля [[Обєктово орьєнтоване проґрамованя|ООП]], котроє є надмножинов C. Сут и другі рузности. Наприклад, C++ не позволяє кликати функцію main() в удну проґрамы, зато як у C то є припустиме. Окроме того, C++ є май строгый у дакотрых звіданьох; наприклад, ун не допусчат неявноє переведіня тіпу меже не зкапчаными тіпами указатилю й не позволяє хосновати функційи, котрі ищи не были оголошині. Ба й булше, код, котрый є робочый діля обох языку, може давати рузні выслідкы в залежности уд того, компілатор якого языка го товмачив. Наприклад, на булшости платформ наслідувуча проґрама выведе «C», коли компілує ся компілатором C, і «C++», коли компілує ся компілатором C++. Такоє ся діє зато, же в C сімболні константы (наприклад, <code>'a'</code>) мавут тіп <code>int</code>, а в C++ — тіп <code>char</code>, а розмір тых тіпу ся убыкло удрузнят. <syntaxhighlight lang="cpp"> #include <stdio.h> int main() { printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; } </syntaxhighlight> === Средства C, котрых рекомендує ся не кывати === Подля зауважіня Страуструпа, «чим ліпше вы знаєте C, тым май тяжко вам буде убыйти проґрамованя на C++ у штілови C, гублячи при тум потенційні перевагы C++». Позад того ун дає слідувучый набор порекомендовань про проґрамішту на C, убы читаво ся убхосновати ліпшинами C++: * Не хосновати макроопреділіня <code>#define</code>. На оголошіня констант хосновати <code>const</code>, на ґрупы конштант (перечисліня) — <code>enum</code>, на прямоє включіня функцій — <code>inline</code>, на означіня файт функцій авадь тіпу — <code>template</code>. * Не хосновати передчасові зявы змінных. Зява змінны в блокови, де вни поправді ся хоснувут, и фурт єднати зявы з иніціялізаційов. * Удказати ся уд хоснованя <code>malloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/container/vector|title=std::vector — cppreference.com|access-date=2015-11-28|archive-date=2015-11-27|archive-url=https://web.archive.org/web/20151127093014/http://en.cppreference.com/w/cpp/container/vector|deadlink=no}}</ref> у хосен оператора <code>new</code>, уд <code>realloc()</code><ref>{{Cite web|url=http://en.cppreference.com/w/cpp/memory/c/realloc|title=std::realloc — cppreference.com|access-date=2015-11-28|archive-date=2015-12-04|archive-url=https://web.archive.org/web/20151204114524/http://en.cppreference.com/w/cpp/memory/c/realloc|deadlink=no}}</ref> — у хосен тіпа <code>vector</code>. Май безпечным буде хоснованя розумных указатилю, такых гий <code>shared_ptr</code> тай <code>unique_ptr</code>, што доступні уд єденадцятої вирзійи штандарта. * Убыйти без безтіповых указатилю, аріфметікы указатилю, неявных приведінь тіпу, скапчань, окроме, може, низкоруньового кода. Хоснованя «нові» перевединя тіпу, што ліпше выражавут жаданя проґраміста й сут май безпечні. ** Рада до мінімума хоснованя масиву сімболу тай шорику у штилови C, замінявучи йих на тіпы <code>string</code> и <code>vector</code> із STL. Шуга не творити свої реалізаційи того, што уже є у штандартнуй бібліотеци. == Розвуй дале == Нынішня май актуална вирзія '''ISO/IEC 14882:2024''' авадь '''[[C++23]]'''<ref>{{cite web |url=https://www.iso.org/standard/83626.html |title=ISO/IEC 14882:2024 Programming languages — C++ |website=iso.org }}</ref>,была дороблена у [[Фебруар|фебруварьови]] [[2023]]<ref>{{Cite web |url=https://herbsutter.com/2023/02/13/c23-pandemic-edition-is-complete-trip-report-winter-iso-c-standards-meeting-issaquah-wa-usa/ |title=C++23 "Pandemic Edition" is complete (Trip report: Winter ISO C++ standards meeting, Issaquah, WA, USA) |website=herbsutter.com |date=13 February 2023 }}</ref>, слідувуча вирзія, має не офіцічноє мня '''[[C++26]]'''.<ref>{{Cite web|title=Working Draft, Standard for Programming Language C++|url=https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4981.pdf|date=2024-04-16|publisher=ISO/IEC|website=Open Standards}}</ref> === Сполочноє напрямліня розвоя C++ === На думку автора языка Бярена Страуструпа<ref>{{Cite web|url=http://www.codenet.ru/progr/cpp/straustrup.php|title=Интервью Б. Страуструпа LinuxWorld.com|access-date=2013-01-04|archive-date=2013-01-27|archive-url=https://web.archive.org/web/20130127131918/http://www.codenet.ru/progr/cpp/straustrup.php|deadlink=no}}</ref><ref>{{Cite web|url=http://samag.ru/archive/article/1034|title=Интервью Б. Страуструпа журналу «Системный администратор»|access-date=2013-01-04|archive-date=2013-02-09|archive-url=https://web.archive.org/web/20130209043902/http://samag.ru/archive/article/1034|deadlink=no}}</ref><ref>{{Cite web|url=http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|title=CNews: Эксклюзивное интервью с создателем языка программирования C++|accessdate=2019-11-01|archiveurl=https://web.archive.org/web/20150317122705/http://www.cnews.ru/reviews/index.shtml?2010%2F09%2F29%2F410282|archivedate=2015-03-17|deadlink=yes}}</ref>, говорячи о далшум розвою тай перспектівах языка, мож дашто вызначити: * У основнум далшый розвуй языка буде йти путьом доповнінь до штандартної бібліотекы. Єдным из головных жрідел такых доповнінь є знана бібліотека [[Boost]]. * Міняня у ядрови языка не мавут приводити до змаліня уже досягнутої ефектівности C++. По никаньови Страуструпа, переважно є грубі важливі зміны, котрі мавут реалный вплыв, ачим много малых правок, котрі можут убтяжити код и учинити язык тяжкым на учіня тай хоснованя. * Основні путі далшого розвоя C++ у май близкых годах уключавут розширіня возможностю й доробліня сполочного проґрамованя, штандартізацію механізму паралелної убробкы, а так само розвуй засобу безпечного проґрамованя. До такых возможностю надходят рузні перевіркы, безпечны переведіня тіпу, контролованя пудмінок и другых технолоґійи, котрі помагавут у писаньови стабілного и сполягливого кода. * У рокаши C++ є спроєктованый и розвоює ся гий [[Мултіпарадіґмовый язык проґрамованя|мултіпарадіґмовый язык]], што значит, же ун є погынавый и позволяє проґраміштам выборно хосновати рузні пудходы й методолоґійи. Ун бере елементы из рузных штілю проґрамованя, айбо йих адаптує так, убы были ефектівні на руни компілованого языка, што означат высшый уровинь оконавської продуктівности. Того в будучности ниє вылучино, же до C++ будут додані елементы функціоналного проґрамованя, автоматічноє збираня нехари тай инакі механізмы, котрі типирь не сут в языкови. Айбо вшиткы такі зміны будут зроблині на основі вжек еґзістувучого компілованого пудхода, без порушіня прінціпу продуктівности. * Хоть формално єдным из основных прінціпу C++ є засокочіня сполочности з языком C, у реалности штандартізаційны комітеты C тай C++ не мавут взаимодій. Міняня, котрі вни уносят, не лиш ниє згоджині, айбо даколи прямо противорічат єдны другым из ідеолоґічного бока. Наприклад, елементы, котрі нові вирзійи C додавут прямо до ядра языка, у C++ сут вынесині до штандартної бібліотекы. Такыми елементами є, наприклад, дінамічні масивы, масивы з фіксоваными границями, а так само засобы паралелної убробкы. Страуструп лічит, же спойиня розробкы C и C++ принесло бы грубі выгоды, айбо то є малореалістічно з політічных и орґанізаційных причин. Того в перспектіві практічна сполочность меже C тай C++ буде з часом слабіти, што означає, же коды, написані на чистум C, будут кождый раз май тяжко прямо компіловати и хосновати в C++ без модіфікацій. === Штандарт C++11: доповніня у ядрови языка === * Ясно вызначині конштантны функційи тай выражіня <code>constexpr</code>. * Універзалноє иніціялізованя. * Конструкторы й операторы присвойиня з семантіков переносу. Выведіня тіпу. :: Про хоснованя у шаблонах, де тяжко задати конкретный тіп ізмінної, уведині два нові механізмы: змінні тіпа <code>auto</code> и опис <code>decltype</code>. * Цикл по коликційи :: Подобно многым нынішньым языкам, у C++ уведеный цикл «по коликційи» у форматови: <code>for (type &x: array) {...}</code>. Туй тіло цикла ся оконує про каждого елемента коликційи <code>array</code>, а <code>x</code> у каждуй ітераційи буде удкликати ся на актуалный елемент коликційи. Гий коликцію мож видіти C-масив авадь хоть якый контийнер из штандартної бібліотекы, котрый має ітераторы <code>begin</code> тай <code>end</code>. * Ламбда-выражіня :: Додана возможность задавати ламбда-выражіня (анонімні функційи, што ся задавут прямо в місті хоснованя). Такі функційи можут залежати уд позапросторовых змінных (замыканя). Ламбда-выражіня мож присвойити зміннуй и хосновати усяды, де гія функція релевантного тіпа, наприклад, у алґорітмах штандартної бібліотекы. * Изміны в описови віртуалных методу :: Доданый неповинный модіфікатор <code>override</code>, котрый хоснувут при описови метода, што заміщат віртуалный метод утцьовського класа. Позад хоснованя <code>override</code> компілаторови мусай перевіряти, ци є в утцьовському класови метод из таков же сіґнатуров. Доданый тоже модіфікатор <code>final</code>, котрый, як и в Java, непозволяє подалше заміщованя метода. Так само мож задати <code>final</code> діля класа — тогды уд него вже не можут наслідовати ся другі класы. * Додана возможность описа [[Варіатівный шаблон|варіятівных шаблону]]. * Усякі сінтаксічні доповніня. :: Уведеноє ключовоє слово <code>nullptr</code>, што представляє константу — нуловый указник. Были внисині зміны у семантіку й, частічно, у сінтаксіс перечислінь и спойиня. Додана возможность творити сокочині перечисліня (type-safe enumerations), а спойиня типирь мавут май мало убграничінь у своюй структурі. Кроме того, компілатор типирь має правилно парсити код из множинными заперавучыми кутовыми дужками «<code>>></code>», што уживані у вкладеных шаблонных конструкціях. Май скоро «<code>>></code>» автоматічно приймало ся ги оператор побітового зсува вправо, того меже знаками <code>></code> гія было вставляти пропускы авадь износы шорика. == Приклад проґрам == === Приклад № 1 === Се приклад проґрамы [[Hello, world!]], котра выводит извістку в [[Інтерфейс командного рядка|консол]], хоснувучи штандартну бібліотеку, и окончує ся. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортуєме всі убявліня у просторови имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> === Приклад № 2 === Типирішньый C++ позволяє рішати май легкым способом и май тяжкі задачі. Тот приклад, окроме другого, показує хоснованя контийнеру з штандартної бібліотекы шаблону ([[Штандартна бібліотека шаблону|STL]]). <syntaxhighlight lang="cpp"> #include <iostream> // подля хосонованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має в собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шориковыми ключами й даными в вызирі вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме всі обєкты в контийнирі for(const auto& person : items) { // person - то є пара з двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> У тум прикладі, про простоты, імпортувут ся вшиткі имена з простора имен <code>std</code>. Но в реалных проґрамах так робити ся не рекомендує, бо можут зотворити ся конфлікты имен, кой рузні бібліотекы мавут єднакі назвы обєкту. Язык позволяє імпортовати окримв обєкты з простора имен, же бы лем тоты, котрі дійсно гія, были доступні у кодови без явного зазначіня <code>std::</code>. <syntaxhighlight lang="cpp"> namespace Foo { const int x = 5; } const int y = Foo::x; </syntaxhighlight> <syntaxhighlight lang="cpp"> #include <vector> int main() { using std::vector; vector<int> my_vector; } </syntaxhighlight> У C++ (ги у C), кой хоснованя проґрамы доходит до кунця функційи <code>main()</code>, тото рунозначно команді <code>return 0;</code>. То значит, што проґрамі не гія явноє вертаня <code>0</code> в кунци <code>main()</code>, бо компілатор додаст то автоматічно. Айбо такоє правило не діє про хоть якої инакої функційи, окром <code>main()</code>, де все гія явно вказати значіня, котроє ся має вертати. == Изруньованя з алтернатівными языками == Сут дакулько досліжінь, у котрых пробовали зробити булш менш обєктівноє зруньованя всякых языку проґрамованя, меже котрых є й C++. У тых досліжінях аналізовали ся рузні аспекты, такі гий продуктівность коду, удобство писаня проґрам, возможности оптімізаційи, доступ д штандартным бібліотек тай иншакі характерістікы, котрі важні про проґрамішту й розвойнику проґрамного засобованя. * У науковуй статі «Haskell vs. Ada vs. C++ vs. Awk vs. …» Пауля Гудака й Марка Джонса<ref name="haskell4">An Experiment in Software Prototyping Productivity. Paul Hudak, Mark P. Jones. Yale University, Department of Computer Science, New Haven, CT 06518. July 4, 1994.</ref> представлиный звід про досліджіня шора імператавных и функціоналных языку на прикладі рішіня модилної задачі быстрого прототіпованя ГІС-сістемы воєнного призначіня. * В инакуй науковуй роботі — «DSL implementation in metaocaml, template haskell, and C++» — чотыри авторы<ref>{{статя|автор=K. Czarnecki, J. O’Donnell, J. Striegnitz, W. Taha|назва=DSL implementation in metaocaml, template haskell, and C++|выдавательство=University of Waterloo, University of Glasgow, Research Centre Julich, Rice University|рік=2004|url=https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C|archivedate=2022-04-07|archiveurl=https://web.archive.org/web/20220407022648/https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C}} Цитата: ''C++ Template Metaprogramming suffers from a number of limitations, including portability problems due to compiler limitations (although this has significantly improved in the last few years), lack of debugging support or IO during template instantiation, long compilation times, long and incomprehensible errors, poor readability of the code, and poor error reporting.''</ref> методічно досліжувут возможности C++ и двох функціоналных языку у роли базовых инструменту про [[Языково-орьєнтоване проґрамованя|языково-орьєнтованого проґрамованя]] з методом порожувучого кода. * У досліжині Лутца Прехелта<ref name="perhelt2">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> аналізувут ся сім языку (C, C++, Java, Perl, Python, Rexx, Tcl) у контекстови написаня простої проґрамы, котра переробляє телефонні нумера на слова за даякыми правилами. * У статі Девіда Велера «Ada, C, C++, and Java vs. The Steelman»<ref name="steelman">{{Cite web|url=https://dwheeler.com/steelman/steeltab.htm|title=«Ada, C, C++, and Java vs. The Steelman» David A. Wheeler July/August 1997|accessdate=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164511/https://dwheeler.com/steelman/steeltab.htm|deadlink=yes}}</ref> проводит ся зруняня языку Ада, C++, C и Java із документом <nowiki>«</nowiki>[[Steelman]]<nowiki>«</nowiki> — списком потреб до языка про воєнных убудованых сістем, котрый быв розробленый у [[1978|1978 годі]] Міністерством сокочіня [[Споєны Штаты Америцькы|США]]. Хоть документ ужек устарів и не бере до увагы типирішні возможности языку, зруняня показує, што C++ не так силно рузнится уд языку-конкуренту в плані необходимых возможностю про промысловых розробок. * Статя Метю Формента й Міхаеля Ґіллінґса<ref name="bioinfartcl">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> описує досліжіня<ref name="bioinfbench">{{Cite web|url=http://www.bioinformatics.org/benchmark/index.html|title=Сравнение языков программирования в реализации алгоритмов биоинформатики — описание эксперимента.|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102446/http://www.bioinformatics.org/benchmark/index.html|deadlink=no}}</ref> реалізаційи на шість языках (C++, C, C#, Java, Perl, Python) трьох шпеціфічных алґорітму, што хоснувут ся у біоинформатіци: [[метод майблизькых сосіду|метод майблизкых сусіду]], ґлобалноє [[вырунёваня послідовностю|выруньованя послідовностю]] ([[алґорітм Нідлмана — Вунша]]) и [[парсінґ]] выходных даных [[BLAST]]. === C++ тай Ада === [[Ада (язык проґрамованя)|Язык Ада]] самарає на C++ за возможностями и сферов хоснованя: то є компілованый штруктурный язык из обєктово-орьєнтованым розширіньом (тота ж модел «Алґол из класами», што и в C++), має штатічну тіпізацію, пудпорює сполочноє проґрамованя и призначиный діля розвоя грубых и тяжкых проґрамных сістем. Айбо ідеолоґічно Ада є силно другым языком: аж C++ розвоює ся ги універзалный инструмент про рузных задач, то Ада была спроєктована шпеціялно пуд жаданя выробнику крітічно важного проґрамного засобованя з высокыми штандартами надійности, што выразило ся на ю сінтаксісі тай семантіци. Прямых изрунянь ефектівности кода в Аді й C++ не много. Ужек упомняненуй статі <ref name="haskell4" /> рішіня моделної задачи на Аді дало код, што быв приблизно на 30% май куртый (у шориках), гий у C++. Изруньованя самых же языку проводили ся у рузных жрідлах. Наприклад, у статі Джіма Роджерса на AdaHome<ref name="rogers2">{{Cite web|url=http://www.adahome.com/articles/9703/ada_vs_cpp.html|title=Comparison of Ada and C++ Features (en)|access-date=2019-03-23|archive-date=2019-03-23|archive-url=https://web.archive.org/web/20190323164727/http://www.adahome.com/articles/9703/ada_vs_cpp.html|deadlink=no}}</ref> наведено булш 50 пункту удрузнинь меже языками, й булшость из них у хосен Ады (булше возможностю, нагынавчость повожіня, май мало возможность хыб). Хоть даякі твиржіня побучнику Ады перичні авадь ужек пристаріли, сполочно мож зробити выслідок: * Сінтакс Ады є овер строгый, ги у C++. Язык жадат додержовати ся дісціпліны проґрамованя, не пудпорює «проґрамістські фіґлі», айбо стімулує писаня простого, лоґічного й врозумливого кода, котрый є май легко пудпорьовати. * На розділ уд C++, Ада є дуже тіпобезпечена. Розвойина сістема тіпів позволює при додержаньови правил йих оголошіня й хоснованя маймного контроловати коректность роботы з датами й сокотити проґраму уд нежаданых хыб. Автоматічноє переробліня тіпу є звеличине у нич. * Указатилі в Аді сут контроловані май строго, ги у C++, а адресна аріфметіка є доступна лем через окрему сістемову бібліотеку. * Наставитилні модулы Ады за свойыми можностями сут самарні на шаблоны у C++, айбо забезпечувут ліпшый контрол. * Ада має в язык убудовану модуларность и штандартізовану сістему розділеної компілаційи, зато C++ хоснує включованя текстовых файлу й вонкашні методы кроманьованя компілаційов и складаньом проґрам. * Убудована многозадачность Ады має в собі паралелні задачы й механізм йих комунікаційи (вступы, рандеву, оператор <code>select</code>). У C++ сут тоты возможности забезпечині лем через бібліотекы. * Ада має строгый штандарт, што дає ліпшу переносимость проґрамового засобованяна рузны платформы. У статі Штефена Цейґера з компанійи [[Rational Software|Rational Software Corporation]]<ref>[https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html Stephen Zeigler, Comparing Development Costs of C and Ada.] {{webarchive|url=https://web.archive.org/web/20070404120024/http://www.adaic.com/whyada/ada-vs-c/cada_art.html|date=2007-04-04}}</ref> ся тверди, же робота на Аді є на 60% май дешево, гий на другых языках, приводит ид зотворіню кода, котрый має в 9 раз май мало хыб, гий код написаный языком Сі. Хоть и тоты выслідкы ниє прямо ты же самі діля C++, ун є интересный, бо много з хыб C++ ун взяв уд Сі. === C++ тай Java === Java ся не може раховати же повноставна заміна C++, бо є зотворена гий безпечный язык из легшым зачатковым руньом, орьєнтованый на зотворіня прикладных аплікацій из грубов можностьов преносимости<ref>{{cite web|url=http://www.oracle.com/technetwork/java/intro-141325.html|title=1.2 Design Goals of the Java™ Programming Language|subtitle=The Java Language Environment|lang=en|publisher=Oracle|date=1999-01-01|accessdate=2013-01-14|archive-date=2013-01-23|archive-url=https://web.archive.org/web/20130123204103/http://www.oracle.com/technetwork/java/intro-141325.html|deadlink=no}}</ref>. Уна ся не годит для дакотрых філю проґрам, котрі ся чинят у C++. Айбо в окремых свойих областьох в Java є реална конкурентція C++. Головні передности Java: * '''Безпека:''' Недоступность хоснованя указатилю и адресної аріфметікы, автоматічноє кроманьованя тямов из ґарбадж-колектором, убудовані засобы, котрі сокотят перед май пошириными хыбами проґрам C++, гий є переповніня буфера авадь выхуд за граници масива. * Наявность розробленої сістемы модул и розділеної компілаційи, котра є май скурша й май мало пудвавучас ид хыбам, гий препроцесор и особна зборка C++. * Докусна штандартізація и оконаня у віртуалнуй машині, розвоєноє окружіня, включавучи бібліотекы про ґрафіку, хосноватильськый интерфийс, доступ ид базам даных и другым тіповым задачам, гий є забезпечена правдива многоплатформность. * Устроєна многопотучность. * Обєктна пудсістема Java є у разы май близка д фундаменталному прінціпови ООП «вшитко є обєкт», ги у C++. Интерфийсы позволявут здобыти векшину предностий множинного наслідованя без його неґатівных ефекту. * Рефликція є май далекосяжна, ги у C++, и позволяє у реалному часови дефініційовати и міняти структуру обєкта пуд час роботы проґрамы. Но хоснованя ґарбадж-колектора й віртуалної машины лишає тяжкопоборимі обмижіня. Проґрамы на Java сполочно сут май помалі, йим гія дуже много тямы, а віртуална машина ізолує проґраму уд операчної сістемы, што робит низкоруньовоє проґрамованя невозможным. Емпірічноє досліджіня<ref name="perhelt3">{{cite web|url=http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|title=An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl for a search/string-processing program|author=Lutz Prechelt ([[Технологический институт Карлсруэ|Universität Karlsruhe]])|lang=en|format=pdf|website=[[Свободный университет Берлина|Freie Universität Berlin]]|date=2000-03-14|accessdate=2019-11-20|archive-date=2020-01-03|archive-url=https://web.archive.org/web/20200103050915/http://page.mi.fu-berlin.de/prechelt/Biblio/jccpprt_computer2000.pdf|deadlink=no}}</ref> не найшло грубу рузню у быстрости розробкы на C++ тай Java. Инакоє досліджіня<ref name="bioinfartcl4">{{Cite web|title=«A comparison of common programming languages used in bioinformatics»|url=https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|access-date=2021-09-02|archive-date=2021-09-02|archive-url=https://web.archive.org/web/20210902102443/https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-82|deadlink=no}}</ref> указало, же думаня о грубых рузнях у шустрости оконаня кода на тых языках ниє фурт правдивоє: у двох из трьох тесту быстрота оконаня Java- тай C++-аплікацій была доста порунима. Зато Java є май лаконічна – обєм кода є май малый на 10-15%. === C++ тай C === '''Оріґіналный Сі''' дале ся розвойит, и на нему ся зотворявут много грубых проєкту: є головным языком проґрамованя подля операчных сістем, на нему написані бавкові енґіні многых дінамічных бавок, як и груба кулькость прикладных аплікацій. Дакотрі шпеціялісты повідавут, же заміна Сі на C++ не робит процес розробкы май ефектівным, ай навспак убтяжує проєкт, меншит го надійность и пудвышує наклады на пудпору. У частности: * За думаньом Лінуса Торвалдса, «C++ заставляє до писаня … грубого обєма кода, котрый не має прінціпічного значіня із никаня функціоналности проґрамы». * Пудпора ООП, шаблоны і STL не сут рішавучов предностьов C++, бо вшитко, на што ся хоснувут, мож вырішити й хоснованьом Сі. При тум ся вылучавут розширіня кода, а даякоє убтяжіня, котроє є далеко не фурт гія, компензує ся булшов флексібілітов, май простым тестованьом, и ліпшыми перформанцными характерістіками. * Автоматізація доступа д тями в C++ повышує затраты тямы й чинит роботу проґрам помалов. * Хоснованя вылучінь у C++ заставляє слідити [[RAII]], што веде до звеличіня оконаных файлу й меншіня быстроты проґрам. Додаткові тягкости ся появлявут у паралелных и дістрібутівных проґрамах. Тым є интересноє, же кодінґ-штандарт C++ у компанійи [[Google]] прямо заказує хоснованя вылучінь<ref name="googlesg">{{Cite web|url=https://google.github.io/styleguide/cppguide.html#Exceptions|title=Google C++ Style Guide. Exceptions.|access-date=2019-03-31|archive-date=2019-03-16|archive-url=https://web.archive.org/web/20190316065327/http://google.github.io/styleguide/cppguide.html#Exceptions|deadlink=no}}</ref>. * Код на C++ є май тяжкый на розуміня й тестованя, його выправлиня выд хыб є май чажкоє позад хоснованя чажкый ієрархій класу из наслідованьом и шаблонами. Додатково, в розвойницькых мілійох C++ ся вказує булше хыб, и в компілаторах, и в бібліотеках. * Многі детайлі повожіня кода не сут шпеціфіковані штандартом C++, што знижує його портовалность и може быти причинов чажконаходимых хыб. * Кваліфікованых проґрамісту на Сі є у разы булше, гий на C++. Ниє пересідчивых даных о предности C++ перед Сі ні по ефектівности проґрамісту, ні по особностям проґрам. Хоть сут досліжіня<ref>{{статя|назва=Advantages and Disadvantages of Conservative Garbage Collection|автор=Boehm H.|url=http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archiveurl=https://web.archive.org/web/20130724030259/http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html|archivedate=2013-07-24}} (удкликаня із {{книга |автор=[[Реймонд, Ерік]]. |тітул=Искусство программирования для Unix |рік=2005 |сторінки=357 |сторінок=544 |isbn=5-8459-0791-8 }})</ref>, котрі твирдят, же проґрамішты на Сі тратят около 30-40 % сполочного часа розробкы (не рахувучи выпраліня хыб) на кроманьованя тямов, сполочна ефектівность розробнику<ref name="haskell4" /> Сі тай C++ є зрунима. У низкоруньовум проґрамованьови грубинська часть новых возможностю C++ ся оказує нехоснована позад збулшіня режійных выдатку: віртуалні функційи жадавут дінамічноє вызначіня актуалної адресы (RVA), шаблоны ведут до розширіня кода й понижіня возможностю оптімізаційи, [[бібліотека часа оконаня]] (RTL) є велика, а удказ уд ниї лишат многх возможностю C++ (хоть бы позад недоступности операцій <code>new</code>/<code>delete</code>). У выслідках проґраміштови мусай убграничити ся на функціонал, унаслідованый уд Сі, што робит хоснованя C++ безцілным: ''Єдиный способ мати добрый, ефектівный, низкоруньовый іипортованый C++ зводит ся д тому, убы ся убграничити ся вшисткым тым, котроє є легко доступноє в Сі. А убграничіня проєкта границями Сі буде значити, же го не выметати, и же буде доступно много проґрамішту, котрі добрі розумівут низкоруньові особенности й не удказувут ся уд них позад дурної моды на «обєктні модели».'' ''… коц ефектівность є пирьвошорна, «ліпшины» C++ будут грубов хыбов.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> === C++ и функціоналні тай скріптові языкы === У єдному експеріментови<ref name="haskell4" /> скріптові й функціоналны языкы, особенно [[Haskell]], показали 2-3-кратну ліпшину у часови розробкы тай обємови кода в зруняньови з проґрамами на C++. Из другого бока, проґрамы на C++ были на тулько же раз скурші. Авторы признавут, же здобыті дані ниє репрезентатівнов выборьков и не роблят катеґорічні выслідкы. В другому експеріментови<ref name="raytracer">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref> строгі функціоналны языкы ([[Standard ML]], [[OCaml]]) показали сполочноє прискоріня розробкы 10-кратноє (головно позад скуршому выявліню хыб) при приблизно руных показниках шустродійи (были хосновані рузні компілаторы в рузных режімах). У досліжіньови Лутца Прехелта<ref name="perhelt" />, на основі аналіза коло 80 рішінь, написаных доброволцями, были здобыті, в часности, слідувучі выслідкы: * Perl, Python, Rexx, Tcl забезпечили удвоє булшу быстроту розробкы, гий C, C++ и Java, причому одержаный код быв так само удвоє май куртым. * Проґрамы на скріптовых языках хосновали приблизно удвоє булше тямы, ги C/C++. == Крітіка == <syntaxhighlight lang="cpp"> #include <iostream> // для хоснованя std::cout #include <vector> // має у собі дінамічный масив #include <map> // має у собі тіп даных словник #include <string> using namespace std; int main() { // Убявляєме асоціятівный контийнер из шоровыми ключами й даными у видови вектору шорику. map<string, vector<string> > items; // Додаме в сись асоціятівный контийнер пару людий и даме йим дакулько предмету. items["Anya"].push_back("scarf"); items["Dmitry"].push_back("tickets"); items["Anya"].push_back("puppy"); // Перебереме вшиткі обєкты в контийнирі for(const auto& person : items) { // person - то пара двох обєкту: person.first - то го имня, // person.second - то є список го предмету (вектор шорику) cout << person.first << " is carrying " << person.second.size() << " items" << endl; } } </syntaxhighlight> === За крітіку C++ у цілому === Майчасті крітікы не противоставлявут C++ якомусь другому конкретному языкови, а повідавут, же удказ уд хоснованя єдного языка, што має много недостатку, в хосен декомпозіційи проєкта на пудзадачі, котрі рішавут ся на рузных языках, майбулш пудходящых про них, робит розробку не таков бабрачнов при єдночаснум пудвышіньови показнику [[Квалітность проґрамованя|квалітности проґрамованя]]<ref name="languageorient2">{{статя|назва={{iw|Language Oriented Programming}}|автор=Martin Ward|рік=1994|url=http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|archivedate=2016-03-04|archiveurl=https://web.archive.org/web/20160304020956/http://www.cse.dmu.ac.uk/~mward/martin/papers/middle-out-t.pdf|выдавательство=Computer Science Department, Science Labs}}</ref><ref name="Hudak_DSL2">{{статя|автор=Paul Hudak|выдавательство=Department of Computer Science, Yale University|назва=Modular Domain Specific Languages and Tools}}</ref>. Из тої самої причины крітікує ся й засокочіня сполочливости з Сі: аж частина задачі жадат низкоруньовых возможностю, май розумно бы было вынести ю у окрему пудсістему й написати ю на Сі. Свою очеридь, побучникы C++ твирдят, же забераня технічных и орґанізацічных проблем межеязыкового сполочнодіїня позад хоснованя єдного універзалного языка взамін дакулькых шпеціялізованых є май вижно, гий хыбованя того універзалного языка. То єсть, сама широкость возможностю C++ оправдує хыбы каждої из возможности; в тум числови й хыбы, унаслідовані выд Сі, оправдані перевагами сполочности (див. [[C++#Філозофія C++|горі]]). Такым способом, тоты самі особенности C++ – обєм, чажкость, [[еклектічность]] и невыразна цільова карина хоснованя – побучниками ся розцінює ся ги «головна перевага», а крітіками – ги «головный недостаток». === Крітіка оремых елементу й концепцій === ==== Контрола за повожіньом ==== Ідеолоґія языка змішує «контрол за повожіньом» из «контролов за ефектівностю»: прінціп «не платиш за то, што не хоснуєш» ➤ предпокладає, же засобованя повного контрола проґрамішта над вшиткым, што ся діє в проґрамі на доста малому руни, є потребным и достаным про достиганя высокої ефектівности кода. У дійсности про грубі проґрамы то не так: коли низкоруньова оптімізація кладе ся на ґорґуші проґрамішта, котру квалічный компілатор [[Предметно-орьєнтованый язык проґрамованя|предметово-орьєнтованого]] языка бы зробив ліпше, тото веде лем до збулшіня обєма кода, до май чажкого процеса розробкы й до знижіня порозумілости й тестуйимости кода. Тым способом, прінціп «не платити за то, што не хоснуєш» в реалности не дає такых жаданых переваг в ефектівности, айбо казит квалітность проґрамы. ==== Компонентноє й обєктово-орьєнтованоє проґрамованя ==== За думаньом [[Алан Кей|Алана Кея]], обєктова модела <nowiki>«</nowiki>[[Алґол]] из класами», котра хоснує ся в C++, уступає модели «вшитко є обєкт»<ref name="alankay2">{{cite web|url=http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|title=Alan Kay's Definition Of Object Oriented Programming|accessdate=2013-08-05|deadlink=yes|archiveurl=https://web.archive.org/web/20130824235515/http://c2.com/cgi/wiki?AlanKaysDefinitionOfObjectOriented|archivedate=2013-08-24}}</ref>, котра хоснує ся в [[Objective-C]]. Ун лічит, же модела Objective-C має булшу кулькость возможностю, май файні показникы [[Поновне хоснованя кода|поновного хоснованя кода]], ліпшу порозумілость, модіфікуйимость и тестуйимость. Тото є зкапчано з тым, же у Objective-C всі компоненты є обєктами, што засобує булшу єднорудность и простоту в хоснованьови обєктово-орьєнтованых пудходу. Модела наслідованя в C++ складна й чажка в реалізаційи. Уна часто заставляє до зотворіня складных ієрархій из неприродными удношіньом меже класами. Наприклад, у многых трафунках хоснує ся наслідованя взамін вложіня, што зотворяє нездорову независимость меже класами. Позад того часто выходит, же класы ставут [[Ізкапчаность (проґрамованя)|силно изкапчаными]] з неясно розділеным функціоналом, што убчажує йихньоє пдалше міняня й тестованя. Гий приклад{{sfn|Шилдт, Теория и практика C++|1996||сторінки=64—67}}, у літературі наводит ся рекомендація реалізовати клас «список» як пудклас уд «елемента списка», де каждый елемент має функційи доступа д инкыма елементам. Такоє рішіня є нелоґічным из математічної точкы зріня, бо «список» ниє фільом «елемента списка», а складає ся з них. У булш строгых языках проґрамованя така модела не удображає ся, бо там наслідованя має значіня «є пудфільом», а не «є частьов». Дакотрі бібліотекы в C++ жадавут особного перевединя тіпу увирьх и долу за ієрархійов класу через <code>static_cast</code> авадь <code>dynamic_cast</code>. То порушує [[Тіпобезпека|тіпобезпеку]] языка, бо компілатор не годен докус перевірити правилность переведіня тіпу, ай проґрамішт має на собі удповідалность за правилноє хоснованя. Кроме того, C++ має грубу [[Вязкость (проґромованя)|вязкость]] рішінь. Тото означат, же малі міняня на пузьньых етапах розробкы можут жадати переписованя грубиньськых частий проєкта. Наприклад, аж гія поміняти пудход ид сокочіньови даных авадь поміня структуру класу, тото може потребовати міняня многых частий кода, што воле убчажує пудпору й розвуй проєкта<ref name="languageorient2" />. [[Ян Джойнер]]<ref name="Joyner2">{{статя|автор=Ian Joyner|archivedate=2013-11-25|archiveurl=https://web.archive.org/web/20131125045724/http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf|назва=A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition|url=http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf}}</ref> крітікує C++ за хыбну ідефікацію инкапсулаційи (поміщіня даных у вудну обєкта й удділіня реалізаційм уд интерфийса) из сокрытьом реалізаційи. Сесе означат, же в C++ доступ до даных класа гія робити через ґеттеры й сеттеры — шпеціялні функційи доступа. Позад того обєм кода збулшує ся, а го структура убчажує ся. Такый пудход робит C++ май мало выразным руняно з языками, де доступ ид даным реалізує ся через обєктну модела авадь через удпирті штімованя. У выслідкови, C++ часто жадат булше кода діля реалізаційи простої функціоналности, што меншит порозумілость и продуктівность проґраміста. Ищи єдным важливым убграничіньом є то, же зовпаданя тіпу у C++ вызначат ся на руни ідентіфікатору, а не сіґнатур. То означат, же пудстановка компоненту, закладена на зовпадіню интерфийсу, невозможна. Позад того додаваня нової функціоналности в сістему часто жадат личного міняня ужек еґзістувучого кода, што призводит до силної вязкости рішінь<ref name="Paulson3">{{книга |автор=Paulson, Lawrence C. |isbn=0-521-57050-6 (hardback), 0-521-56543-X (paperback) |тітул=ML for the Working Programmer, 2nd edition |выдавательство=Cambridge University Press |рік=1996 }}, c.271-285</ref>. [[Лінус Торвалдс]]<ref name="Torvalds_Gmane" /> крітікує C++ за то, же «код видит ся абстрактным лем до тої поры, докы не гія го міняти». Тото є скапчано з тым, же абстракція у C++ часто пряче чажку реалізацію, котра робит код чажко модіфікуйимым и пудпорьованым. Крітіка C++ из позіцій ООП приведеноє у роботі<ref name="Joyner2" />. ==== Метапроґрамованя ==== Порожувучоє метапроґрамованя у C++ основує ся на шаблонах и [[Препроцесор|препроцесорови]], уно є чажкым и має убграничині возможности. Сістема шаблону в C++ в сути є вирзійов примітівного [[Функціоналне проґрамованя|функціоналного языка проґрамованя]], котрый ся оконує при компілаційи. Тот язык майжек не перехоплює ся з самым C++, позад што потенціял роста чажкости абстракцій убграничиным. Проґрамы, котрі хоснуювут шаблоны в C++, мавут дуже низкі показникы урозумливости й тестованости, а особенно розгорнутя шаблону робит неефектівный код, бо язык шаблону не має аниякых средств оптімізаційи. Встройині предметно-шпеціфічні языкы, зроблині тым способом, єднако хочут знаня самого C++, што не забезпечує повного розділіня роботы. Такым способом, возможности C++ у розширіню возможностю самого C++ сут дуже убграничині.<ref>{{статя|назва=Domain-Specific Languages|автор=Walid Taha|archiveurl=https://web.archive.org/web/20131024072658/http://www.cs.rice.edu/~taha/publications/conference/icces08.pdf|archivedate=2013-10-24|выдавательство=Department of Computer Science, Rice University}}</ref><ref>{{статя|автор=Lugovsky V.S.|рік=2008|url=http://arxiv.org/abs/cs/0409016v1|archivedate=2016-08-10|archiveurl=https://web.archive.org/web/20160810224158/http://arxiv.org/abs/cs/0409016v1|назва=Using a hierarchy of Domain Specific Languages in complex software systems design}}</ref> ==== Кросплатформность ==== Про писаня портованого кода на C++ гія груба умілость и скушеность, ай «недуйдавый» код на C++ из грубов возможностьов може быти непортованый<ref name="XXtraps64bit2">{{статя|автор=Андрей Карпов|рік=2007|archivedate=2015-04-02|archiveurl=https://web.archive.org/web/20150402114050/http://rsdn.ru/?article%2Fcpp%2FXXtraps64bit.xml|назва=20 ловушек переноса Си++ - кода на 64-битную платформу|выдавательство=RSDN Magazine #1-2007}}</ref>. За думков [[Лінус Торвалдс|Лінуса Торвалдса]], убы засобовати портованость на C++, сумарно д Сі, проґрамішт мусит убграничити ся возможностями C++, котрі перебрані из Сі<ref name="Torvalds_Gmane" />. Штандарт має много елементу, котрі сут вызначені ги «implementation-defined» (наприклад, розмір указатиля на методы класу в рузных компілаторах кывавут ся в розмірі уд 4 д 20 байтам<ref>{{статя|назва=Указатели на функции-члены и реализация самых быстрых делегатов на C++|автор=Don Clugston, CSG Solar Pty Ltd (Перевод: Денис Буличенко)|выдавательство=RSDN Magazine #6-2004|url=http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml|archivedate=2013-10-19|archiveurl=https://web.archive.org/web/20131019045704/http://www.rsdn.ru/?article%2Fcpp%2FFastDelegate%2FFastDelegate.xml}}</ref>), што слабит портованость проґрам из йих хоснованьом.<div class="ts-Конец_цитаты-source">Дірективный характер штандартізаційи языка, неповна зворотна сполочность и противность жадань рузных вирзій штандарта роблят проблемы при перенесіньови проґрам меже рузными компілаторами и дажий вирзіями єдных и тых же компілатору.</div> === Удсутность возможностю === ; '''Рефлексівноє метапроґрамованя''' [[Интроспикція (проґрамованя)|Интроспикція]] в C++ є зроблина удділено уд основної сістемы тіпу, што робить ю майжек непотребнов. Майбулше, што мож ся досягнути, то є параметрізація повожіня на навперед знамых опціях. То бримає хоснованю C++ в булшости пудходу до реалізаційи [[Умела інтеліґенція|умілої интелеґинційи]]. Функціоналноє проґрамованя Явна пудпора функціоналного проґрамованя є лем у штандартови C++0x, перед тым тоты недостаткы заповньовали бібліотекы ([[Loki]], [[Boost]]), котрі хосновали язык шаблону, айбо йих квалітность є далеко май слаба в поруняньови з рішінями, встройиными д функціоналным языкам<ref group="Убясниня">Наприклад, <code>Boost.Lambda</code> позіціонуєся як ламбда-функція, єднако C++ не отілиснює [[ламбда-вычислиня]] Чёрча повностю; імітація [[Комбінаторы|комбінатору]] посредством языка шаблону через-чурь тяжка, штобы чекати їх хоснованя на практіці; [[Продолжение (программирование)|продовжіня]], унаслідовані уд Сі, рахувутся неідеоматічными и небезпечными, а їх реалізація посредством языка шаблону нежлива; кроме того, хоснованя {{iw|λ-пудём|λ-пудёма|en|lambda lifting}} для оптімізації C++ неможливо,— так што фактічно <code>Boost.Lambda</code> — то є просто анонімна функція, а не обєкт лямбда-вычисліня.</ref>. Так само, квалітность реалізаційи возможностю C++ (гий ООП) через функціоналні языкы є май низка. Реалізовані в C++ возможности функціоналного проґрамованя не позволявут хосновати оптімізаційні стратиґійи[⇨], котрі сут особні функціоналному проґрамованьови. Уни лем убграничині на вызовы функціоналных бібліотек и реалізацію окремых функцій. То практічно не дає ниякых предностю при проєктованьови проґрам (див. <nowiki>«</nowiki>[[Удповідность Каррі — Говарда]]<nowiki>«</nowiki>). ; === Извышні й небезпичні возможности === ==== Устройині стрества убхода убграничінь ==== Язык має засобы, котрі позволявут проґрамістови порушати задані у конкретному припаді прінціпы проґрамованя. Наприклад, модіфікатор <code>const</code> задає обєктови особенность неизмінности стана, айбо модіфікатор <code>mutable</code> позволяє на насилноє міняня стана в удну константного обєкта, што фактічно зрушує константность. Булше того, мож дінамічно зотерти атрібут <code>const</code> из константного обєкта, перемінявучи його на ліво-допустимый (L-value). Сутя такых возможностю у языкови робит пробы [[Формална веріфікація|формалної перевіркы]] кода нетяклыми, а хоснованя убграничінь на оптімізацію — невозможными. ==== Неконтролуйимоє макропудставліня ==== Засобы макропудставліня у Сі (<code>#define</code>) сут воле силными, айбо й небезпечными засобами. Уни усокотили ся у C++, хоть и в C++ є май строгі й шпеціялізовані засобы на рішіня всьых задач, на котрі уни были задумані в Сі — шаблоны, переубтирьханя функцій, inline-функційи, просторы имен, май розвойина тіпізація, розшириноє хоснованя модіфікатора <code>const</code> и другоє. У внаслідованых уд Сі штандартных бібліотеках є много потенціялно небезпечных макросу<ref>Страуструп, Программирование: принципы и практика использования C++, 2001</ref>. Шаблонноє метапроґрамованя пораз ся комбінує з хоснованьом макропудставліня на засобованя так называнаго <nowiki>«</nowiki>[[Сінтаксічный цукор|сінтаксічного цукра]]<nowiki>«</nowiki>. ==== Проблемы переубтирьханя ==== <div class="ts-Конец_цитаты-source">Прінціпы переубтирьханя функцій и оператору в C++ веде д грубому дублованьови кода. Переубтирьханя оператору, што было задуманоє на додаваня <nowiki>«</nowiki>[[Сінтаксічный цукор|сінтаксічного цукра]]<nowiki>«</nowiki>, в C++ позволяє без контролы міняти повожіня елементарных операцій про рузні тіпы. То дуже пудвысшує різік хыб, тым булше, што уводит новый сінтаксіс авадь міняє сутный (наприклад, робити нові операторы авадь міняти пріорітеты й асоціятівность) не мож, хоть сінтаксіс штандартных оператору C++ не фурт адекватный семантіци новых тіпу, котрі ся можут потребовати в проґрамі. Окромі проблемы робит легкота переубтирьханя оператору <code>new</code>/<code>delete</code>, што може зробити дуже гамішні й чажко находимі хыбы. При тум дашто з того, што бы ся чекало интуітівно (наприклад, харіня дінамічных обєкту при ґенераційи выйимку), в C++ ся не оконує, а груба часть переубтирьханых функцій й оператору ся выкликавут неявно (наприклад, при переробліньови тіпу авадь творіньови дочасных еґземплару класу). У выслідкови засобы, котрі мали робити проґрамы май ясными й май удобными про розробку й убслугованя, перероблявут ся на жрідло непотребного убтяжіня и знижавут надійность кода. </div> === Вылічна ефектівность === ==== Резултувучый обєм оконаного кода ==== Хосновані шаблоны в C++ є формов параметрічного поліморфізма на руни выходного кода, айбо при компілаційи ун переробляє ся на сітуаційный (ad hoc) поліморфізм (то є переубтирьханя функцій), што веде д значному збулшіню обєма машинного кода в руняно із языками, котрі мавут управді поліморфну сістему тіпу (як у насліднику [[ML]]). Убы змешити розмір машинного кода, пробувут автоматічно убробляти выходный код перед розкрутков шаблону<ref>{{статя|автор=Dave Gottner.|выдавательство=[[Dr. Dobb's Journal]]|рік=януарь 1995|archivedate=2008-06-07|archiveurl=https://web.archive.org/web/20080607062859/http://www.ddj.com/cpp/184403053|назва=Templates Without Code Bloat}}</ref><ref>{{cite web|author=Adrian Stone.|title=Minimizing Code Bloat: Redundant Template Instantiation|url=http://gameangst.com/?p=246|publisher=Game Angst|date=2009-09-22|accessdate=2010-01-19|archiveurl=https://web.archive.org/web/20111208031943/http://gameangst.com/?p=246|archivedate=2011-12-08|deadlink=yes}}</ref>. Другым рішіньом могла бы быти штандартізована возможность експорта шаблону (ищи з [[1998|1998 года]]), айбо вна є доступна лем у мало котрых компілаторах, бо є чажко реалізовати й ниє хосенна<ref>{{статя|автор=[[Саттер, Герб|Herb Sutter]].|archivedate=2009-01-15|archiveurl=https://web.archive.org/web/20090115075141/http://www.ddj.com/cpp/184401381|назва=C++ Conformance Roundup|выдавательство=[[Dr. Dobb's Journal]]|рік=януарь 2001}}</ref><ref group="думка">{{cite web|author=vanDooren|url=http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|title=C++ keyword of the day: export|publisher=Blogs@MSMVPs|date=2008-09-24|accessdate=2010-01-19|quote=The export keyword is a bit like the Higgs boson of C++. Theoretically it exists, it is described by the standard, and noone has seen it in the wild. … There is 1 C++ compiler front-end in the world which actually supports it|archiveurl=https://web.archive.org/web/20090506053736/http://msmvps.com/blogs/vandooren/archive/2008/09/24/c-keyword-of-the-day-export.aspx|archivedate=2009-05-06|deadlink=yes}}</ref> на імпорт бібліотек шаблону C++ в языкы з инаков семантіков. Побучникы C++ оспорювут роздуваня кода гий перебулшеноє<ref>{{cite web|author=[[Майерс, Скотт|Scott Meyers]]|url=http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/2b00649a935997f5/5feec243078c5fd8|title=Code Bloat due to Templates|work=comp.lang.c++.moderated|publisher=[[Usenet]]|date=2002-05-16|accessdate=2010-01-19}}</ref>, іґнорувучи факт, што в Сі параметрічный поліморфізм ся компілує просто, без дублованя тіл функцій. Уни лічат, же параметрічный поліморфізм у Сі є небезпечный — то єсть май небезпечно, ги перехуд уд Сі до C++ (хоть противникы C++ думавут навспак). ==== Потенціял оптімізаційи ==== Позад слабої сістемы тіпу й бивноты [[Побочні ефекты (проґрамованя)|побучных ефекту]] стає через чурь чажкым еквівалентноє преобразованя проґрам, а значит и встройиня у компілатор многых оптімізувучых алґорітму, такых гий автоматічноє [[розпаралелёваня проґрам|розпаралельованя проґрам]], [[зрушіня сполочных пудвыражінь]], λ-пудйом, выклик процедур из передачов [[Продовжіня (проґрамованя)|продовжіня]], [[Суперкопілація|суперкомпілація]] й другі. Выслідком реална ефектівность проґрам на C++ убграничує ся мавучов кваліфікаційой проґрамішту й вкладеными в конкретный проєкт силы, й «лайдацька» реалізація може доста силно попущат по ефектівности «лайдацькым» реалізаціям на языках булш высокого урувня, што пудтвирьжує зруньовалні спытаня языку<ref name="raytracer2">'''Ray Tracer Language Comparison''' (бенчмарк языков программирования — ffconsultancy.com/languages/ray_tracer/)</ref>. То є значущов зашпотков діля хоснованя C++ в индустрійи [[data mining]]. <syntaxhighlight lang="cpp"> #include <iostream> // Імпортує всі оголошіня у просторі имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </syntaxhighlight> ==== Ефектівноє кроманьованя тямов ==== Обязаность по ефектівному кроманьованю тямов лежит ґорґушах розробника й зависит уд умілости розробника. Діля автоматічного кроманьованя тямов у C++ традічно ся хоснувут так называні «розумні указатилі», особенноє же кроманьованя тямов меншит ефектівность самых проґрамішту. Многочисилні реалізаційи [[Харіня мусора (проґрамованя)|харіня мусора]], такых, ги штатічный [[Кроманёваня тамов на основі реґіону|вывуд реґіону]], не примінні діля C++ проґрам (май точно, то требує реалізаційи повирьх языка C++ інтерпретатора нового языка, силно инакого уд C++ и в булшости обєктівных особенностю, й у сполочнуй ідеолоґійи) из причины неубходимости прямого доступа д [[Абстрактно сінтаксічне дерево|абстрактно сінтаксічному дереву]]. === Резултатівность === Зоудношіня фактору резултатівности з затратами на розробку, а так само сполочну култівовану в сполоченстві проґрамішту дісціпліну й културу проґрамованя важно брати до увагы заказникам, котрі выберавут язык C++ (ай, значит, тых, котрі волівут тот язык розробникам) про реалізацію задуманых ними проєкту, а так само людьом, што зачинавуть учити ся проґрамованьови, особливо з жаданьом проґрамовати про свої потребности. ==== Квалітность и култура проґрамованя ==== Прінціп C++ «''не наязовати „добрый“ штіл проґрамованя''» перечит промысловому пудходу д проґрамованьови, в котрому головну роль мавут [[квалічность проґрамного засобованя|квалітность проґрамного засобованя]] й возможность допровуда кода не лем автором, ай другыми, й котрый май выгодні языкы, што мінімізувут вплыв [[Людьскый фактор|людського фактора]], то значит якраз «''наязувут „добрый“ штил проґрамованя''», хоть такі языкы можут мати веце высокый поруг входжіня. Еґзістує думка, же волішность хосноватиля C++ (при можности выбирати алтернатівні языкы) уймовость характерізує професійні возможности проґрамішта. Наприклад, [[Лінус Торвалдс]] каже, же позітівна думка кандідату за C++ є про него крітерійом удсіва: ''C++ — кошмарный язык. Його робит ищи веце кошмарным тот факт, же много не доста ґрамотных проґрамішту го хоснувут… Удкрыто кажучи, и кідь ниє аниякых причин выберати Сі, кроме того, убы держати C++-проґрамішту подале, то й лем тот аргумент буде доста важным основаньом про хоснованя Сі.'' ''…Я прийшов до вывода, же дійсно зачну выгнати каждого, тко выбере вести розробку проєкта на C++, а не на Сі, убы тот чилядник не загубив проєкт, у котрый я прилученый.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс, Линус|Лінус Торвалдс]],<ref name="Torvalds_Gmane" /></cite></div> ==== Управліня выправленого ==== Неперерывна еволуція языка побужує (а часом и змушує) проґрамісту раз за разом міняти ужек удлажений код — то не лем дорожит розробку, ай и несе різік увожіня до ужек удладженого кода новых хыб. Наприклад, кідь иззачинаня зворотна сполочность из Сі была єдным из базовых прінціпу C++, уд [[1999|1999 року]] Сі перестав быти пудмножинов C++, так што ужек удладженый код на Сі не може быти хоснованый в проєктови на C++ без измініня. ==== Чажкость подля самої тяжкости ==== C++ є окресленый його аполоґетами гий «маймоцный» и''менно позад того'', хоснує небезпечні і взайимно-противні можности. За думаньом [[Ерік Реймонд|Еріка Реймонда]], то робит язык сам по собі основов про личноє самостверджіня проґрамішту, перероблявучи процес розробкы на самоціль. ''Проґрамішты — то часто яркі люди, котрі ся гордять … свойов можностьов справлятися з чажкостями й шіковно убходити ся з абстракціями. Часто ся перед собов змагати, пробувучися выяснити, ко може зотворити «майзапутані й майфайні чажкости». … Суперникы мнят, же мусят змагати ся з чужыми «прикрашаньоми» тым, же додадут свої. Доста скоро «масивна ґырча» стане индустріялным штандартом, и всі зачнут хосоновати грубі, переповнині хыбами проґрамы, котрі не можут убрадити онь йих творцю.'' ''…Такый пудход може убернути ся псотов, як проґрамішты реалізувут прості речі чажкыми способами лем зато, же йих знавут и умівут йих хосновати.'' — <cite>[[:ru:Реймонд, Эрик Стивен|Ерік Реймонд]]</cite> ==== Саботаж ==== <div class="ts-Конец_цитаты-source">Зафіксовані трафункы, коли лайдацькі програмішты, хоснувучи силну контекстну зависимость C++ и недостаток возможностю удслідили макровызначіня компілатором, помалили розробку проєкта, коли написали єдно-два лишні, формално коректні з никаня компілатора, шорикы кода, айбо коли впровадили через то чажко выявителну, знівыдкы проявлявучу ся хыбу. Наприклад:</div> <syntaxhighlight lang="cpp">#define if(a) if(rand())</syntaxhighlight> <syntaxhighlight lang="cpp">#define j i</syntaxhighlight> У [[Чистота языка проґрамованя|языках из доказанов коректностьов]], онь из розвоєными макросредствами, нанести шкоду подобным способом не мож. ==== Ненадійность продукта ==== Невыправдана бивнота побучных ефекту у спойині з недостатком контролы з бока сістемы часа оконаня языка и слабов сістемов тіпу робит проґрамы на C++ вразливыми до непередвиденых фаталных порух (сполочнознамі «падіня» з оповістками ги «Access violation», «Pure virtual function call» авадь «Проґрама оконала недопустиму операцію й буде заперта»), што выключує хоснованя C++ у трафункови грубых требовань д удказостойкости. Кроме того, то щи додатково збулшує тримліня самого процеса розробкы. ==== Менеджмент проєкту ==== перечислині высше факторы роблят чажкость менеджмента проєкту на C++ єднов из самых высоких у индустрійи розроботкы [[Проґрамове забеспечіня|ПЗ]]. Джеймс Коґґінґс, котрый чотыри годы быв ведучым колонкы в ''The C++ Report'', дават такоє поясніня: ''— Проблема є в тому, же проґрамішты, котрі робили в ООП, експеріментовали з кровозмішаными аплікаціями й были націлині на низкый уровинь абстракційи. Наприклад, уни стройили класы, гий «зязаный список», взамін «интерфийс хосноватиля», авадь «зарі радіяційи», вадь «моделы з конченых елементу». Шкода што, стройна провірка тіпу, котра помагає проґраміштам C++ убходити хыбы, у тому самому часі учажит строїня грубых обєкту з малых.'' — <cite>[[:ru:Брукс, Фредерик|Ф. Брукс]], [[:ru:Мифический человеко-месяц|Мітічный чоловіко-місяць]]</cite> == Вплыв и алтернатівы == [[Файл:C_Cpp_compare.png|праворуч|міні|Проґрама <nowiki>«</nowiki>[[Hello, world!]]<nowiki>«</nowiki> на C тай C++.]] Єдиным прямым наслідником C++ є [[D (язык проґрамованя)|язык D]], задуманый гий переробка C++ діля вылучіня май очевидных го проблем. Авторы удказали ся уд сполочности з Сі, усокочувучи сінтаксіс и многі базові прінціпы C++ и уводжувучи в язык возможности, характирні про новых языку. В ''D'' ниє препроцесора, наголовочных файлу, множинного наслідованя, айбо є сістема модулу, интерфийсы, асоціятівны масивы, пудпора ''[[unicode]]'' у шора, харіня нехари (при усокочіню возможности особного кроманьованя тямов), устройина многопоточность, [[вывуд тіпу]], ясноє убявліня чистых функцій и неізмінных значинь. Хоснованя D є доста убграничиноє, и го мож лічити же реалного конкурента C++. Май старый конкурент C++ у задачах низкого урувня — [[Objective-C]], котрый так само, як C++, є побудованый на спойиню Сі из обєктнов моделов, лем же в Objective-C обєктна модела унаслідована уд ''[[Smalltalk]]''. ''Objective-C'', так само гий и його наслідник ''[[Swift]]'', широко ся хоснує діля розробкы софтвера пуд ''[[macOS]]'' и ''[[iOS]]''. Єднов из пирьвых алтернату C++ у аплікатівнум проґрамованьови став язык [[Java]]. Його часто неправилно лічат прямым наслідником C++; у дійсности його семантіка услідована уд языка ''[[Модула-2]]'', и основі семантікы C++ у ''Java'' ниє видимі. Беручи до увагы ґ''енеолоґію'' языку (''Модула-2'' є наслідником ''[[Сімула|Сімулы]]'', гий и ''C++'', айбо ним ниє ''Сі''), ''Java'' май привилно бы именовати «тройорудным братом» C++, а не «наслідником». То саме мож уповісти й за язык ''[[C Шарп|C#]]'', хоть ступінь його подобности д C++ є булш выразный, гий у ''Java''. Пробов спойиня безпечности й шустрости розробкы, характерных діля Java і C#, з возможностями C++ став [[Managed C++]] (впослідстві — [[C++/CLI]]). Зотвореный ''[[Microsoft Corporation|Microsoft]]'', головно діля переносу еґзістує C++ проєкту на платформу ''[[Microsoft.NET]]''. Проґрамы ся оконувут пуд кроманьованьом ''[[CLR]]'' и можут хосновати всьый арсенал бібліотек ''.NET'', айбо накладає ся шор убграничінь на хоснованя возможностю C++, што фактічно зводит C++ до уровня ''C#''. Тот діялект не дустав грубого признаня й є хоснованый головно про поязаня бібліотек, написаных на чистому C++, із ''C#''-аплікаціями. Алтернатівный путь розвоя языка Сі — його спойиня не з ООП, айбо з апплікатівным проґрамованьом, то значит поліпшіня абстракційи, стройности й модулности низкоруньовых проґрам позад забезпичіня передвединя повожіня й [[Удканська прозорость|удканської прозорости]]. Приміром такых робіт служат языкы ''BitC, Cyclone'' и ''Limbo''. Хоть и є успішні спробы хоснованя функціоналного проґрамованя у задачах реалного часу без интеґраційи з засобами Сі<ref>{{статя|автор=Zhanyong Wan and Paul Hudak|archiveurl=https://web.archive.org/web/20110816234039/http://www.cs.rice.edu/~taha/publications/conference/padl02.pdf|archivedate=2011-08-16|назва=Event-Driven FRP|выдавательство=Department of Computer Science, Yale University}}</ref><ref>{{Cite web|url=http://www.cs.rice.edu/~taha/publications/|title=Walid Taha|lang=en|website=School of Engineering Rice University|accessdate=2019-11-20|deadlink=yes|archiveurl=https://www.webcitation.org/6IqLu1AP0?url=http://www.cs.rice.edu/~taha/publications/|archivedate=2013-08-13}}</ref><ref>{{Cite web|url=http://www.it-c.dk/research/mlkit/index.php/Main_Page|title=MLKit|archiveurl=https://web.archive.org/web/20130917074849/http://www.it-c.dk/research/mlkit/index.php/Main_Page|archivedate=2013-09-17|deadlink=yes|accessdate=2013-07-30}}</ref>, же на даный момент ([[2013|2013 г]].) в низкоруньовуй розробци хоснованя Сі в рузнуй мірі дає майліпше зовыдношіня затрудливости й резултатівности. Много сил приложили розробникы ''[[Python]]'' і ''[[Lua]]'', убы забеспечити йих комфортноє хоснованя проґраміштами на C++. Из усьых языку, зязаных из функціоналнoв парадіґмов, самі Python і Lua майчасто ся хоснувут у спойині з C++ у єднум проєктови. Майзначными точками кываня C++ из функціоналным проґрамованьом — приязкы бібліотек [[wxWidgets]] і [[Qt]] (котрі зотворині в духу ідеолоґійи C++) до языку [[Lisp]], [[Haskell]] и [[Python]]. У булшости трафунку приязкы до функціоналных языку роблят про бібліотекы, написані на Сі авадь инакых функціоналных языках. Ищи єдным языком, на котрый никавут ги на конкурент C++, є [[Nemerle]] — выслідок поробы спойиня [[Модел тіпізації Гіндлі-Мілнера|модели тіпізаційи Гіндлі-Мілнера]] й макропудмножины [[Common Lisp]] из языком C#<ref>{{статя|автор=Чистяков Влад aka VladD2|archivedate=2013-12-13|archiveurl=https://web.archive.org/web/20131213061243/http://rsdn.ru/?article%2Fphilosophy%2FSyntacticSugar.xml|назва=Синтаксический сахар или C++ vs. Nemerle :)|выдавательство=RSDN Magazine #1-2006|рік=24.05.2006}}</ref>. У тому самому руслі лежит и зотвореный Microsoft язык [[F#]] — діялект [[ML]], адаптованый про міліє. NET. Пробов зотворити промысленну заміну Сі тай C++ став [[Go (язык проґрамованя)|Go]], розробленый корпораційов [[Google]] в [[2009|2009 році]]. Авторы языка прямо указали, же го зотворіня было мотівовано недостатками процеса розробкы, выкликаных особенностями языку Сі тай C++<ref name="designGo2">{{Cite web|url=https://talks.golang.org/2012/splash.article|title=Go at Google: Language Design in the Service of Software Engineering|publisher=talks.golang.org|accessdate=2017-09-19|archive-date=2021-01-25|archive-url=https://web.archive.org/web/20210125205239/https://talks.golang.org/2012/splash.article|deadlink=no}}</ref>. Go — компактный, простый у структурі імператівный язык из [[Сі самаравучі языкы проґрамованя|Сі-подобным]] сінтаксісом, без препроцесора, з статічнов тіпізаційов, стройным контролом тіпу, сістемов пакету, автоматічным кроманьованьом тямов, дакотрыми функціоналныма особностями, скромно побудованов ООП-пудсістемов без пудпоры наслідованя імплементаційи, айбо з интерфийсами й [[Качова тіпізація|качовов тіпізаційов]], встройинов многопоточностьов, основанов на зопроґрамах и каналах (в духови [[Occam]]). Язык ся позіціонує гий алтернатіва C++, то є передовшиткым засоб для командної розробкы высокоефектівных вылічытилных сістем великої чажкости, в тому й розподілиных, айбо допущавучуй низкоруньовоє проґрамованя. У єднуй карини з Сі тай C++ є и язык [[Rust (язык проґрамованя)|Rust]], розробленый у [[2010|2010 годі]] й пудпрьованый корпораційов [[Mozilla]]. Його головна орьєнтація — безпечноє кроманьованя тямов без зберача нехари. У частичнуй заміні Сі тай C++ на Rust в [[2019|2019 годі]] заинтеросовала ся й корпорація Microsoft<ref>{{Cite web|url=https://www.zdnet.com/article/microsoft-to-explore-using-rust/|title=Microsoft to explore using Rust|author=Catalin Cimpanu|date=2019-06-17|publisher=ZDNet|lang=en|accessdate=2019-09-26|archive-date=2019-10-15|archive-url=https://web.archive.org/web/20191015014736/https://www.zdnet.com/article/microsoft-to-explore-using-rust/|deadlink=no}}</ref>. У [[2022|2022 годі]] компанія Google представила експеріменталный язык [[Carbon]], зотвореный гий потенцічный наслідник C++. На розділ уд Rust, Carbon має забеспечити двонапрямову сполочность из C++ й ліпшу читабилность кода. == Популарні проґрамы зотворині на нюм == * [[Opera]] * [[μTorrent]] * [[Google Chrome]] * [[Visual Studio]] * [[C++ Builder]] * [[CATIA]] == Никай ся втож == * [[С (язык проґрамованя)|Сі]] * [[Язык проґрамованя]] * [[Обєктово орьєнтоване проґрамованя|Обєктово-орьєнтованоє проґрамованя]] * [[Objective-C]] * [[Managed C++]] * [[Visual Studio]] * [[C++ Builder]] == Пудміткы == <references responsive="1"></references> ;Думка <references group="думка" /> ;Убясниня <references group="Убясниня" /> ;Поясниня {{Reflist|group="пояснения"}} == Література == * {{книга |автор=[[Страуструп, Бярен|Бярен Страуструп]]. |назва=Язык программирования C++ |оріґінал=The C++ Programming Language |відповідальний=Тов. із англ |выдавательство=[[Невский диалект]] — [[Біном (выдавательстьво)|Біном]] |місто={{СПб}}; {{М}} |рік=1999 |сторінок=991 |isbn=5-7940-0031-7 (Невский диалект), ISBN 5-7989-0127-0 (Бином), ISBN 0-201-88954-4 (англ.) |тираж=3000 |ref=Страуструп}} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Специальное издание |оріґінал = The C++ programming language. Special edition |місто = М. |выдавательство = Бином-Пресс |рік = 2007 |сторінок = 1104 |isbn = 5-7989-0223-4 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика использования C++, исправленное издание |оріґінал = Programming: Principles and Practice Using C++ |сторінки = 1248 |isbn = 978-5-8459-1705-8 |рік = 2011 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] |ref= Страуструп, Программирование: принципы и практика использования C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Дизайн и эволюция C++ |оріґінал = The Design and Evolution of C++ |місто = СПб. |выдавательство = Пітер |рік = 2007 |сторінок = 445 |isbn = 5-469-01217-4 |ref= Страуструп, Дизайн и эволюция C++ }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Язык программирования C++. Краткий курс |рік = 2019 |сторінок = 320 |isbn = 978-5-907144-12-5 }} * {{книга |автор = [[Страуструп, Бярен|Бярен Страуструп]] |назва = Программирование: принципы и практика с использованием C++ |рік = 2016 |сторінок = 1328 |isbn = 978-5-8459-1949-6 }} * {{книга |назва = Освой самостоятельно C++ за 21 день, 7-е издание (C++11) |оріґінал = Sams Teach Yourself C++ in One Hour a Day, 7th Edition |автор = Сиддхартха Рао |сторінок = 688 |isbn = 978-5-8459-1825-3 |рік = 2013 |місто = М. |выдавательство = [[Вильямс (выдавательство)|«Вильямс»]] }} * {{книга |автор = Стефенс Д. Р. |назва = C++. Сборник рецептов |выдавательство = КУДИЦ-ПРЕСС |рік = 2007 |сторінок = 624 |isbn = 5-91136-030-6 }} * {{книга |автор = Стівен Прата. |назва = Язык программирования C++ (C++11). Лекции и упражнения |виданя = 6-е изд |оріґінал = C++ Primer Plus, 6th Edition (Developer’s Library) |сторінок = 1248 |isbn = 978-5-8459-1778-2 |рік = 2012 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Стивен Прата. |назва = Язык программирования С. Лекции и упражнения |сторінок = 928 |isbn = 978-5-8459-1950-2 |рік = 2015 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Вільямс]] }} * {{книга |автор = Айвор Гортон. |назва = Visual C++ 2010: полный курс |оріґінал = Ivor Horton’s Beginning Visual C++ 2010 |сторінки = 1216 |isbn = 978-5-8459-1698-3 |рік = 2010 |місто = М. |выдавательство = [[Діалектіка (выдавательство)|Діалектіка]] }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]]. |назва = Полный справочник по C++ |выданя = 4-е выданя |оріґінал = C++: The Complete Reference |сторінки = 800 |isbn = 978-5-8459-0489-8 |рік = 2011 |місто = М. |выдавательство = [[Вільямс (выдавательство)|Виліямс]] |ref = Шилдт }} * {{книга |автор = [[Шилдт, Герберт|Герберт Шилдт]] |назва = Теория и практика C++ |оріґінал = Shildt's Expert C++ |выдавательство = BHV — Санкт-Петербург |місто = {{СПб}} |рік = 1996 |isbn = 0-07-882209-2, 5-7791-0029-2 |ref = Шилдт, Теория и практика C++ }} * {{статя | назва = Programming Language Guessing Games - If C++ is the Answer, what’s the question? | автор = P.J. Plauger. | выдавательство = [[Dr. Dobb's Journal]] | рік = Октобер, 1993 | ref = Plauger }} * {{книга |назва=The Unix-Haters Handbook |url=http://web.mit.edu/~simsong/www/ugh.pdf |выдавательство=[[International Data Group]] |ref=Unix-Haters |язык=und |рік=1994 }} * {{статя | назва =A Critique of C++ and Programming and Language Trends of the 1990s - 3rd Edition | автор = Ian Joyner. | url = http://www.quinn.echidna.id.au/quinn/C++-Critique-3ed.pdf | выдавательство = [http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/cppcrit/index008.htm копирайт и список изданий] | рік = 1996 | ref = Joyner }} * {{книга |автор=Скотт Мейерс |назва=Эффективный и современный C++: 42 рекомендации по использованию C++11 и C++14 |оріґінал=Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 |відповідальний=Пер. с англ |выдавательство=Вильямс |рік=2016 |сторінок=304 |isbn=978-5-8459-2000-3 }} * {{книга | назва = C++ The Complete Reference Third Edition | url = https://archive.org/details/ccompletereferen00schi_1 | автор = [[Шилдт, Герберт|Herbert Schildt]]. | выдавательство = Osborne McGraw-Hill | рік = 1998 | isbn = 978-0-07-882476-0 |ref = Шилдт }} * [https://rooksguide.org Jeremy A. Hansen. The Rook’s Guide to C++ (A Creative Commons-Licensed Textbook)]. == Удкликаня == * isocpp.org (англ.) — офіційный сайт C++ ** [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/ рабочие материалы комитета по стандартизации за 2009-й год] * Бярен Страуструп. [https://github.com/isocpp/ CppCoreGuidelines]{{Ref-en}} The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++ * Бярен Страуструп. [http://www.artima.com/cppsource/cpp0x.html Краткий обзор C++0x]{{Ref-en}} * [http://groups.google.com/group/comp.lang.c++.moderated/topics comp.lang.c++.moderated]{{Ref-en}} * {{Cite web |title=C++ FQA Lite |author=Yossi Kreinin. |url=http://yosefk.com/c++fqa/index.html |access-date= |archiveurl= |archivedate= |ref=C++ FQA }} * {{Cite web |author=[[Торвалдс, Лінус|Лінус Торвалдс]]. |title=Convert builin-mailinfo.c to use The Better String Library |publisher=[http://thread.gmane.org Gmane forum] |url=http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |date=2007-09-06 |archiveurl=https://web.archive.org/web/20131209133259/http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |archivedate=2013-12-09 |ref=Torvalds_Gmane }} [[Катеґорія:С++]] [[Катеґорія:Языкы проґрамованя]] [[Катеґорія:Статя написана мараморошськым ґваром]] [[Катеґорія:Сі самаравучі языкы проґрамованя]] [[Катеґорія:Высокорунёві языкы проґрамованя]] [[Катеґорія:Языкы проґрамованя із особным кроманёванём тямов]] 23i1zm6vkz9c3j7k4mho8la56f674a2 Clash Royale 0 22916 170192 157420 2026-09-23T13:00:04Z Rue323 31002 /* Ґеймплей */ 170192 wikitext text/x-wiki '''Clash Royale''' — мобілна бавка в жанрови [[Стратеґія в реалном часу|RTS]] з елементами [[Колекціона карточна бавка|ККБ]], доступна на платформах [[Android]] тай [[iOS]], выпущена [[2. марца]] [[2016]] року компаніёв [[Supercell]]. Розміщає ся в єдній игровій вселеній із ''Clash of Clans.'' == Ґеймплей == Ґеймплей будує ся на битвах, в котрых вам треба знищовати вражі башты унікалными картами, а щи боронити свої башты від врага. У каждого играча по 3 башты: дві башты прінцезы і єдна башта краля. Знищованя єдної із башт прінцез приносит єдну корону. Знищованя башты краля соперника приводит до моменталної побіды.<ref>{{Cite web |url=https://toucharcade.com/2016/03/02/clash-royale-review/ |title=‘Clash Royale’ Review – A Hybrid of Card Games, RTS, MOBA, and Awesome – TouchArcade |work=web.archive.org |date=2018-08-13 |access-date=2022-09-05 |archivedate=2018-08-13 |archiveurl=https://web.archive.org/web/20180813072842/https://toucharcade.com/2016/03/02/clash-royale-review/ }}</ref> У прінцезн більша шкода і скорша скорость атакы, но менше здоровля, чим у краля. За побіду, играч достає трофеї, скрынї, монеты и короны, дякуючи котрым він може просувати ся по Pass Royale і доставати доповнителнї удостоєня. Играч перед боём може наладити свою игрову колоду, выбравши вісїм карт, котрыми він і бде бавити. Кажда карта стойит опредїленоє число еліксіра, котрый призберує ся з опредїлёнов частотов в плынутї всёї битвы. Играч може бавити сам, авадь прилучити ся до ''клана'', що замыкат у собі до 50 играчів. Выйграючи бої на хосен клана, ёго участникы переганяют ся у рейтінґовій таблицї тай достают сполнї нагороженя. Дарованя свойых карт кланови дає опыт. === Карты === Колода играча — се 8 выбраных ним давнїше карты, які стало хоснуют ся в бою. Міняти карты в колодї мож перед боём. Карты выпадают в поєдинку трафунковым способом доты, докы бой не кінчит ся. Кажда слїдуюча з них має час «набиваня» послїдь хосонованя передущої, під час якого стає недоступнов і фарбит ся в сїрый колор. За рідкістю карти поділяються на 4 типи: # '''''Звыклї''''' ({{lang-en|Common}}) — майросширенї, трафляют ся часто, майже з каждої скрынї. # '''''Рідкостнї'''''({{lang-en|Rare}}) — стрічают ся в 20 раз рідше звыклых. # '''''Епічні''''' ({{lang-en|Epic}}) — стрічают ся в 10 раз рідше рідкосных. # '''''Леґендарні''''' ({{lang-en|Legendary}}) — стрічают ся в 20 раз рідше епічных.<ref>[https://web.archive.org/web/20171224155436/http://clashroyale.wiki/resources/cards/ Clash Royale Wiki]</ref> Всёго в бавцї 102 карты. З них: 27 — звыклі, 27 — рідкостні, 31 — епічні, 19 — леґендарні. Колоды мож формовати по любеній стратеґії.<ref>[https://web.archive.org/web/20171224213607/http://clashroyale.wiki/decks/ Clash Royale Wiki]</ref> == Рецензія == На момент реліза ''Clash Royale'' достала переважно позітивнї відкликы, а Елі Ходап з ''[https://toucharcade.com/ TouchArcade]'' назвав ї «абсолутно феноменалнов» у свому пятизвіздному обзорови.<ref>[https://web.archive.org/web/20180813072842/https://toucharcade.com/2016/03/02/clash-royale-review/ ‘Clash Royale’ Review – A Hybrid of Card Games, RTS, MOBA, and Awesome]</ref> Гарі Слейтер з ''[https://www.pocketgamer.com/ Pocket Gamer]'' поставив бавцї оцїнку 9/10, уповівши: «Се безмірно повно хосенного задоволеня, даґде вна заимаюча, і туй є контент, якый бде заимати вас [[Тыждень|тыжнями]], кідь не [[Місяць (календарьный)|місяцями]]<nowiki/>».<ref>[https://www.pocketgamer.com/clash-royale/clash-royale-get-ready-to-rumble-and-then-rumble/ Clash Royale - Get ready to rumble, and then rumble]</ref> У статї для ''[https://geek.com/ Geek.com]'' Джеймс Плафке розкрітиковав «''Clash Royale'' за то, що вна дїйсно інтересна — даже май більше, ги ''Clash of Clans'' — ходь творитиль хронічно вадит играчови насоложовати ся нив».<ref>[https://web.archive.org/web/20170712082611/https://www.geek.com/games/clash-royale-is-the-best-game-its-own-developer-doesnt-want-you-to-play-1648888/ Clash Royale is the best game its own developer doesn’t want you to play]</ref> == Одкликаня == * [http://clashroyale.com/ Офіційна вебова сторонка] * [https://clashroyale.wiki/ Clash Royale Wiki] == Зазначкы == [[Катеґорія:Бавкы про Android]] [[Катеґорія:Статя написана верьховинськым діалектом]] lm96rvu8dam87zxuxaxbz9fo4ywahnz 170193 170192 2026-09-23T13:02:00Z Rue323 31002 +информативность 170193 wikitext text/x-wiki {{Універзалный інфобокс}} '''Clash Royale''' — мобілна бавка в жанрови [[Стратеґія в реалном часу|RTS]] з елементами [[Колекціона карточна бавка|ККБ]], доступна на платформах [[Android]] тай [[iOS]], выпущена [[2. марца]] [[2016]] року компаніёв [[Supercell]]. Розміщає ся в єдній игровій вселеній із ''Clash of Clans.'' == Ґеймплей == Ґеймплей будує ся на битвах, в котрых вам треба знищовати вражі башты унікалными картами, а щи боронити свої башты від врага. У каждого играча по 3 башты: дві башты прінцезы і єдна башта краля. Знищованя єдної із башт прінцез приносит єдну корону. Знищованя башты краля соперника приводит до моменталної побіды.<ref>{{Cite web |url=https://toucharcade.com/2016/03/02/clash-royale-review/ |title=‘Clash Royale’ Review – A Hybrid of Card Games, RTS, MOBA, and Awesome – TouchArcade |work=web.archive.org |date=2018-08-13 |access-date=2022-09-05 |archivedate=2018-08-13 |archiveurl=https://web.archive.org/web/20180813072842/https://toucharcade.com/2016/03/02/clash-royale-review/ }}</ref> У прінцезн більша шкода і скорша скорость атакы, но менше здоровля, чим у краля. За побіду, играч достає трофеї, скрынї, монеты и короны, дякуючи котрым він може просувати ся по Pass Royale і доставати доповнителнї удостоєня. Играч перед боём може наладити свою игрову колоду, выбравши вісїм карт, котрыми він і бде бавити. Кажда карта стойит опредїленоє число еліксіра, котрый призберує ся з опредїлёнов частотов в плынутї всёї битвы. Играч може бавити сам, авадь прилучити ся до ''клана'', що замыкат у собі до 50 играчів. Выйграючи бої на хосен клана, ёго участникы переганяют ся у рейтінґовій таблицї тай достают сполнї нагороженя. Дарованя свойых карт кланови дає опыт. === Карты === Колода играча — се 8 выбраных ним давнїше карты, які стало хоснуют ся в бою. Міняти карты в колодї мож перед боём. Карты выпадают в поєдинку трафунковым способом доты, докы бой не кінчит ся. Кажда слїдуюча з них має час «набиваня» послїдь хосонованя передущої, під час якого стає недоступнов і фарбит ся в сїрый колор. За рідкістю карти поділяються на 4 типи: # '''''Звыклї''''' ({{lang-en|Common}}) — майросширенї, трафляют ся часто, майже з каждої скрынї. # '''''Рідкостнї'''''({{lang-en|Rare}}) — стрічают ся в 20 раз рідше звыклых. # '''''Епічні''''' ({{lang-en|Epic}}) — стрічают ся в 10 раз рідше рідкосных. # '''''Леґендарні''''' ({{lang-en|Legendary}}) — стрічают ся в 20 раз рідше епічных.<ref>[https://web.archive.org/web/20171224155436/http://clashroyale.wiki/resources/cards/ Clash Royale Wiki]</ref> Всёго в бавцї 102 карты. З них: 27 — звыклі, 27 — рідкостні, 31 — епічні, 19 — леґендарні. Колоды мож формовати по любеній стратеґії.<ref>[https://web.archive.org/web/20171224213607/http://clashroyale.wiki/decks/ Clash Royale Wiki]</ref> == Рецензія == На момент реліза ''Clash Royale'' достала переважно позітивнї відкликы, а Елі Ходап з ''[https://toucharcade.com/ TouchArcade]'' назвав ї «абсолутно феноменалнов» у свому пятизвіздному обзорови.<ref>[https://web.archive.org/web/20180813072842/https://toucharcade.com/2016/03/02/clash-royale-review/ ‘Clash Royale’ Review – A Hybrid of Card Games, RTS, MOBA, and Awesome]</ref> Гарі Слейтер з ''[https://www.pocketgamer.com/ Pocket Gamer]'' поставив бавцї оцїнку 9/10, уповівши: «Се безмірно повно хосенного задоволеня, даґде вна заимаюча, і туй є контент, якый бде заимати вас [[Тыждень|тыжнями]], кідь не [[Місяць (календарьный)|місяцями]]<nowiki/>».<ref>[https://www.pocketgamer.com/clash-royale/clash-royale-get-ready-to-rumble-and-then-rumble/ Clash Royale - Get ready to rumble, and then rumble]</ref> У статї для ''[https://geek.com/ Geek.com]'' Джеймс Плафке розкрітиковав «''Clash Royale'' за то, що вна дїйсно інтересна — даже май більше, ги ''Clash of Clans'' — ходь творитиль хронічно вадит играчови насоложовати ся нив».<ref>[https://web.archive.org/web/20170712082611/https://www.geek.com/games/clash-royale-is-the-best-game-its-own-developer-doesnt-want-you-to-play-1648888/ Clash Royale is the best game its own developer doesn’t want you to play]</ref> == Одкликаня == * [http://clashroyale.com/ Офіційна вебова сторонка] * [https://clashroyale.wiki/ Clash Royale Wiki] == Зазначкы == [[Катеґорія:Бавкы про Android]] [[Катеґорія:Статя написана верьховинськым діалектом]] 9mhh7tdvgg3hbqxvypi99nyrg2ea67a Supercell 0 22921 170194 157159 2026-09-23T13:05:25Z Rue323 31002 /* Історія */ 170194 wikitext text/x-wiki [[Файл:Supercell-logo.svg|міні|Лоґо компанії]] '''Supercell'''&nbsp;— фінська компанія, яка занимає ся розробков відеоігор для мобілных [[Телефон|телефонів]]. == Історія == Закладена [[14. мая]] [[2010]]. року у [[Гелсінкы|Гелсінках]], [[Фіньско|Фінляндія]]. Ґенералным діректором компанії став [[Ілкка Паананен]]<ref>{{Cite web |title=Is This The Fastest-Growing Game Company Ever? |url=http://www.forbes.com/sites/karstenstrauss/2013/04/17/is-this-the-fastest-growing-game-company-ever/ |work=Forbes |access-date=2015-12-25 |archivedate=27 вересня 2014 |archiveurl=https://web.archive.org/web/20140927003325/http://www.forbes.com/sites/karstenstrauss/2013/04/17/is-this-the-fastest-growing-game-company-ever/ }}</ref>. Дебютнов гров компанії была [[Gunshine.net]]. У [[2011]]. роцї Supercell зачала розробку бавок для мобілных телефонів і від тогды доцїле выдала пять бавок: [[Clash of Clans]], [[Clash Royale]], [[Brawl Stars]], [[Hay Day]] тай [[Boom Beach]]. Freemium бавкы оказали ся дуже успішными для компанії, приносячи хосен у просїку по&nbsp;[[Америцькый долар|$]]2,4 млн в динь (на [[2013]]. рік)<ref>{{Cite web |title=The $2.4 Million-Per-Day Company: Supercell |url=http://www.forbes.com/sites/karstenstrauss/2013/04/18/the-2-4-million-per-day-company-supercell/ |work=Forbes |access-date=2015-12-25 |archivedate=18 квітня 2014 |archiveurl=https://web.archive.org/web/20140418171325/http://www.supercell.net/ }}</ref>. Battle Buddies была вылучена з бовта бавок, через слабу монетізацію, не позираючи на позитивнї відкликы від крітиків<ref>{{Cite web |title=A first look at Supercell’s tablet-only combat title Battle Buddies |url=http://www.adweek.com/socialtimes/a-first-look-at-supercells-tablet-only-combat-title-battle-buddies/521897?red=im |work=www.adweek.com |access-date=2015-12-25 |archivedate=25 березня 2016 |archiveurl=https://web.archive.org/web/20160325193815/http://www.adweek.com/socialtimes/a-first-look-at-supercells-tablet-only-combat-title-battle-buddies/521897?red=im }}</ref>. [[Accel Partners]] інвестовала $12&nbsp;млн в Supercell у 2011. роцї<ref>[https://web.archive.org/web/20151230004659/http://www.arcticstartup.com/article/breaking-Supercell-raises-12m-from-accel-partners Arcticstartup]</ref>. У [[Октобер|октобрі]] 2013. року было оглашено, шо [[Японія|японьска]] компанія [[GungHo Online Entertainment]] тай її ''отиць'' [[SoftBank]] купили 51% акцій компанії, як вістило ся, за $2,1&nbsp;млрд<ref>{{Cite web |title=Clash of Clans maker Supercell raises $1.5bn to become the next Nintendo |url=http://www.theguardian.com/technology/2013/oct/15/supercell-funding-softbank-gungho-clash-of-clans |work=the Guardian |access-date=2015-12-25 |first=Stuart |author=Dredge |archivedate=26 грудня 2015 |archiveurl=https://web.archive.org/web/20151226021521/http://www.theguardian.com/technology/2013/oct/15/supercell-funding-softbank-gungho-clash-of-clans }}</ref>. [[1. юн|1. юна]] [[2015]]. року Softbank проиобрів додатковый 22,7% кусник в Supercell, і типирь владїє 73,2% компанії тай стає єдным уднукашным акціонером<ref>{{Cite web |title=SoftBank Ups Its Stake In Supercell To 73% As Sole External Shareholder |url=http://social.techcrunch.com/2015/06/01/softbank-buys-another-23-of-supercell-shares-now-owns-73-of-the-mobile-gaming-giant/ |work=TechCrunch |access-date=2015-12-25 |first=Ingrid |author=Lunden }}</ref>. У [[2014]]. роцї Supercell выдала Boom Beach на [[iOS]] тай [[Android]]. Ся бавка набыла популярности позад великої рекламної кампанї<ref>[https://habr.com/ru/companies/kamagames/articles/217879/ Habr]</ref>. == Бавкы == === Підперанї === * [[Hay Day]]&nbsp;(2012) * [[Clash of Clans]] (2012) * [[Boom Beach]] (2013) * [[Clash Royale]] (2016) * [[Brawl Stars]] (2018) * [[Squad Busters]] (2024) * [[Mo.co]] (2025) === Бавкы у бета-тестї === * Не є === Анонсованї бавкы === * [[Clash Heroes]] (2021) === Непідперанї тай стриртї === * [[Zombies Online|Gunshine.net]] (пак знаєма як Zombies Online)&nbsp;. Серверы бавкы закрыли ся [[30. новембра]] [[2012]] року. * [[Pets vs Orcs]]&nbsp;<ref>{{Cite web |title=What is Supercell's strategy with Boom Beach? - Mobile Dev Memo |url=http://mobiledevmemo.com/supercells-strategy-boom-beach/ |work=Mobile Dev Memo |access-date=2015-12-25 |language=en-US |archiveurl=https://web.archive.org/web/20190609065517/https://mobiledevmemo.com/supercells-strategy-boom-beach/ |archivedate=2019-06-09 }}</ref>. * [[Battle Buddies]]&nbsp;<ref>https://web.archive.org/web/20150413162109/http://www.talouselama.fi/Kasvuyritykset/epaonnistumistakin+voi+juhlia++hittipeliyhtio+supercell+hautasi+floppinsa+samppanjalla/a2157768</ref>. * [[Spooky Pop]]&nbsp;<ref>{{Cite web |title=Supercell veti Spooky Pop -pelin markkinoilta |url=http://yle.fi/uutiset/supercell_veti_spooky_pop_-pelin_markkinoilta/7793697 |work=Yle Uutiset |publisher=https://plus.google.com/102894459181339261226/ |access-date=2015-12-25 |archivedate=19 грудня 2015 |archiveurl=https://web.archive.org/web/20151219155749/http://yle.fi/uutiset/supercell_veti_spooky_pop_-pelin_markkinoilta/7793697 }}</ref>. * [[Smash Land]]&nbsp;<ref>{{Cite web |title=Smash Land Announcement |url=http://forum.supercell.net/showthread.php/725995-Smash-Land-Announcement |work=Supercell Community Forums |access-date=2015-12-25 |archivedate=1 липня 2015 |archiveurl=https://web.archive.org/web/20150701202831/http://forum.supercell.net/showthread.php/725995-Smash-Land-Announcement }}</ref>. * [[Rush Wars]] <ref>{{Cite web |title=Supercell shuts down Rush Wars after three months of beta |url=https://www.gamesindustry.biz/supercell-shuts-down-rush-wars-after-three-months-of-beta |work=GamesIndustry.biz |date=2019-11-05 |access-date=2023-12-16 |language=en |first=Rebekah Valentine Senior Staff |author=Writer }}</ref>. * [[Clash Quest]] <ref>{{Cite web |title=Clash Quest Ending Development |url=https://supercell.com/en/news/clash-quest-ending-development/7675/ |work=Supercell |access-date=2023-12-16 |language=en }}</ref>. * [[Clash Mini]]<ref>{{Cite web |url=https://www.pocketgamer.biz/news/80755/supercell-reveals-crossover-game-squad-busters-with-characters-from-various-ips/ |title=Supercell reveals crossover game Clash Mini with characters from various IPs |author=Astle |first=Aaron |author2=Editor |first2=News |date=2023-02-01 |work=pocketgamer.biz |access-date=2024-05-01 }}</ref>. == Зазначкы == {{Reflist|3}} == Одкликаня == * [https://supercell.com/en/ Офіційный сайт (англ.)] [[Катеґорія:Статя написана верьховинськым діалектом]] [[Катеґорія:Компании]] 8jhdu4tfi2di62j5bbj9395mzks8gvm Шаблона:Небізувноє жерело 10 24241 170247 163717 2026-09-23T22:10:45Z Flipdot 23893 170247 wikitext text/x-wiki {{ safesubst:<noinclude/>#invoke:Unsubst||date=__DATE__ |$B= <!--{{Небізувноє жерело}} begin-->{{Fix | subst = <includeonly>{{subst:substcheck}}</includeonly> | name = {{{name|Небізувноє жерело?}}} | link = Вікіпедія:Перевірителность | title = Матеріал коло сього теґа {{#if:{{{sure|{{{certain|{{{failed|}}}}}}}}}|удкликує ся|годен ся удкликовати}} на небізувноє жерело. {{{reason|}}} | text = небізувноє жерело{{#if:{{{sure|{{{certain|{{{failed|}}}}}}}}}||?}} | date = {{{date|}}} | cat = [[Катеґорія:Вшыткі статі, котрым хыблят бізувні жерела]] | cat-date = Катеґорія:Статі, котрым хыблят бізувні жерела }}<!--{{Небізувноє жерело}} end--> }}<noinclude> {{Documentation}} </noinclude> p6maemvcdnav37chgpluqav0h2sx9jb Undertale Yellow 0 24410 170255 169764 2026-09-24T00:12:56Z Halajkovič 33393 /* Фанушиковскы модіфікації */ +доповнїня (приданя іщі єдной фанушиковской модіфікації) 170255 wikitext text/x-wiki {{Діалект|Пряшівскый діалект русиньского языка|пряшівскым діалектом|пряшівскый}} {{Інфобокс відеогра | назва = Undertale Yellow | образ = [[Файл:Undertale Yellow vector logo on black borders.svg|250px]] | опис = Лоґо гры | вывоярь = Team Undertale Yellow | выдаватель = [[Game Jolt]] | жанер = ролёва відеогра, пригоды | платформа = [[Microsoft Windows]] | датум_выданя = 9. децембра 2023 | режім = Гра єдного грача | язык = [[Анґліцькый язык|анґліцькый]] | режісер = MasterSwordRemix | сценаріста = Pippy V<br>MasterSwordRemix<br>AWildDaydreamer | проґраматор = Spasco<br>MysteryRacer | умелець = AWildDaydreamer<br>Fireburn02<br>Gaziter<br>Emmalume | композітор = MasterSwordRemix<br>MyNewSoundtrack<br>NoteBlock | мотор = GameMaker Studio }} '''Undertale Yellow''' ('''UTY'''; {{lang-en|yellow}}&nbsp;– жовтый) є [[ролёва відеогра]], котра вышла на [[Game Jolt]] про [[Microsoft Windows]] [[9. децембер|9. децембра]] [[2023]]. Гра, котру вывинув тім Team Undertale Yellow як фанушиковскый [[пріквел]] к грї [[Undertale]], розповідать сюжет о [[Фіктівна постава|поставі]] зо жовтов (шестов) душов з гры [[Undertale]], котра путує незнамов дорогов, жебы ся вернути на поверьх.<ref>{{Cite web|date=2023-12-11|title=Fan-Made Free-to-Play Undertale Prequel Has Been Released|url=https://80.lv/articles/fan-made-free-to-play-undertale-prequel-has-been-released/|accessdate=2023-12-21|website=80.lv|language=en}}</ref> == Грательность == Undertale Yellow є ролёва гра, котра хоснує подобны герны механікы як Undertale. Грач овладать поставу, котра ся очухать в Підземлї, величезна підземна країна повной монштрів. Подобно як в Undertale, грач дослїджує розлічны міста, стрїчать ся з множством постав і рїшать гаданкы на дорозї к замку краля Азґора. Окрем знамых локацій і постав зо свого передходцю гра понукать много оріґіналных реґіонів і монштрів. Окрем того быв захованый концепт, подля котрого діалоґы і обтяжность гры прямо залежать од рїшінь грача – забити або змиловати монштрів, з котрыма ся стрїчать. Єдным з ключовых роздїлів меджі гров Undertale Yellow і єй передходцём є герна постава, особа [[Небінарный род|недефінованого поглавя]]<ref>{{Cite web|last=MasterSwordRemix|date=2023-12-01|title=Clover as well as frisk/chara will be asexual/they/them?|url=https://www.tumblr.com/undertale-yellow/735532411639791616/clover-as-well-as-friskchara-will-be|website=Tumblr|language=en-US}}</ref> меном Кловер, котра втїлює черту „Справедливости“. На роздїл од гры Undertale, де сі постава може вольно міняти выбаву, Кловер всягды носить ковбойскый капелюх і [[револвер]]. То до істой міры мінять механіку выбавы, протоже теперь грач не мінять збраню або панцірї, але розлічны тіпы муніції і додатків на посилнїня атакы ай обороны. Окрем того мать Кловер можность бігати по підземнім свїтї за помочі клавесы „Shift“ або „X“, тогды як постава в Undertale може лем ходити. Почас свого путованя грач бере участь в ходовых битках з монштрами. Почас ходу противника грач овладать малым сердцём, котре представлює душу Кловера, жебы обышов атаку тіпу „bullet hell“. Дакотры бої з босами вводять дочасны режімы, котры мінять рух і способности душі. Кедь грач програть з босом, може то дораз скусити зась на образовцї Game Over. Во своёму ходу сі грач може выбрати з можности FIGHT (бой), ACT (дїя), ITEM (предметы) і MERCY (змилованя), з котрых кажда фунґує подобно як в грї Undertale. Кедь є уж зволена можность FIGHT (БОЙ), намісто звычайного указовача вдарїню ся обявить терч на стрїльбу і грач мусить стиснути ґомбічку в істім часї, жебы міг овладати способованя шкоды. == Сюжет == Подїї гры Undertale Yellow ся одогравать во свїтї Undertale, де были монштры увязнены під горов Ебот по поражцї во войнї проти людей. Азґор, краль монштрів, назберав пять зо семох людьскых душ потребных на подоланя барьєры ведучой на поверьх. Історія зачінать, кедь ся Кловер, людьске дїтя, лїзе на гору, жебы знайти пять страченых людей. По скоку до Підземля, кралёвства монштрів, стрїчать сочувствованого монштра меном Торіел. В містности з выпиначами єден з выпиначів в гаданцї ся ламать і пошле Кловера до Темных руїн. Теперь, кедь є постава сама, стрїчать Квітика, мудру квітку, котра му давать оглядом герных механік і рекомендує поставі Кловер, жебы ся выдав на дорогу до замку Азґора. Таксамо уможнює му выужыти свою рїшытельность на уложіня гры і записаня проґресу в потребній точцї. При путованю Підземлём Кловер дослїджує розлічны локаліты і стрїчать ся з многыма монштрами. В Темных руїнах постава стрїчать вампірьского монштра меном Давл, з котрого дому веде дорога до лїса Сновдіна. По опущіню Руїн стрїчать Кловер Мартлет, птаха члена Кралёвской варты. Кловер хоснує Мартлетів плїт на путованя зо Сновдіна до Хотленда, локаліты найблизшой к замку Азґора. Зражка з перепонов їх лемже одшмарить до пустынных Дюн. В містї під назвов Дикый выход постава стрїчать Старло, містьского шеріфа зо звіздами на голові, і Церобу, монштра подобного на кіцуне і Старлого приятеля з дїтства. Почас побытю там ся грач дізнав о умертім мужови Церобы, Чуджінови, і їх дївкы Канако, причім послїдня счезнула. Кловер поразить Старла в бою і потім ся дістане до опущеного поднику знамого як „Steamworks“, де жыє неприятельскый робот меном Аксіс. Кловер мусить через нёго пройти, жебы ся дістати до Хотленда. Каждый монштер, котрый ся обявить почас дорогы, вступить до боя з грачом і дає му на выбер: забити або змиловати. === Невтралный конець === Історія гры ся одвивать в залежности од того, як грачі справують стрїтнутя з монштрами. Рїшіня забити дакотрых, але не вшыткых монштрів веде к „невтралному“ концю. По проходжены Steamworks і перемозї над роботом Аксіс в дуелї єден на єдного дістане Кловер лист од Мартлет, жебы ся стрїтили на даху UG Apartments в Хотлендї. Там предложе Кловерови, жебы зістав в Підземлї і выгнув ся конфронтацій з Азґором. Кедь ся Кловер майже сугласить, Квітик їх обох забє, розъяреный тым, же ёго план дістати cя ку кралёви провалив. Розкрытём своєй правдивой формы Квітик признавать, же быв свідком того, як грач зістав або умерав в Підземлї в каждій попереднїй часовій лінії. Жебы змінити ход своєй історії, Квітик перепнув выпинач в Руїнах перед приходом Кловера. В Кловеровій голові ся одогровать ночна mora в подобі серії босів, кедь ся Квітик покушать ёго людьску душу. Лемже ся наконець Квітикови тот бой омерзить; з одкликанём ся на Кловерове одмітнутя вздати ся, верне часову лінію на повный зачаток в надїї, же постава досягне лїпшый конець в далшім покусї, і гра нагле кончіть, чім ся завершує цікл сюжету. === Добрый (паціфістічный) конець === Рїшіня не забити жадного з монштрів веде к „паціфістічному“ концю. Цероба розкрывать, же єй дївка Канако „схалїла“ до комы а єй тїло ся находить в лабораторії кралёвской ученкынї Алфіс в Хотлендї. Твердячі, же є то найскорша дорога, Цероба спроваджать Кловера через Steamworks; вєдно поступують локаціёв і мірно поразять робота Аксіс. Обявить ся Старло, котрый спохыбнює Церобіны мотівы, нашто вна в паніцї утїче і несвідомо опустить Кловера. Кедь Кловер і Мартлет дослїджують єй дім, розкрывать Чуджінів покус створити серум, котрый посилнює душу монштра, з помочі душы людей і „бос монстра“, чім розкрывать Церобін план привести дївку к розуму з помочі Кловеровой душі. По стрїтнуты на даху UG Apartments ся Кловер і Мартлет выдавають до Нового дому, де ся находять Цероба і Старло. Цероба, котра зразила до замлїтя двох далшых монштрів, атаковать протаґоніста в послїднїм бої. Cпоминкы Церобы почас биткы указують, же Канако упала до депресії потім, што пересвідчіла Церобу, жебы на нёй выпробовав серум. По поражцї од Кловера Цероба безнадїйно падать і просить Кловера, жебы ю добив. Кедь грачі забють Церобу, Старло выразить свою неволю проти поставы, як лем одыйде, а Мартлет одпроваджовать Кловера до тронной салы замку; гра кончіть тым, же Азґор сі в резултатї биткы возьме людьску душу. В другім концї Церобіне змилованя ю підбурює, жебы выразила жалость над своїма дїями, як ся змірить з ґрупов; гра кончіть тым, же Кловер ся вырїшив пожертвовати свою душу, жебы міг помочі ослободити монштрів. В такім припадї є по тітулках мож бачіти сцену, в котрій Далв, Мартлет, Старло і Цероба шмарять Кловерів капелюх і револвер на плоти в Вотерфоллї, котра на концї вымітує предметы на складку. Тот конець робить фанушиковскый пріквел канонічным Undertale, протоже в будучности найдуть ковбойскый капелюх і порожнїй піштоль на складцї одпаду іншы поставы гры. === Немілосердный (ґеноцідный) конець === Забитя каждого монштра, з котрым мож боёвати, головно посередництвом ґріндінґу, веде к концю „Ґеноціда“ або „Без змилованя“. Кедьже протаґоніста ся ставать штораз крутїшым і аґресівнїшым, історія гры набывать темны тоны. По знічіню вшыткых неприятелїв в Руїнах Кловер вымусить Мартлет утечі, нашто ся постава сама сїдать на плїт до Дюн. В Дюнах Кловер в дуелї на смерть застрїлить Старла і забє Церобу, кедь ся та покушать помстити за свого приятеля. В Steamworks постава терорізує робота Аксіс, як го зничіть силным выстрїлом зо свого револвера. На даху UG Apartments ся Мартлет з помочі серуму з лабораторії Алфіс перемінить на міцне бытя і покусить ся заставити Кловера. Потім, як Мартлет помре і розтопить ся в резултатї бочных ефектів серуму, Квітик ся видимо розгнївать на грача за ёго дїї, але трафунком розкрыть своє прагнїня вкрасти людьскы душы. Вдяка новій силї Кловер блокує способность Квітика захранити ся, чім перекрыть ёго утїк, і забє го. По вступі до тронной салы замку Кловер моментално поразить Азґора міцным лучом выстрїленым зо своєй душы. Гра кончіть тым, же Кловер абсорбовать душу краля і перекрочіть барьєру з пятёма захраненыма людьскыма душами. Взглядом на крутость подїї того конця є єдиный, котрый є цалком незлучітельный з каноном Undertale. == Вывой і выданя == {{Цитат збоку|Содержанье=Гра „Undertale“ іншпіровала многых к створїню дачого чудесного і тото не є выняток. По першім проходжіню гры „Undertale“ єм лежав в постели і тота ідея мі пришла практічно трафунково. Здало ся мі, же вшыткы детайлы перфектно ся збігли, і так єм ся пустив до роботы, одразу як то было можне.|Заглавье=MasterSwordRemix 2016<ref>{{cite interview |author=MasterSwordRemix |interviewer=Kenny McKee |title=Interview: MasterSwordRemix of Undertale Yellow |work=Hey Poor Player |date=2016-12-09 |url=https://www.heypoorplayer.com/2016/12/09/interview-masterswordremix-of-undertale-yellow/ |access-date=2024-01-19 |archive-date=2024-01-20 |archive-url=https://web.archive.org/web/20240120024429/https://www.heypoorplayer.com/2016/12/09/interview-masterswordremix-of-undertale-yellow/ |url-status=live }}</ref>|Заглавье долов = 1 |Полога=right|width=500px}} Вывой гры „Undertale Yellow“ зачав по тім, што [[Тобі Фокс]], творця гры „Undertale“, дав к нїй згоду по контактї з тімом Team Undertale Yellow. Вывой гры тырвав практічно вісем років (точнїше 7 років і 10 місяцїв).<ref>{{Cite news|title=Undertale Fan Prequel is Almost Done|author=Sullivan|first=Kean|url=https://gamerant.com/undertale-yellow-fan-prequel/|website=Game Rant|date=2022-01-19|access-date=2023-12-15|lang=en|archive-date=2023-12-15|archive-url=https://web.archive.org/web/20231215175556/https://gamerant.com/undertale-yellow-fan-prequel/|url-status=live}}</ref> Гра, створена на моторї [[GameMaker|GameMaker Studio]], была выдумана писателём і складателём MasterSwordRemixom. Офіціално ознамлїня о нїй ся обявило в апрілї 2016 вєдно з трейлером „Soonish“ з невстановленым датумом выданя.<ref>{{YouTube|id=Vru1B9snXoo|title=Undertale Yellow (Official Reveal Trailer)|lang=en}}</ref> Почас вывоя ся к тіму вывоярїв Undertale Yellow придало дакілько аніматорів, малярїв, складателїв і сценарістів, чім ся наконець створив тім з веце як двадцятёма членами.<ref>{{Cite web|url=https://www.igromania.ru/news/133465/fanatyi-undertale-vyipustili-igru-prikvel-posle-bolee-7-let-razrabotki/|title=Фанаты Undertale выпустили игру-приквел после более 7 лет разработки — Игромания|lang=ru|author=Kuleshova|first=Ekaterina|website=Igromania|access-date=2023-12-12|archive-date=2023-12-12|archive-url=https://web.archive.org/web/20231212063120/https://www.igromania.ru/news/133465/fanatyi-undertale-vyipustili-igru-prikvel-posle-bolee-7-let-razrabotki/|url-status=live}}</ref> Хоць ся спочатку плановало выданя в зимі 2022,<ref>{{Cite web|url=https://kotaku.com/undertale-fan-prequel-six-years-in-the-making-almost-do-1848375747|title=Undertale Fan Prequel Six Years In The Making Almost Done, Looks Fantastic|lang=en|author=Fahey|first=Mike|website=[[Kotaku]]|date=2022-01-18|access-date=2023-12-12|archive-date=2023-12-12|archive-url=https://web.archive.org/web/20231212063120/https://kotaku.com/undertale-fan-prequel-six-years-in-the-making-almost-do-1848375747|url-status=live}}</ref> гра была наконець выдана 9. децембра 2023.<ref>{{YouTube|id=pr4OTPFtLrA|lang=en|title=Undertale Yellow Launch Trailer}}</ref> Гра „Undertale Yellow“ обсягує 135 саундтреків, з котрых многы выходжають зо саундтреків з гры „Undertale“. То выкликало діскусії о хоснованю матеріалів храненых авторьскыма правами в грї. Себастіан Волф, ґенералный директор сполочности [[Materia Collective]], котра ліценцовала музику з гры „Undertale“, пожадав о предложіню „опредїленого поволїня, котре было удїлене Тобі перед 7 роками“, котре дозволює вывоярьскому тіму гры Undertale Yellow хосновати музику з гры „Undertale“. Фокс в одповідї зазначів, же в послїднїй добі жадне поволїня не удїлив, єднак крітіковав справованя Волфа в тій сітуації як „крайнє непрофесіоналне“. Як оправданя предложыв, жебы тім Team Undertale Yellow пожертвовав 20 000 доларів на облюблену харітатівну орґанізацію — [[AbleGamers]].<ref>{{Cite news|title=Undertale's Toby Fox says fans should be "supported at every opportunity" amid debate over music rights in fanmade prequel|author=Ostler|first=Anne-Marie|url=https://www.gamesradar.com/undertales-toby-fox-says-fans-should-be-supported-at-every-opportunity-amid-debate-over-music-rights-in-fanmade-prequel/|website=GamesRadar+|date=2024-01-08|access-date=2024-01-08|lang=en|archive-date=2024-01-08|archive-url=https://web.archive.org/web/20240108162558/https://www.gamesradar.com/undertales-toby-fox-says-fans-should-be-supported-at-every-opportunity-amid-debate-over-music-rights-in-fanmade-prequel/|url-status=live}}</ref> == Приятя == Гру з великым напятём очековали хоснователї YouTube і по выданю сі выслужыла позітівно одкликы. Вілл Нелсон з PCGamesN порекомендовав гру фанушикам Undertale, причім позначів, же [[Тобі Фокс]] зачінав з фанушиковсков гров EarthBound, і выразив ся, же „бачіти, як інша ґрупа вывоярїв завершать круг сюжету [...] є просто чудесно“.<ref>{{Cite web|last=Nelson|first=Will|date=2023-12-10|title=Steam's best indie game gets a colossal free prequel seven years in the making|url=https://www.pcgamesn.com/undertale/yellow|accessdate=2023-12-12|website=PCGamesN|language=en-US}}</ref> == Фанушиковскы модіфікації == === Undertale: Red & Yellow === Хоць є гра „Undertale Yellow“ сама о собі фанушиковскым дїлом, єй популарность іншпіровала далшых незалежных вывоярїв к створїню розсяглых неофіціалных модіфікацій. Найвекшу позорность комуніты выкликав проєкт під назвов „Undertale: Red & Yellow“, котрый створює незалежный вывоярь під псевдонімом Shinix. Головнов особливостёв проєкту є навернутя ку класічной герной механіцї з оріґіналной гры „Undertale“: намісто жовтой душі, котра могла стрїляти, грач овладать звычайну червену душу. Кедьже атакы неприятелїв в „Undertale Yellow“ были створены з оглядом на стрїльбу, тота зміна сі жадає нелем візуалны управы, але ай повне перероблїня взорів атаків босів, як ай адаптація діалоґів і реакцій герного світа про вшыткы три дорогы проходжіня гры (Паціфіста, Невтралный, Ґеноціда).<ref>{{Cite web |url=https://gamejolt.com/games/undertale-red-yellow/877387 |title=Undertale: Red & Yellow |publisher=Game Jolt |author=Shinix |language=en |accessdate=2026-08-18}}</ref> Наперек шпекулаціям у рамках фанушиковской комуніты ся оріґіналный тім Team UTY на вывої той модіфікації не подїлять. Проєкт не є офіціалным доповнїнём і нїґда не быв узнаный за канонічне продовжіня ани выросток історії. Шпекулації о „общім вывої“ ці помочі ся векшынов высвітлюють шпеціфіками інді-модіфікацій на моторї GameMaker: хоснованём отвореной датабазы герных средств оріґіналной гры і неформалнов комунікаціёв вывоярїв на соціалных сїтях, што єднак проєкт не робить офіціалным. К авґусту 2026 є модіфікація іщі незмінно в фазї актівного вывоя (WIP). В актуалній верзії не є проходжіня гры повне — доступный герный обсяг дочасно кончіть на зачатку локації Steamworks при заблокованім ліфту, котрый є частёв сюжету.<ref>{{Cite web |url=https://gamebanana.com/mods/496958 |title=Undertale: Red & Yellow (WIP) |publisher=GameBanana |author=Shinix |language=en |accessdate=2026-08-18}}</ref> === Deltarune Yellow === Окрем прямых модіфікацій вела популарность гры к взнику самостатных фанушиковскых выростків. Найвыразнїшым з них є проєкт під назвов „Deltarune Yellow“, котрый вывивать незалежный тім на челї з вывояром під псевдонімом toastemperor1.<ref name="gj_dy">{{Cite web |url=https://gamejolt.com/games/deltaruneyellow/981988 |title=Deltarune Yellow |author=toastemperor1 |website=Game Jolt |language=en |access-date=2026-08-18}}</ref> На роздїл од оріґіналной гры і векшыны модів, котры хоснують средства мотора GameMaker, тота гра взникать од нулы на отворенім моторї Godot.<ref>{{Cite web |url=https://toastemperor1.itch.io/deltarune-yellow |title=Deltarune Yellow by toastemperor1 |website=itch.io |language=en |access-date=2026-08-18}}</ref> Концепчно є проєкт презентованый як „фанушиковска гра на фанушиковску гру“ і переносить поставы з гры „Undertale Yellow“ до світа гры „Deltarune“. Головнов поставов є Канако, котра ся трапить в таємнім „Темнім світї“ (Dark World).<ref>{{Cite AV media |url=https://www.youtube.com/watch?v=uoVyzycd_dY |title=Deltarune Yellow Chapter 1 Playthrough |publisher=YouTube |language=en |access-date=2026-08-18}}</ref> То кардінално мінять герный процес: намісто класічных боїв єдного проти єдного была заведжена сістема ґруповых боїв. Грач овладать одразу дакілько постав, причім хоснує механікы маґії, тімовых дїй (Acts) і тактічной шкалы напятя (TP). Проєкт не мать жадной офіціалной звязи з тімом Team UTY а іде вылучно о фанушиковскый кросовер, котрый споює штіл і механікы двох розлічных гер. Став вывоя ся реґуларно актуалізує на платформі Game Jolt у формі денників вывоярїв.<ref name="gj_dy" /> === Undertale: New Hope === Значным проєктом, котрый узко повязаный з комунітов „Undertale Yellow“, є розсягла модіфікація „Undertale: New Hope“ од вывоярьского тіму „Hopes & Dreams“.<ref name="yt_hnd">{{Cite web |url=https://www.youtube.com/@HnD_official |title=Hopes&Dreams Team Official - About |publisher=YouTube |language=en |access-date=2026-09-24}}</ref> Історічно тот проєкт взник як духовный наступця іншой знамой модіфікації „Undertale: Bits and Pieces“,<ref>{{Cite web |url=https://www.reddit.com/r/Undertale/comments/1h4apki/did_you_guys_know_about_undertale_new_hope/ |title=Did you guys know about undertale new hope? |publisher=Reddit |language=en |access-date=2026-09-24}}</ref> але пізнїше переріс до самостатного повноцїнного ремейку оріґіналной гры Тобі Фокса. Главнов ідеёв проєкту є глубока візуална і герна модернізація: вывоярї перекреслюють спрайты, актуалізують музичный допровод і радікално мінять сістему інтерфейсів, чім створюють унікатны візуалны окружіня про розлічны містности.<ref name="gj_aug25">{{Cite web |url=https://gamejolt.com/p/dev-log-23-august-2025-memaf6sa |title=Dev-log (23 August 2025) - Undertale: New Hope |publisher=Game Jolt |author=Hopes&Dreams |language=en |access-date=2026-09-24}}</ref> Окрем того модіфікація заваджать новы механікы атак про розлічны виды збрани (напр. балетны топаночкы або панвічку) у формі самостатных мінігер.<ref name="gj_nov25">{{Cite web |url=https://gamejolt.com/p/dev-log-25-november-2025-cyp3kxkf |title=Undertale: New Hope – devlog of November 2025 |publisher=Game Jolt |author=Hopes&Dreams |language=en |access-date=2026-09-24}}</ref> Найвекшым значінём про фанушиків UTY є єднак то, же вывоярї „New Hope“ офіціално узнали подїї „Undertale Yellow“ за канонічны у рамках свого герного весміру і орґанічно зачленіли історію поставы Кловер і жовтой душі до цїлкового лору.<ref name="yt_hnd" /> Інтереснов технічнов властностёв проєкту є інтеґрована сістема контролї піратства, котра на приступ к повному обсягу вымагать ліценцовану копію оріґіналной гры [[Undertale]], іншак ся гра перепне до обмедженого демо режіму.<ref name="gj_aug25" /><ref name="gj_nov25" /> В сучасности ся модіфікація находить у фазї актівного вывоя і єдночасно ся приспособлює про роботу на мобілных пристроях з операчнов сістемов Android.<ref name="gj_nov25" /> Авторы ся реґуларно дїлять о новинкы тыкаючі ся ставу вывоя посередництвом вывоярьскых денників на платформі Game Jolt.<ref>{{Cite web |url=https://gamejolt.com/games/Undertale_New_Hope/802619 |title=Undertale: New Hope |publisher=Game Jolt |author=Hopes&Dreams |language=en |access-date=2026-09-24}}</ref> == Референції == {{референції}} == Одказы == * [https://gamejolt.com/games/UndertaleYellow/136925 Undertale Yellow] на [[Game Jolt]] * [https://www.indiedb.com/games/undertale-yellow Undertale Yellow] на [[IndieDB]] * [https://www.imdb.com/title/tt31539357/ Undertale Yellow] на [[IMDb]] {{Undertale|state=collapsed}} [[Катеґорія:Гры про Windows]] [[Катеґорія:Відеогры про єдного грача]] [[Катеґорія:Ролёвы відеогры]] [[Катеґорія:Відеогры в ретро штілї]] [[Катеґорія:Незалежны відеогры]] [[Катеґорія:Фанушиковскы гры]] [[Катеґорія:Відеогры з року 2023]] [[Катеґорія:Відеогерны пріквелы]] [[Катеґорія:Undertale]] [[Катеґорія:Портал фентезі]] 9s30qxa15howz6923mvh8y6qfla4f4h Хоснователь:Gazdadev 2 24781 170198 170124 2026-09-23T13:59:20Z Gazdadev 36573 /* */ 170198 wikitext text/x-wiki А як сисе настроіти {{Языкы}} == Мої статті == У хронологічному порядку [[Вермахт]] [[Panzerkampfwagen VI Tiger|Тіґер 2]] [[Бундесвер]] [[Паралелоґрам|Тай другоє]] <-- ''Повністю перероблена (не мнов айбо я дозволив)'' [[Ервін Адерс]] == Вклад у реальности у культуру русинӱв і не лиш в общому == '''Вербованіє новых соратникӱв і просвітлиння мающыхся.''' Розказуву за русинӱв тай заохочуву знакомых уд патріотизмови (ко русин канешно) 5wjp4xeb4gufo3txwunia5ntzil8ab9 170199 170198 2026-09-23T14:02:04Z Gazdadev 36573 /* */ 170199 wikitext text/x-wiki А як сисе настроіти {{Языкы}} == Мої статті == У хронологічному порядку [[Вермахт]] [[Panzerkampfwagen VI Tiger|Тіґер 2]] [[Бундесвер]] [[Паралелоґрам|Тай другоє]] <-- ''Повністю перероблена (не мнов айбо я дозволив)'' [[Sonderkraftfahrzeug]] [[Ервін Адерс]] == Вклад у реальности у культуру русинӱв і не лиш в общому == '''Вербованіє новых соратникӱв і просвітлиння мающыхся.''' Розказуву за русинӱв тай заохочуву знакомых уд патріотизмови (ко русин канешно) 8uqr5impmqe40rcbeprkey6harhi435 Врагу не сдаётся наш гордый «Варяг» 0 24800 170210 168462 2026-09-23T15:07:36Z Rue323 31002 /* Памнятні проспӱваня */ 170210 wikitext text/x-wiki {{Інфобокс пісня | name = Варяґ | type = song | language = [[Руськый язык]] | published = 1904 | released = 1904 | composer = А. Турищев | lyricist = Є. М. Студенська, Рудолф Ґрейнц | year = 1904 }}   [[Файл:Variag_1904.jpg|міні|250x250пкс|«Варяґ» по битці]] '''«Врагу не сдаётся наш гордый „Варяг“»''' ({{Lang-ru-dor|Врагу не сдается нашъ гордый „Варягъ“}}; ''«Варяґ»'') — пісня на стихы австрійського поета Рудолфа Ґрейнца (товмачіня было учинего Є. М. Студенськыв), посячена подвигови крейсера «Варяґ» и канонірьського човна «Корєєц». == Сперед нив == Пуд час русько-японської войны крейсер руського флота «Варяґ» и канонірьськый човен «Корєєц» вступили у неруный бӱй против шістёх японськых крейсерӱв и восьми міноносцьӱв у районі бухты Чемулпо, пр тому як тяжко побитый «Варяґ», утратив возмогу продовжати бӱй, вернув ся у гавань, и быв затопленый свойыв же командов, а канонірьськый човен быв зорватый. == Історія пісні == Пӱсля подвига екіпажа крейсера «Варяґ» австрійськый писатиль и поет Рудолф Ґрейнц написав стих «Der „Warjag“», присяченоє тым дійствам. Оно было опубліковано у дисятому номерови німицького журнала «Юґенд»<ref>{{Cite web |url=http://www.jugend-wochenschrift.de/index.php?id=23&tx_lombkswjournaldb_pi2%5Bpersonid%5D=10741&tx_lombkswjournaldb_pi2%5Belement%5D=1904&tx_lombkswjournaldb_pi2%5Btype%5D=date&tx_lombkswjournaldb_pi2%5Baction%5D=nameFilter&tx_lombkswjournaldb_pi2%5Bcontroller%5D=PersonRegister&cHash=8d05363001848ff57c8855c07a9b0118 |title=Simplicissimus · die historische Satirezeitschrift · Personenliste |work=www.jugend-wochenschrift.de |access-date=2020-08-14 |archivedate=2021-03-30 |archiveurl=https://web.archive.org/web/20210330061901/http://www.jugend-wochenschrift.de/index.php?id=23&tx_lombkswjournaldb_pi2%5Bpersonid%5D=10741&tx_lombkswjournaldb_pi2%5Belement%5D=1904&tx_lombkswjournaldb_pi2%5Btype%5D=date&tx_lombkswjournaldb_pi2%5Baction%5D=nameFilter&tx_lombkswjournaldb_pi2%5Bcontroller%5D=PersonRegister&cHash=8d05363001848ff57c8855c07a9b0118 }}</ref>. У апрілёви 1904. року Н. К. Мельников и Є. М. Студенська опубліковали товмачіня того стиха, при чому у каждого из них быв свӱй варіант. Товмачіня Євґенії Студенської російськым обществом быв признатый май удалым. И вскорі музикант 12. ґренадірьського Астраханського полка А. С. Турищев, принимавшый участь у ославленӱв стрічи геройӱв «Варяґа» и «Корийця», положив оті стихы на музику. Первый раз пісня была изповнега на ославному приёмови, учиненому императором [[Николай II. (Росія)|Николаём II]] у чисть офіцірьӱв и матросӱв «Варяґа» и «Корийця». Изнамый у наш час мотив — мішаного происхождіня; камай шырена верзія, ож вӱн є резултатом взаимодії, чотырёх мелодій: А. Б. Віленського (ёго мелодекламація опублікована в марцёви 1904. року), И. Н. Яковлева, И. М. Корносевича и А. С. Турищева. Пісня стала дуже популарна у [[Російска імперія|Росії]]. Особно ю полюбили армадні морякы. У рокы [[Перша світова война|Великої войны]] из пісні быв удаленый тритьый куплет, же бо [[Японія]] у тот час уж была [[Союз|союзником]] [[Російска імперія|Росії]] и [[Антанта|Антанты]]. У типирішньӱв пісеннӱв практиці твӱр обычно называть ся просто «Варяґ»: так она озаглавлена и у популарных пісенниках, и у авдіёалбомах кӱнця XX. стороча. А пісня, котра давно называла ся «Варяґ» авадь «Гыбиль „Варяґа“», типирь часто именує ся по первым шорам: «Плещуть студені габы…». Умовчованя авторства Рудолфа Ґрейнца стало ся, у зъязи из вступлінём Росії у Перву світову войну и шырінём у зъязи из тым антинімицькых и антиавстрійськых настройӱв у обществови. == Памнятні проспӱваня == * 29. октовбра 1955. року у Севастопольськӱв бухті зорвав ся и звернув ся лінкор «Новоросійськ», погребя сотни моряков. Офицер в отставке М. Пашкин вспоминал: «Внизу, в бронированной утробе линкора, замурованные и обречённые на смерть моряки пели, они пели „Варяга“. На днище это не было слышно, но, приблизившись к динамику, можно было разобрать чуть слышные звуки песни. Это было ошеломляющее впечатление, такого состояния я никогда не испытывал. Никто не замечал слёз, все смотрели вниз на днище, как бы стараясь увидеть поющих внизу моряков. Все стояли без головных уборов, слов не было». * 25. фебруара 1977. року кой ишов пожар у гостиници «Россия» навщивитилі ресторана, удрізані огнём, спӱвали хором пісню «Варяґ». Коментаторы западных СМИ у репортажах за пожар пап хыбно говорили ож они спӱв<nowiki/>али «<nowiki/>[[Интернационала (гимна)|Интернаці]]<nowiki/>[[Интернационала (гимна)|онал]]<nowiki/>». * 7. апріля 1989. року пудводный човен К-278 «Комсомолєц» утопив ся у наслідкови пожара на бортови пӱсля 6. годинової борьбы екіпажа за плавучость судна. Морякы, што были у лёдянӱв водеі Норвезького моря, прощали ся из свойым командірём и кораблём, заспӱвавши пісню «Варяґ».<ref>http://cn.com.ua/N475/history/sub/index.html</ref> == Пісня == {| class="wikitable" style="white-space: nowrap;" !Русский текст Студенской<ref>{{Cite web |url=https://books.google.ru/books?id=HMEbAAAAMAAJ&q=готовятся+к+бою+орудий+ряды&dq=готовятся+к+бою+орудий+ряды&hl=ru&sa=X&ved=0ahUKEwizno_u3pvZAhXJCywKHSXzB0IQ6AEITzAJ |title=Хрестоматия по истории СССР; 1861—1917: Пособие для учителей — Сергей Сергеевич Дмитриев — Google Книги<!-- Заголовок добавлен ботом --> |access-date=2022-06-17 |archivedate=2021-03-30 |archiveurl=https://web.archive.org/web/20210330061906/https://books.google.ru/books?id=HMEbAAAAMAAJ&q=готовятся+к+бою+орудий+ряды&dq=готовятся+к+бою+орудий+ряды&hl=ru&sa=X&ved=0ahUKEwizno_u3pvZAhXJCywKHSXzB0IQ6AEITzAJ }}</ref> !Оригинальный текст Грейнца ! Русинськоє товмачіня |- style="vertical-align: baseline;" |<poem> Наверх, о товарищи, все по местам! Последний парад наступает! Врагу не сдается наш гордый «Варяг», Пощады никто не желает! </poem> |<poem> Auf Deck, Kameraden, all' auf Deck! Heraus zur letzten Parade! Der stolze Warjag ergibt sich nicht, Wir brauchen keine Gnade! </poem> |<poem> Горі, вы, фатёве, вшыткі по містам, Послідньый парад нам наступать. Душманом не дасть ся наш гордый «Варяґ», Милости туй нико не жадать! </poem> |- style="vertical-align: baseline; border-top: 0; border-bottom: 0;" |<poem> Все вымпелы вьются, и цепи гремят, Наверх якоря поднимая. Готовятся к бою орудия в ряд, На солнце зловеще сверкая. </poem> |<poem> An den Masten die bunten Wimpel empor, Die klirrenden Anker gelichtet, In stürmischer Eil' zum Gefechte klar Die blanken Geschütze gerichtet! </poem> |<poem> Усі фанкы вьють ся и ланцы гримлять, Идгорі котвы пуднимавши, Парувуть ся на бӱй каноны у шор На сонцю зловіщо блистівши! </poem> |- style="vertical-align: baseline; border-bottom: 0; border-top: 0;" |<poem> Из пристани верной мы в битву идем, Навстречу грозящей нам смерти, За Родину в море открытом умрем, Где ждут желтолицые черти! </poem> |<poem> Aus dem sichern Hafen hinaus in die See, Fürs Vaterland zu sterben Dort lauern die gelben Teufel auf uns Und speien Tod und Verderben! </poem> |<poem> И з портоша вірного в бӱй идеме, На стрічу грозящӱв нам смерти, За Вӱтцьӱзну в морю удкрытӱм зомрем, Де ждуть жовтопыскі черти! </poem> |- style="vertical-align: baseline;" |<poem> Свистит, и гремит, и грохочет кругом Гром пушек, шипенье снаряда, И стал наш бесстрашный, наш верный «Варяг» Подобьем кромешного ада! </poem> |<poem> Es dröhnt und kracht und donnert und zischt, Da trifft es uns zur Stelle; Es ward der Warjag, das treue Schiff, Zu einer brennenden Hölle! </poem> |<poem> Свистить и гримить, и гуркоче кругом Грим пушок, шипіня снарядӱв, И став наш безстрашный и гордый «Варяґ», Подобный готовому аду! </poem> |- style="vertical-align: baseline;" |<poem> В предсмертных мученьях трепещут тела, Вкруг грохот, и дым, и стенанья, И судно охвачено морем огня, - Настала минута прощанья. </poem> |<poem> Rings zuckende Leiber und grauser Tod, Ein Ächzen, Röcheln und Stöhnen — Die Flammen flattern um unser Schiff Wie feuriger Rosse Mähnen! </poem> |<poem> У предсмертных мукох трясуть ся тіла, Грим пушок, и шум, и квіляня, И судно втопленоє морём огня — Уж стали минуты прощаня. </poem> |- style="vertical-align: baseline;" |<poem> Прощайте, товарищи! С Богом, ура! Кипящее море под нами! Не думали мы ещё с вами вчера, Что нынче умрём под волнами! </poem> |<poem> Lebt wohl, Kameraden, lebt wohl, hurra! Hinab in die gurgelnde Tiefe! Wer hätte es gestern noch gedacht, Dass er heut' schon da drunten schliefe! </poem> |<poem> Майте ся братове! Из Богом! Ура! Кыплячоє море пуд нами! Не думали, братці, мы з вами вчора, Ож ныні вмреме пуд габами. </poem> |- style="vertical-align: baseline;" |<poem> Не скажут ни камень, ни крест, где легли Во славу мы русского флага, Лишь волны морские прославят вовек Геройскую гибель «Варяга»! </poem> |<poem> Kein Zeichen, kein Kreuz wird, wo wir ruh’n Fern von der Heimat, melden — Doch das Meer das rauschet auf ewig von uns, Von Warjag und seinen Helden! </poem> |<poem> Не вповість ни камінь, ни крест, де лягли У славу мы Руського флаґа, Лиш габы морські прославлять єдні Вітязьську изгыбиль «Варяґа». </poem> |} == Иппен позерайте == * [[Плещут холодные волны]] * [[Крейсер «Варяґ»]] * [[Канонірька «Корєєц»]] * [[Русько-Японська война]] * [[Битка при Чемулпо]] == Удкликованя == [[Катеґорія:Руські балады]] [[Катеґорія:Пісні за Русько-Японську войну]] [[Катеґорія:Патріотичні пісні Росії]] [[Катеґорія:Пісні 1904. року]] [[Катеґорія:Пісні подля алфавіта]] [[Катеґорія:Пісні Росії]] fbfzjw20akbly1tc7mnes2dxsnho6pi Степан Попович 0 24890 170239 168712 2026-09-23T20:43:52Z Flipdot 23893 170239 wikitext text/x-wiki {{Особа проста |Имя=Степан Попович |Образчик=[[File:PopovicsSA.png|150px]] |Категория_склада=Rusyns |Чинность=дѣточый хирург |Уроджѣня={{birth date|1926|8|20}} |Мѣсто_роджѣня=[[Велятино]], [[Подкарпатска Русь]], [[Чехословакия]] |Упокоеня={{death date and age|2001|6|27|1926|8|20}} |Мѣсто_смерти=[[Мукачово]], [[Украина]] }} '''Степан Антонов Попович''' (*[[20. авґуст|20. августа]] [[1926]]|, [[Велятино]], [[Подкарпатска Русь]], [[Чехословакия]] – †[[27. юн|27. юна]] [[2001]], [[Мукачово]], [[Украина]]) быв [[Русины|русинськый]] [[дохтор]]-педиатр, дѣточый хирург, [[Кандидат наук|кандидат медичных наук]].<ref name="ПІС">Попович І. С.</ref> == Животопис == === Молоды рокы и штудии === Мав 6 рокы, коли при епидемии черевного тифусу, поширеной на векшой части [[Подкарпатска Русь|Подкарпатской Руси]], умерла им мати, лишивши сиротами пятеро дѣти, межи котрыма быв четвертый. Середошколске образованя достав у [[Мукачово|Мукачовѣ]], де в року 1944 закончив руську [[Гимназия|гимназию]]. Восени того ж року до Мукачова зайшла Червена армия и молодый хлопець пошов доброволником на фронт. Служив телефонистом. Конець войны застав го у [[Чехия в класификации NUTS|Чехии (CZ080)]] под [[Моравска Острава|Моравсков Остравов]]. По войнѣ не дали нараз вернути ся дому, ай мусай было ити „дослужовати" у войсковой единцѣ, што была умѣщена у [[Тернопільска область|Тернопольской области]]. Демобилизованый быв року 1946. Пробовав нараз вступити до Ужгородской державной универзиты, але ани то не мож было, бо требало мати „роботный стаж". Зато мусѣв пойти на роботу учительом до школы в селѣ [[Верхня Вызниця]] [[Мукачовскый район|Мукачовского району]]. Выучовав мальованя и нѣмчину (талант до мальованя мав од дѣтства, а достаточный уровень знаня языка дала му гимназия). Вступивши на медичну факулту [[УжНУ|УжДУ]], выбрав собѣ професию — хирургию. Дуже скоро усвоив азы [[Медицина|медицины]]. Быв едным из ученикох професора [[Александер Фединець|Александра Фединця]], з котрым всокотив односины до конця живота и од котрого нераз глядав професийну пораду.<ref name="ПІС"/> === Робота в медицинѣ === В року 1954, яко молодый специалиста и новоженець<ref>М. Алмашій</ref> достав указовку до [[Ясѣня]] [[Раховскый район|Раховского району]], де робив хирургом и рентгенологом, а в року 1959 з родинов перейшов до [[Рахово|Рахова]], де став у чолѣ хирургичного оддѣленя районной болницѣ. В року 1963 достав мѣсто завѣдуючого хирургичным оддѣленьом областной дѣточой болницѣ у Мукачовѣ, де робив практично до конця свого живота, майже чевертину стороча. Масштаб и складность проблем, якы ту постали перед ним, значно выросли и пожадовали непрестанного роста професийного уровня, усвоеня теории из монографий и медичной периодикы, практикы у ведучых дѣточых хирургох на курсах у [[Москва|Москвѣ]], [[Ленинград]]ѣ, [[Кийов]]ѣ. Але тоты скушеностѣ и аналитичный приступ ку резултатам роботы помогли му написати и опубликовати у фаховых выданях немало статей из области дѣточой хирургии, а в року 1976 в Институтѣ педиатрии АМН СССР у Москвѣ здобыв ступень кандидата наук.<ref name="ПІС"/> == Сполоченска активность == Послѣдне десятьроча значнов мѣров оддав сполоченской роботѣ в Обществѣ подкарпатскых русинох, Обществѣ {{nobr|им. А. Духновича}}, мукачовске оддѣленя котрого створив и быв му на чолѣ до конця живота. Присвятив много часу проблемѣ кодификации русинского языка. Быв автором ряда книжок: До 60-роча од дня смерти Євменія Сабова... (1994), Поруналный русинсько-мадярсько-украинскый словарьчик (1999), сполуавтором русинской граматикы „Материнськый язык" (1999), ушорительом даколькох поетичных зберьок, численных статей на русинску тематику.<ref name="ПІС"/> == Жерела == * {{Cite book |author=<big>М. Алмашій</big> |editor= |title=//Русинська педагогічна енциклопедія |language= |edition= |volume= |chapter=Попович-Калинова Наталія |quote=Попович-Калинова Наталія (*15.04.1930) — педагог.|location=Ужгород |publisher=Карпатська Вежа, 2005 |date=2005 |series= |pages= 214 |isbn=966-2674-43-Х |doi= |url= }} * {{Cite book |author=<big>Попович І. С.</big> |editor= |title=//Отцюзнина. Културно-белетристичный журнал Закарпатського обласного научно-културологичного общества {{nobr|им. А. Духновича}} |language= |edition= |volume= |chapter=Дохтор из великої буквы |quote= |location= |publisher= |date=2016 |series=№2, 2016 |pages= 12–13 |isbn= |doi= |url= }} == Референції == {{reflist}} {{Lifetime|1926|2001|Попович, Степан Антонович}} seiw4w26qr0gdbc8nzgfoehm19i8hyh 170240 170239 2026-09-23T20:44:03Z Flipdot 23893 170240 wikitext text/x-wiki {{Особа проста |Имя=Степан Попович |Образчик=[[File:PopovicsSA.png|150px]] |Категория_склада=Rusyns |Чинность=дѣточый хирург |Уроджѣня={{birth date|1926|8|20}} |Мѣсто_роджѣня=[[Велятино]], [[Подкарпатска Русь]], [[Чехословакия]] |Упокоеня={{death date and age|2001|6|27|1926|8|20}} |Мѣсто_смерти=[[Мукачово]], [[Украина]] }} '''Степан Антонов Попович''' (*[[20. авґуст|20. августа]] [[1926]], [[Велятино]], [[Подкарпатска Русь]], [[Чехословакия]] – †[[27. юн|27. юна]] [[2001]], [[Мукачово]], [[Украина]]) быв [[Русины|русинськый]] [[дохтор]]-педиатр, дѣточый хирург, [[Кандидат наук|кандидат медичных наук]].<ref name="ПІС">Попович І. С.</ref> == Животопис == === Молоды рокы и штудии === Мав 6 рокы, коли при епидемии черевного тифусу, поширеной на векшой части [[Подкарпатска Русь|Подкарпатской Руси]], умерла им мати, лишивши сиротами пятеро дѣти, межи котрыма быв четвертый. Середошколске образованя достав у [[Мукачово|Мукачовѣ]], де в року 1944 закончив руську [[Гимназия|гимназию]]. Восени того ж року до Мукачова зайшла Червена армия и молодый хлопець пошов доброволником на фронт. Служив телефонистом. Конець войны застав го у [[Чехия в класификации NUTS|Чехии (CZ080)]] под [[Моравска Острава|Моравсков Остравов]]. По войнѣ не дали нараз вернути ся дому, ай мусай было ити „дослужовати" у войсковой единцѣ, што была умѣщена у [[Тернопільска область|Тернопольской области]]. Демобилизованый быв року 1946. Пробовав нараз вступити до Ужгородской державной универзиты, але ани то не мож было, бо требало мати „роботный стаж". Зато мусѣв пойти на роботу учительом до школы в селѣ [[Верхня Вызниця]] [[Мукачовскый район|Мукачовского району]]. Выучовав мальованя и нѣмчину (талант до мальованя мав од дѣтства, а достаточный уровень знаня языка дала му гимназия). Вступивши на медичну факулту [[УжНУ|УжДУ]], выбрав собѣ професию — хирургию. Дуже скоро усвоив азы [[Медицина|медицины]]. Быв едным из ученикох професора [[Александер Фединець|Александра Фединця]], з котрым всокотив односины до конця живота и од котрого нераз глядав професийну пораду.<ref name="ПІС"/> === Робота в медицинѣ === В року 1954, яко молодый специалиста и новоженець<ref>М. Алмашій</ref> достав указовку до [[Ясѣня]] [[Раховскый район|Раховского району]], де робив хирургом и рентгенологом, а в року 1959 з родинов перейшов до [[Рахово|Рахова]], де став у чолѣ хирургичного оддѣленя районной болницѣ. В року 1963 достав мѣсто завѣдуючого хирургичным оддѣленьом областной дѣточой болницѣ у Мукачовѣ, де робив практично до конця свого живота, майже чевертину стороча. Масштаб и складность проблем, якы ту постали перед ним, значно выросли и пожадовали непрестанного роста професийного уровня, усвоеня теории из монографий и медичной периодикы, практикы у ведучых дѣточых хирургох на курсах у [[Москва|Москвѣ]], [[Ленинград]]ѣ, [[Кийов]]ѣ. Але тоты скушеностѣ и аналитичный приступ ку резултатам роботы помогли му написати и опубликовати у фаховых выданях немало статей из области дѣточой хирургии, а в року 1976 в Институтѣ педиатрии АМН СССР у Москвѣ здобыв ступень кандидата наук.<ref name="ПІС"/> == Сполоченска активность == Послѣдне десятьроча значнов мѣров оддав сполоченской роботѣ в Обществѣ подкарпатскых русинох, Обществѣ {{nobr|им. А. Духновича}}, мукачовске оддѣленя котрого створив и быв му на чолѣ до конця живота. Присвятив много часу проблемѣ кодификации русинского языка. Быв автором ряда книжок: До 60-роча од дня смерти Євменія Сабова... (1994), Поруналный русинсько-мадярсько-украинскый словарьчик (1999), сполуавтором русинской граматикы „Материнськый язык" (1999), ушорительом даколькох поетичных зберьок, численных статей на русинску тематику.<ref name="ПІС"/> == Жерела == * {{Cite book |author=<big>М. Алмашій</big> |editor= |title=//Русинська педагогічна енциклопедія |language= |edition= |volume= |chapter=Попович-Калинова Наталія |quote=Попович-Калинова Наталія (*15.04.1930) — педагог.|location=Ужгород |publisher=Карпатська Вежа, 2005 |date=2005 |series= |pages= 214 |isbn=966-2674-43-Х |doi= |url= }} * {{Cite book |author=<big>Попович І. С.</big> |editor= |title=//Отцюзнина. Културно-белетристичный журнал Закарпатського обласного научно-културологичного общества {{nobr|им. А. Духновича}} |language= |edition= |volume= |chapter=Дохтор из великої буквы |quote= |location= |publisher= |date=2016 |series=№2, 2016 |pages= 12–13 |isbn= |doi= |url= }} == Референції == {{reflist}} {{Lifetime|1926|2001|Попович, Степан Антонович}} roxsyus3hhphadsavrh6jlf2636cjz0 Комар 0 24972 170267 169126 2026-09-24T03:52:35Z InternetArchiveBot 22034 Add 1 book for [[Вікіпедія:Перевірителность]] (20260923sim)) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]] 170267 wikitext text/x-wiki {{Таксобокс | name = Culicidae | image = Aedes aegypti.jpg | image_caption = ''Aedes aegypti'', головный [[переносник]] [[Жовта горячка|жовтої горячкы]] | fossil_range = {{fossilrange |99|0|earliest=125}} <small>[[Пузньый крейдовый період]] ([[Сеноман]]) – днесь</small> | regnum = [[Animalia]] | phylum = [[Arthropoda]] | classis = [[Insecta]] | ordo = [[Diptera]] | superfamilia = Culicoidea | familia = [[Culicidae]] | familia_authority = [[Йоганн Вілгелм Майґен|Meigen]], 1818<ref name=mosqInv>{{cite web |url=https://mosquito-taxonomic-inventory.myspecies.info/family-culicidae-meigen-1818 |title=Family Culicidae Meigen, 1818 |date=November 2, 2008 |last=Harbach |first=Ralph |work=Mosquito Taxonomic Inventory |access-date=December 26, 2025 |archive-date=October 3, 2022 |archive-url=https://web.archive.org/web/20221003061320/https://mosquito-taxonomic-inventory.myspecies.info/family-culicidae-meigen-1818 |url-status=dead }}, ник. ай [https://mosquito-taxonomic-inventory.myspecies.info/valid-species-list Valid Species List] {{Webarchive |url=https://web.archive.org/web/20220315103505/https://mosquito-taxonomic-inventory.myspecies.info/valid-species-list |date=March 15, 2022 }}</ref> |subdivision=* Anophelinae * Culicinae|subdivision_ranks=Пудродины}} '''Комары''' ('''''Culicidae''''') тото [[Родина (біолоґія)|родина]] малых [[Двакрылі|двакрылых]] [[Овады|овадув]], котра ся чинит 3,600&nbsp;видами. Комарі мавут тонкі, членковані (сеґментовані) тіла, єдну пару крыл, три пары довгых, тонкых лабок и спеціалный дуже довгый хоботок:<ref name="Wahid Sunahara Mogi 2003">{{cite journal|last1=Wahid|first1=Isra|last2=Sunahara|first2=Toshihiko|last3=Mogi|first3=Motoyoshi|title=Maxillae and Mandibles of Male Mosquitoes and Female Autogenous Mosquitoes (Diptera: Culicidae)|url=https://archive.org/details/sim_journal-of-medical-entomology_2003-03_40_2/page/150|journal=Journal of Medical Entomology|volume=40|issue=2|date=2003-03-01|doi=10.1603/0022-2585-40.2.150|pages=150–158|pmid=12693842|s2cid=41524028}}</ref> вшыткі комарі пют [[нектар]] из [[Косиця|косиць]];<ref name="Peach-Gries-2020">{{cite journal|last1=Peach|first1=Daniel A. H.|last2=Gries|first2=Gerhard|title=Mosquito phytophagy – sources exploited, ecological function, and evolutionary transition to haematophagy|journal=Entomologia Experimentalis et Applicata|issue=2|doi=10.1111/eea.12852|year=2019|volume=168|doi-access=free|pages=120–136}}</ref> самиці многых видув комарув ся адаптовали д пробиваню кожі хребетных и ссаню їхньої крови.<ref name="Wahid Sunahara Mogi 2003" /> Ґрупа ся диверзифіковала у крейдовый період. Еволуційні біолоґы розникувут комарув ги мікрохыжакув&nbsp;— малых звірькув, котрі паратизувут на май великых через питя їхньої крови без забиваня. Медичні паразитолоґы розникувут комарув ги переносникув бетегув, бо тоты переносят [[Майпрості|майпростых]] паразитув авадь бактеріалні тай вірусні патоґены уд єдного орґанізма до другого. [[Файл:Mosquito_Life-Cycle.svg|міні|праворуч|Цикл жывота комара: яйця, ларва (личинка), бабовка тай доросла особина.]] Цикл жывота комара має чотыри етапы: яйце, ларва (личинка), бабовка тай доросла особина. Яйця ся выношувут на поверьхность воды; з них ся улуплювут ларвы, котрі ся жывлят водоростами тай [[Орґанічна матерія|орґанічнов матерійов]].<ref name="EPA life cycle">{{cite web |title=Mosquito Life Cycle |date=21 February 2013 |url=https://www.epa.gov/mosquitocontrol/mosquito-life-cycle |publisher=United States Environmental Protection Agency |access-date=12 December 2023 |archive-date=19 December 2020 |archive-url=https://web.archive.org/web/20201219184319/https://www.epa.gov/mosquitocontrol/mosquito-life-cycle |url-status=live }}</ref> Ларвы комарув сут важным жерелом їдіня про многых прісноводных звірюв, наприклад бабок-німф, многых видув [[Рыбы|рыб]] и подакотрых [[Потя|потят]]. Подакотрі виды комарув несут яйця лиш по питьови крови. Слина комарув трафляє до орґанізма з укусом и годна спричиньовати чуханя. Пючі кров виды комарув годні переносити через укусы паразитичні хвороты, такі як [[Маларія|маларію]] тай [[філаріоз]], тай [[Арбовірус|арбовірусні]] бетегы ги [[Жовта горячка|жовту горячку]]<ref name="WHO2 014">{{cite web |title=Yellow fever Fact sheet N°100 |url=https://www.who.int/mediacentre/factsheets/fs100/en/ |publisher=[[Світова орґанізація охороны здоровля|World Health Organization]] |access-date=23 February 2014 |date=May 2013 |url-status=live |archive-url=https://web.archive.org/web/20140219011908/http://www.who.int/mediacentre/factsheets/fs100/en/ |archive-date=19 February 2014 }}</ref> и [[Горячка денґе|горячку денґе]].<ref name="WHO 2009">{{cite book|url=http://whqlibdoc.who.int/publications/2009/9789241547871_eng.pdf|title=Dengue Guidelines for Diagnosis, Treatment, Prevention and Control|publisher=[[Світова орґанізація охороны здоровля|World Health Organization]]|year=2009|isbn=978-92-4-154787-1|access-date=2013-08-13|archive-date=2012-10-17|archive-url=https://web.archive.org/web/20121017230435/http://whqlibdoc.who.int/publications/2009/9789241547871_eng.pdf|url-status=live}}</ref><ref name="BBC250814">{{cite news|work=BBC News|date=14 August 2025|first=Dominic|last=Hughes|title=UK cases of mosquito-borne virus more than double|url=https://www.bbc.co.uk/news/articles/c7419g1l488o|access-date=14 August 2025|archive-date=14 August 2025|archive-url=https://web.archive.org/web/20250814061013/https://www.bbc.co.uk/news/articles/c7419g1l488o|url-status=live}}</ref> Позад переношіня хворот комарами умират булш ги міліон людий кажджый рук.<ref name="EBMED2014">{{cite web |title=Mosquito as Deadly Menace |url=https://www.pfizer.com/news/articles/mosquito_as_deadly_menace#.Yweo2_DM88I.link |publisher=Pfizer |access-date=10 December 2023 |archive-date=25 August 2022 |archive-url=https://web.archive.org/web/20220825170028/https://www.pfizer.com/news/articles/mosquito_as_deadly_menace#.Yweo2_DM88I.link |url-status=live }}</ref><ref>{{Cite web |title=Explainer: How climate change is amplifying mosquito-borne diseases |url=https://www.worldmosquitoprogram.org/en/news-stories/stories/explainer-how-climate-change-amplifying-mosquito-borne-diseases |access-date=2024-06-20 |website=World Mosquito Program |date=22 April 2022 |archive-date=27 January 2023 |archive-url=https://web.archive.org/web/20230127042108/https://www.worldmosquitoprogram.org/en/news-stories/stories/explainer-how-climate-change-amplifying-mosquito-borne-diseases |url-status=live }}</ref> == Референції == {{Reflist}} 46jep2ikz2jntsmiwonli8cypa45cvf Менструація 0 24994 170268 169051 2026-09-24T03:54:27Z InternetArchiveBot 22034 Add 2 books for [[Вікіпедія:Перевірителность]] (20260923sim)) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]] 170268 wikitext text/x-wiki [[Файл:Lining_of_Uterine_Wall.jpg|міні|Ілустрація нарощеня тай розрушеня ендометрія (уднушньої оболонкы маткы) бігом менструалного цикла]] '''Менструа́ція''' (уд {{Lang-la|mensis}} „місяць“<ref name="Allen, Kevin 2007 239">{{cite book|title=The Reluctant Hypothesis: A History of Discourse Surrounding the Lunar Phase Method of Regulating Conception|vauthors=Allen K|publisher=Lacuna Press|year=2007|isbn=978-0-9510974-2-7|page=239|name-list-style=vanc}}</ref>) вадь '''мі́сячні''' тото реґуларный вытік крові тай слизу з [[Ендометрій|ендометрія]]&nbsp;— уднушньої оболонкы [[Матка|маткы]]&nbsp;— через [[Ваґіна|ваґіну]].<ref name="Thiyagarajan">{{cite journal|last1=Thiyagarajan|first1=Dhanalakshmi K.|last2=Basit|first2=Hajira|last3=Jeanmonod|first3=Rebecca|title=Physiology, Menstrual Cycle|journal=StatPearls|date=27 September 2024|url=https://www.ncbi.nlm.nih.gov/books/NBK500020/|publisher=StatPearls Publishing|pmid=29763196}}</ref> [[Менструалный цикел]] ся характеризує змінами уровнюв [[Гормон|гормонув]]. Менструація ся зачинат спозад падіня уровня проґестерона и є знаком, ож не стало ся заплодніня.<ref name="Thiyagarajan" /> Бігом менструації ся на гіґієну хоснувут ушылиякі продукты жунської гіґієны: прокладкы, тампоны, менструалні чаші. Перша менструація, котра ся кличе [[менархе]], типово ся зачинат у пубертат межи віком 11 и 13&nbsp;рокув,<ref name="Jones2011">{{cite book|url=https://books.google.com/books?id=pj_ourS3PBMC&pg=PA94|title=Women's Gynecologic Health|date=2011|publisher=Jones & Bartlett Publishers|isbn=978-0-7637-5637-6|page=94|archive-url=https://web.archive.org/web/20150626120253/https://books.google.ca/books?id=pj_ourS3PBMC&pg=PA94|archive-date=26 June 2015|url-status=live}}</ref> айбо годна ся зачинати и скорше; нормалный вік про менархе є уд 8&nbsp;рокув.<ref name="Women2014Men">{{cite web |date=23 December 2014 |title=Menstruation and the menstrual cycle fact sheet |url=http://www.womenshealth.gov/publications/our-publications/fact-sheet/menstruation.html |archive-url=https://web.archive.org/web/20150626134338/http://www.womenshealth.gov/publications/our-publications/fact-sheet/menstruation.html |archive-date=26 June 2015 |access-date=25 June 2015 |website=Office of Women's Health }}</ref> Просіково перша менструація справила настає май пузно у розвивавучых ся державах и май скоро у розвинутых.<ref name="Diaz2006">{{cite journal|vauthors=Diaz A, Laufer MR, Breech LL|title=Menstruation in girls and adolescents: using the menstrual cycle as a vital sign|journal=Pediatrics|volume=118|issue=5|pages=2245–2250|date=November 2006|pmid=17079600|doi=10.1542/peds.2006-2481|s2cid=37802775|doi-access=}}</ref> Типовый інтервал межи першым дньом єдної менструації и першым дньом слідувучої&nbsp;— уд&nbsp;21 до&nbsp;45&nbsp;днув у дівочок; уд&nbsp;21 до&nbsp;35&nbsp;днув у дорослых жун, просіково&nbsp;— 28&nbsp;днув.<ref name="Women2014Men" /><ref name="Diaz2006" /> У майвеликому зглядованьови податкув аплікацій про удсліжованя менструалных циклув была установлена просікова довгота менструалного цикла в 29.3&nbsp;днув.<ref name=":6">{{cite journal|vauthors=Bull JR, Rowland SP, Scherwitzl EB, Scherwitzl R, Danielsson KG, Harper J|title=Real-world menstrual cycle characteristics of more than 600,000 menstrual cycles|journal=npj Digital Medicine|volume=2|issue=1|article-number=83|date=2019-08-27|pmid=31482137|pmc=6710244|doi=10.1038/s41746-019-0152-7|doi-access=free}}</ref> Кровотеча як правило йде уд двох до семи днув. Менструація ся не стає у тяжи тай обычно ся не продовжує у перші місяці кормліня з грудий.<ref name="Women2014Men" /> По рожденьови дітины ся ставут [[лохії]]&nbsp;— ваґіналні уверженя з крові, слизу тай тканин маткы.<ref>{{cite web |title=Pregnancy: Physical Changes After Delivery |url=https://my.clevelandclinic.org/health/articles/9682-pregnancy-physical-changes-after-delivery |website=Cleveland Clinic |access-date=16 August 2024 }}</ref> Менструація, а з нив и шанс на [[тяж]], спирає ся по [[Менопавза|менопавзі]], котра ся типово стає межи 45 и 55&nbsp;роками.<ref name="NIH2013Def">{{cite web |title=Menopause: Overview |url=https://www.nichd.nih.gov/health/topics/menopause |website=National Institutes of Health |access-date=8 March 2015 |date=28 June 2013 |archive-url=https://web.archive.org/web/20150402111845/http://www.nichd.nih.gov/health/topics/menopause/Pages/default.aspx |archive-date=2 April 2015 |url-status=live }}</ref> Подля обзвідовань, 38%&nbsp;жун из выборкы бігом менструалного періода цикла не годні чинити кажджоденні активності.<ref name="The impact of menstrual symptoms on everyday life: a survey among 42,879 women">{{cite journal|vauthors=Schoep ME, Nieboer TE, van der Zanden M, Braat DD, Nap AW|title=The impact of menstrual symptoms on everyday life: a survey among 42,879 women|journal=Am J Obstet Gynecol|volume=220|issue=6|date=2019|pages=569.e1–569.e7|pmid=30885768|doi=10.1016/j.ajog.2019.02.048|doi-access=free}}</ref> Симптомы, котрі ся указувут перед менструаційов и мішавут кажджоденным талантам ся кличут [[Пременструалный синдром|пременструалным синдромом]] (ПМС). Дас&nbsp;20–30%&nbsp;жун переносят ПМС; 3–8% мавут тяжкі симптомы:<ref name="AFP2011">{{cite journal|vauthors=Biggs WS, Demuth RH|title=Premenstrual syndrome and premenstrual dysphoric disorder|url=https://archive.org/details/sim_american-family-physician_2011-10-15_84_8/page/918|journal=American Family Physician|volume=84|issue=8|pages=918–924|date=October 2011|pmid=22010771}}</ref> акне, чуствительні груди, здутя, змученость, миреґашность и перепады дякы.<ref name="Women2014PMS">{{cite web |title=Premenstrual syndrome (PMS) fact sheet |url=http://www.womenshealth.gov/publications/our-publications/fact-sheet/premenstrual-syndrome.html |website=Office on Women's Health |access-date=23 June 2015 |date=23 December 2014 |archive-url=https://web.archive.org/web/20150628073755/http://www.womenshealth.gov/publications/our-publications/fact-sheet/premenstrual-syndrome.html |archive-date=28 June 2015 }}</ref> Подакотрі жоны мавут болючі менструації (дас&nbsp;50–90%), силні кровотечі тай абнормалні кровотечі у хотькотрый період менструалного циклу.<ref name="Women2014Men" /> Удсутность менструації до віку 15&nbsp;рокув авадь через 90&nbsp;днув з момента пруйшлої менструації кличе ся [[аменорея]].<ref name="Women2014Men" /> == Етимолоґія == Термін ''менструація'' походит уд {{Lang-la|mensis}} „місяць“, уд {{Lang-grc|μήνη ''méne''}} „місяць“.<ref name="Allen, Kevin 2007 239" /> == Другі ссавці == Кровотеча бігом менструації ся стає у людий и еволуційно близкых ссавцюв, ги [[шімпанзе]].<ref name="strassmann">{{cite journal|vauthors=Strassmann BI|title=The evolution of endometrial cycles and menstruation|url=https://archive.org/details/sim_quarterly-review-of-biology_1996-06_71_2/page/n4|journal=The Quarterly Review of Biology|volume=71|issue=2|pages=181–220|date=June 1996|pmid=8693059|doi=10.1086/419369|s2cid=6207295}}</ref> == Референції == {{Reflist}} dfm25nsbv1azqg5oj3zc31nlfhptebs Давньоруськый язык 0 25006 170266 169175 2026-09-24T03:51:53Z InternetArchiveBot 22034 Add 1 book for [[Вікіпедія:Перевірителность]] (20260923sim)) #IABot (v2.0.9.6) ([[User:GreenC bot|GreenC bot]] 170266 wikitext text/x-wiki {{Інфобокс язык | name = Давньоруськый язык | altname = | image = 14 2 List of Radzivill Chron.jpg | imagecaption = Лист из [[Радзівілової хронікы]] | nativename = {{lang-orv|рѹсьскъ ꙗзыкъ}} | region = [[Восточна Европа]] | era = 7. вадь 8.&nbsp;стороча&nbsp;– 13. вадь 14.&nbsp;стороча{{sfn|SIL|2022}}{{sfn|Shevelov|1984|loc=section 1}}<br />розвив ся в староросійськый и руськый (рутенськый) язык | familycolor = Indo-European | fam1 = [[Индоевропскы языкы|Індоевропські]] | fam2 = [[Балтословянські языкы|Балтословянські]] | fam3 = [[Словянські языкы|Словянські]] | fam4 = [[Восточнословянські языкы|Восточнословянські]] | iso3 = orv | glotto = oldr1238 | glottorefname = Old Russian | notice = IPA | script = [[Стара кирилиця]] }} '''Давньору́ськый язык''' ({{lang-orv|рѹсьскъ ꙗзыкъ}}; {{lang-be|старажытнаруская мова}}, {{lang-ru|древнерусский язык}},{{sfn|Magocsi|2010|p=106}} {{lang-uk|давньоруська мова}}) быв язык (авадь ґрупа діалектув), котрый хосновали восточні словяне уд 7. авадь 8.&nbsp;стороча до 13. авадь 14.&nbsp;стороча,{{sfn|Shevelov|1984|loc=section 1: "Chronologically, Common Russian is considered by some to have existed from the 7th or 8th century to the 13th or 14th century (Aleksei Sobolevsky, Vatroslav Jagić, Fedot Filin, et al) and by others only to the 10th or 11th century (Oleksander Potebnia, Ahatanhel Krymsky, and, in part, Leonid Bulakhovsky)"}} кой ун ся розділив на [[Староросійськый язык|староросійськый]] и руськый (рутенськый) языкы.{{sfn|Pugh|1996|pp=2–3}} Руськый/рутенськый ся в свою очерідь розвив у [[Русинськый язык|русинськый]], [[Украйинськый язык|украйинськый]] и [[Білоруськый язык|білоруськый]] языкы.{{sfn|Pugh|1985|pp=53–60}} == Фонолоґія == === Голосні === {| | {| class="wikitable" |+Голосні в ранньому давньоруському ! colspan="2" rowspan="2" | ! rowspan="2" |Передні ! colspan="2" |Задні |- !Неогублені !Огублені |- ! rowspan="2" |Закрыті !Напружені |'''и''' {{IPA|/i/}} |'''ꙑ''' {{IPA|/ɯ/}} |'''у''' {{IPA|/u/}} |- !Розслаблені |'''ь''' {{IPA|/ɪ/}} |'''ъ''' {{IPA|/ʊ/}} | |- ! rowspan="2" |Удкрыті !Розслаблені |'''е''' {{IPA|/e/}} | |'''о''' {{IPA|/ɔ/}} |- !напружені |'''ѣ''' {{IPA|/eː/}} |'''a''' {{IPA|/ɑ/}} | |} {| class="wikitable" |+Носові&nbsp;голосні !Передні !Задні |- |'''ѧ''' {{IPA|/ɛ̃/}} |'''ѫ''' {{IPA|/ɔ̃/}} |} |} {| class="wikitable" |+Голосні в пузньому давньоруському ! colspan="2" rowspan="2" | ! rowspan="2" |Передні ! colspan="2" |Задні |- !Неогублені !Огублені |- !Закрыті !Напружені |'''и''' {{IPA|/i/}} |'''ꙑ''' {{IPA|/ɯ/}} |'''у''' {{IPA|/u/}} |- ! rowspan="2" |Удкрыті !Розслаблені |'''е''' {{IPA|/e/}} | |'''о''' {{IPA|/ɔ/}} |- !Напружені |'''ѣ''' {{IPA|/eː/}} |'''a''' {{IPA|/a/}} | |} Носові голосні /[[ѧ]]/ тай /[[ѫ]]/ золляли ся з /[[ꙗ]]/ тай /у/ удповідно на ранньому етапови (дас&nbsp;10.&nbsp;стороча)&nbsp;— перед написаньом майранньых дожывшых рукописув. Май пак у 11–13.&nbsp;сторочах /ь/ тай /ъ/ („єры“) подаґде поупадовали, а подаґде (у „силных“ позиціях) ся вокалізовали в /е/ тай /о/ подля [[Гавлікув закон|закона Гавліка]].{{sfn|Matthews|2013|pp=112–114}} === Приголосні === {| class="wikitable" |+Приголосні в давньоруському ! colspan="2" | !Губні !Зубні/ Алвеоларні !Палаталні !Веларні |- ! colspan="2" |Носові |m |n |nʲ | |- ! rowspan="2" |Плозивні !{{small|глухі}} |p |t | |k |- !{{small|звункі}} |b |d | |ɡ |- ! rowspan="2" |Африкаты !{{small|глухі}} | |t͡sʲ |t͡ɕ | |- !{{small|звункі}} | | | | |- ! rowspan="2" |Фрикативы !{{small|глухі}} | |s |ɕ, sʲ |x |- !{{small|звункі}} | |z |ʑ | |- ! colspan="2" |Бокові | |l |lʲ | |- ! colspan="2" |Апроксиманты |ʋ |r |rʲ j | |} Давньоруськый усокотив почти вшыткі приголосні прасловянського кроме палаталных плозивных *ť и *ď, котрі ся золляли з наявными фонемами /č/ тай /ž/ удповідно.{{sfn|Matthews|2013|p=114}} Перед [[Падіня єрув|падіньом єрув]] (11–13.&nbsp;стороча) палаталізація приголосных была позиційнов (алофонічнов) перед передньыми голосными. Страта єрув вчинила палаталізацію контрастивнов, фонемнов рисов языка.{{sfn|Matthews|2013|p=115}} == Обща інформація == [[Файл:Slavic_languages_tree_and_map_from_Kushniarevich_article.png|396x396пкс|Мапа тай дерево балтословянськых языкув подля Алєксєя&nbsp;Касьяна тай Анны&nbsp;Дыбо|альт=Мапа тай дерево балтословянськых языкув подля Алєксєя Касьяна тай Анны Дыбо|міні]] [[Файл:EastSlavicLanguages.png|ліворуч|міні|Схема розвою восточнословянськых языкув]] Давньоруськый язык быв наслідником прасловянського и всокотив многі з його рис. Ун розвив так звану плеофонію вадь [[повноголося]], котроє стало вызначнов розлуков помежи нововывинутыми восточнословянськыми и другыми словянськыми бесідами. Наприклад ворошноє словянськоє ''{{Lang|2=*gȏrdъ}}'' в давньоруському ся стало ''{{Lang|orv|городъ}}'',{{sfn|Derksen|2008|loc=p. 178: "*gȏrdъ m. o (c) 'fortification, town' … E Ru. górod 'town, city', Gsg. góroda; Bel. hórad 'town, city', Gsg. hórada; Ukr. hórod 'town, city', Gsg. hóroda"}} ворошноє словянськоє ''{{Lang|2=*melkò}}''&nbsp;— давньорус.&nbsp;''{{Lang|orv|молоко}}'',{{sfn|Derksen|2008|loc=p. 307: "*melkò n. o (b) 'milk' … E Ru. molokó"}} ворошноє словянськоє ''{{Lang|2=*kòrva}}''&nbsp;— давньорус.&nbsp;''{{Lang|orv|корова}}''.{{sfn|Derksen|2008|loc=p. 236: "*kòrva f. ā (a) 'cow' … E Ru. koróva"}} Другі словянські діалекты удличили ся метатезов ліквід (плавных) у закрытых складах *eRC тай *aRC (южно- тай западнословянські языкы) вадь лишивши їх домак без змін (ник.&nbsp;[[Метатеза ліквід и плеофонія у словянськых языках]]). Позаяк до нашых днув дожыло мало письмовых памняток давньоруського языка, тяжко оцінити уровень його єдности. Никавучи на тото, як [[Кийовська Русь]] ся чинила многыми племенами тай кланами, годно быти, ож было ай много вшылиякых діалектув давньоруського языка. Айбо набизувно мож говорити лиш за языкы конкретных всокотившых ся рукописув. Дас на 1150.&nbsp;рук давньоруськый мав маймалу реґіоналну варіацію спомежи макродіалектув ворошного словянського.{{sfn|Lunt|2001|loc=p. 184: "the Late Common Slavic of c1000 CE had four regional variants or macro dialects: NorthWest, SouthWest, SouthEast, NorthEast. .&nbsp;.&nbsp;. by c1150 .&nbsp;.&nbsp;. [East Slavic] was still a single language, with the weakest of local variations"}} З часом давньоруськый ся розвив у дакулько май разных форм; по розпадови Кийовської Руси по 1100.&nbsp;році діалектна диференціація ся ускорила.<ref>{{cite book|last1=Byram|first1=Michael|last2=Hu|first2=Adelheid|title=Routledge Encyclopedia of Language Teaching and Learning|date=26 June 2013|publisher=Routledge|isbn=978-1-136-23554-2|page=601|url=https://books.google.com/books?id=vtmSLywH3i8C|language=en}}</ref> Реґіоналні языкы мож было розличити зачинавучи 12. вадь 13.&nbsp;сторочом.{{sfn|Lotha|Kuiper|Mahajan|Shukla|2022|loc=section 1: "Ukrainian is a lineal descendant of the colloquial language used in Kievan Rus (10th–13th century). It is written in a form of the Cyrillic alphabet and is closely related to Russian and Belarusian, from which it was indistinguishable until the 12th or 13th century"}} Подля російського лінґвішты [[Андрєй Залізняк|Андрєя Залізняка]] до 14. вадь 15.&nbsp;стороча майчитава языкова розлука была не межи реґіонами днешньых [[Білорусь|Білоруси]], [[Росія|Росії]] тай [[Украйина|Украйины]],{{sfn|Зализняк|2012|loc=section 111: "…ростовско-суздальско-рязанская языковая зона от киевско-черниговской ничем существенным в древности не отличалась. Различия возникли позднее, они датируются сравнительно недавним, по лингвистическим меркам, временем, начиная с XIV–XV вв […the Rostov-Suzdal-Ryazan language area did not significantly differ from the Kiev-Chernigov one. Distinctions emerged later, in a relatively recent, by linguistic standards, time, starting from the 14th–15th centuries]"}} ай межи сіверозападом (коло сучасного [[Великый Новґород|Великого Новґорода]] тай [[Псков|Пскова]]) и центром (коло сучасных [[Кийов|Кийова]], [[Суздаль|Суздалі]], [[Ростов|Ростова]], [[Москва|Москвы]] тай Білоруси) восточнословянськых територій.{{sfn|Зализняк|2012|loc=section 88: "Северо-запад — это была территория Новгорода и Пскова, а остальная часть, которую можно назвать центральной, или центрально-восточной, или центрально-восточно-южной, включала одновременно территорию будущей Украины, значительную часть территории будущей Великороссии и территории Белоруссии … Существовал древненовгородский диалект в северо-западной части и некоторая более нам известная классическая форма древнерусского языка, объединявшая в равной степени Киев, Суздаль, Ростов, будущую Москву и территорию Белоруссии [The territory of Novgorod and Pskov was in the north-west, while the remaining part, which could either be called central, or central-eastern, or central-eastern-southern, comprised the territory of the future Ukraine, a substantial part of the future Great Russia, and the territory of Belarus … The Old Novgorodian dialect existed in the north-western part, while a somewhat more well-known classical variety of the Old Russian language united equally Kiev, Suzdal, Rostov, the future Moscow and the territory of Belarus]"}} Староновґородськый діалект того часу многым булше ся удличав уд централных восточнословянськых діалектув и другых словянськых языкув уцілови як у далшых сторочах.{{sfn|Зализняк|2012|loc=section 82: "…черты новгородского диалекта, отличавшие его от других диалектов Древней Руси, ярче всего выражены не в позднее время, когда, казалось бы, они могли уже постепенно развиться, а в самый древний период […features of the Novgorodian dialect, which made it different from the other dialects of the Old Rus', were most pronounced not in later times, when they seemingly could have evolved, but in the oldest period]"}}{{sfn|Зализняк|2012|loc=section 92: "…северо-западная группа восточных славян представляет собой ветвь, которую следует считать отдельной уже на уровне праславянства […north-western group of the East Slavs is a branch that should be regarded as separate already in the Proto-Slavic period]"}} За Залізняком російськый язык ся розвив ги злитя того діалекта з централными,{{sfn|Зализняк|2012|loc=section 94: "…великорусская территория оказалась состоящей из двух частей, примерно одинаковых по значимости: северо-западная (новгородско-псковская) и центрально-восточная (Ростов, Суздаль, Владимир, Москва, Рязань) […the Great Russian territory happened to include two parts of approximately equal importance: the north-western one (Novgorod-Pskov) and the central-eastern-southern one (Rostov, Suzdal, Vladimir, Moscow, Ryazan)]"}} в тот час, як украйинськый и білоруськый были продовжіньом розвою централных діалектув восточных словян.{{sfn|Зализняк|2012|loc=section 94: "…нынешняя Украина и Белоруссия — наследники центрально-восточно-южной зоны восточного славянства, более сходной в языковом отношении с западным и южным славянством […today's Ukraine and Belarus are successors of the central-eastern-southern area of the East Slavs, more linguistically similar to the West and South Slavs]"}} Російськый лінґвішта Ґ.&nbsp;А.&nbsp;Хабурґаєв{{sfn|Khaburgaev|2005|loc=p. 418-437}} и шор украйинськых лінґвіштув ([[Степан Смаль-Стоцькый]], [[Иван Огієнко]], [[Юрій Шевельов]], [[Євген Тимченко]], Всеволод Ганцов, [[Олена Курило]]) заперечувут єствованя єдного ворошного восточнословянського языка.{{sfn|Nimchuk|2001}} Подля них діалекты восточнословянськых племен розвили ся поступово з ворошного правословянського языка без проміжных етапув.{{sfn|Shevelov|1979}} По кунци „татарського ярма“ територія даколишньої Кийовської Руси была розділена помежи [[Великоє княжство Литовськоє|Великым княжством Литовськым]] и [[Великоє княжство Московськоє|Великым княжством Московськым]],{{sfn|Chauhan|2012}} и в сих державах ся розвили дві окремі літературні традиції: рутенська на западі и російська на востоці.<ref>{{cite book|last1=Kolodziejczyk|first1=Dariusz|title=The Crimean Khanate and Poland-Lithuania: International Diplomacy on the European Periphery (15th–18th Century), A Study of Peace Treaties Followed by an Annotated Edition of Relevant Documents|date=22 June 2011|publisher=BRILL|isbn=978-90-04-21571-9|page=241|url=https://books.google.com/books?id=B-R5DwAAQBAJ|language=en}}</ref><ref>{{cite book|last1=Woolhiser|first1=Curt Fredric|title=Polish and Belorussian Dialects in Contact: A Study in Linguistic Convergence|date=1995|publisher=Indiana University|page=90|url=https://books.google.com/books?id=lzYeAQAAMAAJ|language=en}}</ref><ref>{{cite book|last1=Rhyne|first1=George N.|last2=Lazzerini|first2=Edward J.|last3=Adams|first3=Bruce Friend|title=The Supplement to The Modern Encyclopedia of Russian, Soviet and Eurasian History: Bashkir Autonomous Soviet Socialist Republic – Bugaev, Boris Nikolaevich|date=2003|publisher=Academic International Press|isbn=978-0-87569-142-8|page=89|url=https://books.google.com/books?id=Y0tpAAAAMAAJ|language=en}}</ref> == Літературный язык == [[Файл:Izbornik_page.jpg|міні|Бук из „Изборника“ Святослава (1073)]] Політична уніфікація реґіона в державу [[Кийовська Русь]] стала ся приближно за стороча до [[Хрещіня Руси|приятя християнства]] в 988.&nbsp;році тай установленя южнословянського [[Староцерьковнословянськый язык|староцерьковнословянського]] языка літурґійным и літературным. Из сього періода є мало документації в давньоруському языкови, и товдышньоє удношіня межи літературнов и говоренов бесідов тяжко ся дає дефіновати.<ref>{{cite book |last=Magocsi |first=Paul Robert |title=With Their Backs to the Mountains: A History of Carpathian Rus' and Carpatho-Rusyns |publisher=Central European University Press |location=Budapest |year=2015 |isbn=978-615-5053-39-9 |pages=37, 40, 47–49 |language=en}}</ref> У бізантськых жерелах дохристиянські восточні словяне ся споминавут писати&nbsp;— айбо попри дотычні археолоґічні находкы тай споминок за „<nowiki/>[[черты и різы]]<nowiki/>“ у монаха 10.&nbsp;стороча [[Чорноризець Храбр|Чорноризця Храбра]], котрыми писали давні словяне, точну природу їхньої письмової системы сперед кирилізаційов не знати.<ref>{{cite web |url=http://litopys.org.ua/istkult/ikult04.htm |title=Писемність. Освіта. |author=С. О. Висоцький |website=Ізборник |date=2001 |access-date=2026-09-05 |language=uk}}</ref> Як тото демонструвут церьковні написы в Новґороді, куртый час была у хоснованьови [[глаголиця]], айбо доста скоро ї повнустю замінило [[Кирилиця|кириличноє письмо]].{{sfn|Vinokur|1971|loc=p. 27: "There are no extant Old Russian manuscripts written entirely in Glagolitic. There are however Russian Cyrillic manuscripts in which isolated words and lines in Glagolitic occur"}} Фраґменты берестяных грамот, найдені на розкопках у [[Великый Новґород|Новґородови]], дали важный матеріал про зглядованя староновґородської бесіды, котра в тот час была щи практично цілком чиста уд вливу церьковнословянського языка. Знає ся ай ож товды у хоснованя зачали заходити позычкы тай калкы з бізантського грецького языка, а літературный язык зачав ся наближовати д восточнословянському. === Повість минулых літ === {{Main|Повість минулых літ}} „Повѣсть времѧньных лѣ<sup>т</sup>“, дас 1110.&nbsp;рук, дараб из Лаврентіювського літописа (1377): [[Файл:Povest_vremennykh_let_text.png|500x500пкс]] {| class="wikitable" ! !Original |- !По давньоруськы{{sfn|RSL}}{{sfn|Izbornyk2}} |{{lang|orv|Се повѣсти времѧньны<sup>х</sup> лѣ<sup>т</sup> ‧ ѿкꙋдꙋ єсть пошла рꙋскаꙗ зем[л]ѧ ‧ кто въ києвѣ нача первѣє кнѧжи<sup>т</sup> ‧ и ѿкꙋдꙋ рꙋскаꙗ землѧ стала єсть <nowiki>|~</nowiki>}} |- !По [[Російскый язык|російськы]]{{sfn|NLR|loc=section 1: "Вот повести минувших лет, откуда пошла русская земля, кто в Киеве стал первым княжить, и как возникла русская земля"}}{{sfn|BBM}} |{{lang|ru|Вот повести минувших лет, откуда пошла русская земля, кто в Киеве стал первым княжить, и как возникла русская земля.}} |- !По [[Украйинськый язык|украйинськы]]{{sfn|LUL|loc=section 1: "Повість минулих літ Нестора, чорноризця Феодосієвого монастиря Печерського, звідки пішла Руська земля, і хто в ній почав спершу княжити, як Руська земля постала"}} |{{lang|uk|Повість минулих літ Нестора, чорноризця Феодосієвого монастиря Печерського, звідки пішла Руська земля, і хто в ній почав спершу княжити, як Руська земля постала.}} |- !По [[Білоруськый язык|білоруськы]]{{sfn|Karotki|2004|loc=p. 4: "Вось аповесці мінулых гадоў: адкуль пайшла руская зямля, хто ў Кіеве першым пачаў княжыць, і адкуль руская зямля паўстала"}} |{{lang|be|Вось аповесці мінулых гадоў: адкуль пайшла руская зямля, хто ў Кіеве першым пачаў княжыць, і адкуль руская зямля паўстала.}} |} У сьому прикладі падіня єрув щи в процесі вадь уже ся стало: дакулько слув ся кунчавут на приголосный, напр.&nbsp;{{Lang|orv|кнѧжит}} (← {{Lang|orv|кънѧжити}}; сучасноє ''княжити''). Из южнословянськых рис туй є {{Lang|orv|времѧньнъıх}} (сучасноє ''минулых''). Коректно ся хоснує [[Перфект (ґраматика)|перфект]] и [[аорист]]: {{Lang|orv|єсть пошла}} (''пушла''), {{Lang|orv|нача}} (''начав''). === Слово о полку Игореві === {{Main|Слово о полку Игореві}} „Слово о пълку Игоревѣ“, дас&nbsp;1200.&nbsp;рук, из Псковського списка (15.&nbsp;стороча): {{Blockquote|Не лѣпо ли ны бяшетъ братїє, начяти старыми словесы трудныхъ повѣстїй о пълку Игоревѣ, Игоря Святъславлича? Начати же ся тъй пѣсни по былинамъ сего времени, а не по замышленїю Бояню. Боянъ бо вѣщїй, аще кому хотяше пѣснь творити, то растѣкашется мыслію по древу, сѣрымъ вълкомъ по земли, шизымъ орломъ подъ облакы.{{sfn|Izbornyk1}}}} Были припущеня, ож фраза „розтікати ся мысльов по дереву“ появила ся з недоброго прочитаня ориґіналного {{Lang|orv|мысію}} (т.&nbsp;є.&nbsp;''мышов''), айбо и в рукописнуй копії 1790.&nbsp;року, и першому выданю 1800.&nbsp;року, як и в ушыткых далшых научных уданях, є ипен прочитаня {{Lang|orv|мыслію}}. == Референції == {{Reflist}} == Література == {{Refbegin|2}} * {{cite web |url=http://lib.pushkinskijdom.ru/Default.aspx?tabid=4869 |website=Институт русской литературы (Пушкинский дом) Российской академии наук |title=Повесть временных лет |language=Russian |ref={{SfnRef|BBM}} |access-date=2026-06-23 }} * {{cite web |url=https://www.britannica.com/topic/Old-Russian |title=Old Russian |author=<!--Not stated--> |website=Encyclopædia Britannica |access-date=14 July 2022 |ref={{SfnRef|Britannica}} }} * {{cite web |url=https://www.britannica.com/topic/Grand-Principality-of-Moscow |title=Grand Principality of Moscow {{!}} medieval principality, Russia |last1=Chauhan |first1=Yamini |website=Encyclopædia Britannica |date=25 May 2012 |access-date=2022-12-31 }} * {{cite book |last=Karotki |first=Uladzimir |translator-last1=Karotki |translator-first1=Uladzimir |translator-last2=Nekrashevich-Karotkaya |translator-first2=Zhanna |translator-last3=Kayala |translator-first3=U. I. |date=2004 |title=Staražytnaja litaratura uschodnich slavian XI – XIII stahoddziaŭ |trans-title=Old Literature of the East Slavs in the 11th–13th Centuries |script-title=be:Старажытная літаратура ўсходніх славян ХІ – ХІІІ стагоддзяў |url=http://www.bsu.by/Cache/pdf/362473.pdf |language=be |location=Grodno |publisher=GrSU }} * {{cite encyclopedia |editor-last=Chisholm |editor-first=Hugh |title=Slavonic, Old |url=https://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Slavonic,_Old |work=Encyclopædia Britannica |edition=11th |publisher=Cambridge University Press |volume=25 |pages=227–228 |year=1911}} * {{cite book |last1=Cross |first1=Samuel Hazzard |last2=Sherbowitz-Wetzor |first2=Olgerd P. |date=2012 |orig-date=1953 |ref={{SfnRef|Cross|Sherbowitz-Wetzor|1953}} |title=The Russian Primary chronicle: Laurentian Text |url=https://books.google.com/books?id=ynIJAQAAIAAJ&q=%22bygone+years%22 |location=Cambridge, MA |publisher=Mediaeval Academy of America |isbn=978-0-915651-32-0 }} * {{cite book |last=Derksen |first=Rick |date=2008 |title=Etymological Dictionary of the Slavic Inherited Lexicon |url=https://archive.org/details/EtymologicalDictionaryOfTheSlavicInheritedLexicon_201310 |location=Leiden-Boston |publisher=Koninklijke Brill NV |issn=1574-3586 |isbn=978-90-04-15504-6 }} * {{cite book |last1=Дыбо |first1=В. А. |last2=Замятина |first2=Г. И. |last3=Николаев |first3=С. Л. |editor-last=Булатова |editor-first=Р. В. |date=1990 |title=Основы славянской акцентологии |url=https://inslav.ru/publication/dybo-v-zamyatina-g-i-nikolaev-s-l-osnovy-slavyanskoy-akcentologii-m-1990 |language=Russian |location=[[Москва]] |publisher=Наука |isbn=5-02-011011-6 }} * Getka, Joanna, Moisiienko, Viktor, [https://www.wuw.pl/product-pol-20404-Na-poczatku-bylo-Slowo-Od-standardu-mowionego-do-normy-literackiej-Zarys-genezy-ukrainskiego-jezyka-literackiego-EBOOK.html Na początku było Słowo… Od standardu mówionego do normy literackiej (Zarys genezy ukraińskiego języka literackiego)] // Йоанна Ґетка, Віктор Мойсієнко, Спочатку було Слово… Від мовного узусу – до літературної норми (Нарис генези української літературної мови). Wydawnictwa Uniwersytetu Warszawskiego, 2024, ISBN 978-83-235-6700-4, ISBN 978-83-235-6701-1 (pdf online) * Getka, Joanna, Moisiienko, Viktor, Origins of the Ukrainian literary language in the context of the polish hypothesis on genesis polish literary language „Українська полоністика”, 17/2020 DOI: https://doi.org/10.35433/2220-4555.17.2020.fil-4 * {{cite web |url=http://izbornyk.org.ua/slovo/slovo.htm |title=СЛОВО О ПЛЪКУ ИГОРЕВѢ. Слово о полку Ігоревім. Слово о полку Игореве |website=Izbornyk |access-date=2022-12-22 |lang=uk |ref={{SfnRef|Izbornyk1}} }} * {{cite web |url=http://litopys.org.ua/lavrlet/lavr01.htm |title=Лѣтопись по Лаврентьевскому списку |language=Russian |website=Izbornyk |ref={{SfnRef|Izbornyk2}} }} * {{cite book |last=Хабургаев |first=Георгий Александрович |editor-last1=Молдован |editor-first1=А. М. |editor-last2=Скорвид |editor-first2=С. С. |editor-last3=Кибрик |editor-first3=А. А. |editor-last4=Рогова |editor-first4=Н. В. |editor-last5=Якушкина |editor-first5=Е. И. |editor-last6=Журавлев |editor-first6=А. Ф. |editor-last7=Толстая |editor-first7=С. М. |title=Языки мира. Славянские языки |chapter=Древнерусский язык |date=2005 |chapter-url=https://archive.org/details/iazykymyra/page/418/mode/1up |url=https://archive.org/details/iazykymyra |language=Russian |publisher=Academia |location=Moscow |pages=418–437 }} * {{cite web |last1=Krause |first1=Todd B. |last2=Slocum |first2=Jonathan |date=2013 |title=Old Russian Online, Series Introduction |url=https://lrc.la.utexas.edu/eieol/oruol |website=Early Indo-European Online Language Lessons |publisher=University of Texas at Austin |access-date=2022-12-25 }} * {{cite book |last=Langston |first=Keith |editor1=Jared Klein |editor2=Brian Joseph |editor3=Matthias Fritz |year=2018 |title=Handbook of Comparative and Historical Indo-European Linguistics |chapter=The documentation of Slavic |chapter-url=https://books.google.com/books?id=SuR8DwAAQBAJ&dq=%22The+language+of+the+oldest+texts+from+the+period+of+Kievan+Rus%22&pg=PA1397 |pages=1397–1413 |publisher=Walter de Gruyter GmbH & Co KG |isbn=978-3-11-054243-1 }} * {{cite web |url=https://www.britannica.com/topic/Ukrainian-language |title=Ukrainian Language |last1=Lotha |first1=Gloria |last2=Kuiper |first2=Kathleen |last3=Mahajan |first3=Deepti |last4=Shukla |first4=Gaurav |date=13 September 2022 |access-date=2022-12-31 |website=Encyclopædia Britannica }} * {{cite web |url=http://www.ukrlib.com.ua/narod/printout.php?id=7&bookid=2 |website=Бібліотека української літератури |title=Повість минулих літ |lang=uk |ref={{SfnRef|LUL}} }} * {{cite book |last=Lunt |first=Horace G. |year=2001 |title=Old Church Slavonic Grammar |publisher=Mouton De Gruyter |isbn=3-11-016284-9 |edition=seventh |location=Berlin |page=184}} * {{Cite book |last=Magocsi |first=Paul Robert |title=A history of Ukraine: the land and its peoples |date=2010 |publisher=University of Toronto press |isbn=978-1-4426-4085-6 |edition=2nd |location=Toronto }} * {{cite encyclopedia |last=Minns |first=Ellis Hovell |editor-last=Chisholm |editor-first=Hugh |title=Slavs |url=https://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Slavs |work=Encyclopædia Britannica |edition=11th |publisher=Cambridge University Press |volume=25 |pages=228–237 |year=1911}} * {{cite web |url=https://expositions.nlr.ru/LaurentianCodex/_Project/page_Show.php?lang=en |title=Laurentian Codex. 1377 |website=The National Library of Russia |ref={{SfnRef|NLR}} }} * {{cite book |url=http://litopys.org.ua/istkult/ikult01.htm |last=Німчук |first=В. В. |author-link=Василь Німчук |editor-last=Смолій |editor-first=В. А. |date=2001 |title=Історія української культури |chapter=9.1. Мова |volume=1 |lang=uk |location=[[Кийов|Київ]] |publisher=Наукова думка |access-date=2022-12-25 }} * {{cite book |last=Ostrowski |first=Donald |others=Christian Raffensperger |date=2018 |title=Portraits of Medieval Eastern Europe, 900–1400 |location=Abingdon, Oxon |publisher=Routledge |isbn=978-1-315-20417-8 |oclc=994543451 }} * {{cite web |url=https://viewer.rsl.ru/ru/rsl01004161806?page=23&rotate=0&theme=white |title=Laurentian Codex |website=Russian State Library |ref={{SfnRef|RSL}} }} * {{cite book |last=Schenker |first=Alexander M. |year=1995 |title=The Dawn of Slavic: An Introduction to Slavic Philology |url=https://archive.org/details/schenker.-the-dawn-of-slavic/mode/1up |location=New Haven / London |publisher=Yale University Press |isbn=0-300-05846-2 }} * {{cite web |url=http://www.encyclopediaofukraine.com/display.asp?linkpath=pages%5CC%5CO%5CCommonRussian.htm |title=Common Russian |last=Shevelov |first=George Yurii |date=1984 |website=Internet Encyclopedia of Ukraine |access-date=2022-12-25 }} * {{cite Q|Q105081119}} * {{cite book |last=Shevelov |first=George Yurii |author-link=Юрій Шевельов |chapter=History of the Ukrainian Language |title=Ukraine: A Concise Encyclopaedia |volume=I |editor-last=Kubijovyč |editor-first=Volodymyr |editor-link=Володимир Кубійович |publisher=University of Toronto Press |date=1963 |lccn=63023686}} * {{cite book |last=Shevelov |first=George Yurii |translator-last1=Vakulenko |translator-first1=Serhiy |translator-last2=Danilenko |translator-first2=Andriy |date=1979 |title=Istorychna fonologiia ukrains'koi movy |trans-title=A Historical Phonology of the Ukrainian Language |script-title=uk:Історична фонологія української мови |url=http://www.litopys.org.ua/shevelov/shev.htm |language=Ukrainian |location=Kharkiv |publisher=Acta |publication-date=2000 |access-date=2022-12-25 }} * {{cite web |url=https://iso639-3.sil.org/code/orv |title=639 Identifier Documentation: orv |date=2022 |publisher=SIL International (formerly known as the Summer Institute of Linguistics) |access-date=25 December 2022 |ref={{SfnRef|SIL|2022}} }} * {{cite journal |last=Simone |first=Lucas Ricardo |year=2018 |title=Uma breve introdução ao idioma eslavo oriental antigo |trans-title=A Brief Introduction to the Old East Slavic Language |journal=Slovo – Revista de Estudos em Eslavística |url=https://revistas.ufrj.br/index.php/slovo/article/view/17473 |volume=1 |issue=1 |pages=14–39 |language=Portuguese }} * {{cite book |last=Vinokur |first=G. O. |translator-last=Forsyth |translator-first=Mary A. |editor-last=Forsyth |editor-first=James |year=1971 |title=The Russian Language: A Brief History |url=https://books.google.com/books?id=qi232E66QbQC |location=Cambridge |publisher=Cambridge University |isbn=0-521-07944-6 }} * {{cite book |last1=Ярцева |first1=В. Н. |last2=Арутюнова |first2=Н. Д. |date=1990 |title=Лингвистический энциклопедический словарь |publisher=Издательство «Советская энциклопедия», Институт языкознания Академии наук СССР |language=Russian |location=[[Москва]] |page=143 |isbn=5-85270-031-2 |oclc=23704551 }} * {{cite web |url=https://elementy.ru/nauchno-populyarnaya_biblioteka/431649/Ob_istorii_russkogo_yazyka |last=Зализняк |first=Андрей Анатольевич |date=2012 |title=Об истории русского языка |language=Russian |website=Elementy |publisher=Mumi-Troll School |access-date=2022-12-25 }} * {{Cite journal|last=Pugh|first=Stefan M.|title=The Ruthenian Language of Meletij Smotryc'kyj: Phonology|url=https://archive.org/details/harvard-ukrainian-studies_1985-06_9_1-2/page/53|journal=Harvard Ukrainian Studies|year=1985|volume=9|number=1/2|pages=53–60|jstor=41036132}} * {{cite book |last1=Bermel |first1=Neil |title=Context and the Lexicon in the Development of Russian Aspect |date=1 January 1997 |publisher=University of California Press |isbn=978-0-520-09812-1 |url=https://books.google.com/books?id=hIzbAkw1SOwC |language=en }} * {{cite book |last1=Fortson |first1=Benjamin W. |title=Indo-European Language and Culture: An Introduction |date=7 September 2011 |publisher=John Wiley & Sons |isbn=978-1-4443-5968-8 |url=https://books.google.com/books?id=bSxHgej4tKMC |language=en }} * {{Cite book|last=Pugh|first=Stefan M.|title=Testament to Ruthenian: A Linguistic Analysis of the Smotryc'kyj Variant|year=1996|location=Cambridge, Mass.|publisher=Harvard University Press|isbn=978-0-916458-75-1|url=https://books.google.com/books?id=-hWBAAAAIAAJ}} * {{cite book |last1=Matthews |first1=W. K. |title=The structure and development of Russian |date=2013 |location=Cambridge |publisher=Cambridge University Press |isbn=978-1-107-61939-5 |edition=First paperback}} {{Refend}} azkch9i1z521ihps4jkv54wr0pzirh6 Османьскый язык 0 25081 170217 169508 2026-09-23T18:10:03Z Rue323 31002 Rue323 переменовав сторінку [[Османьскый язык]] на [[Паралел (чеперушка)]]: Нова статя (де-факто, бо началну и так нико у ближый час не удалить) 169508 wikitext text/x-wiki {{delete}} '''Осма́ньскый язы́к'''{{Жрідло}} jt9d8ytdwgmrh64pygwbr9644b1htg1 170220 170217 2026-09-23T18:35:53Z Halajkovič 33393 Halajkovič переменовав сторінку [[Паралел (чеперушка)]] на [[Османьскый язык]] з вычерянём напрямлїнь: відкинути перейменування 169508 wikitext text/x-wiki {{delete}} '''Осма́ньскый язы́к'''{{Жрідло}} jt9d8ytdwgmrh64pygwbr9644b1htg1 170222 170220 2026-09-23T18:36:45Z Halajkovič 33393 /* */ 170222 wikitext text/x-wiki {{Статья в роботѣ|[[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]])|3|w|датум=20:36, 23 септембра 2026 (CEST)}} '''Осма́ньскый язы́к''' 587sn2vuzzq3vs5wv38dojsoehb794l 170259 170222 2026-09-24T00:57:44Z Halajkovič 33393 170259 wikitext text/x-wiki {{Статья в роботѣ|[[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]])|3|w|датум=20:36, 23 септембра 2026 (CEST)}} {{Інфобокс язык | name = Османьскый язык | altname = Ottoman | nativename = {{lang|ota|لسان عثمانی}}<br />{{translit|ota|Lisân-ı Osmânî}} | region = [[Османьска імперія]] | ethnicity = [[Ottoman Turks]] | era = {{circa|15th century}}; displaced as a literary standard by [[Turkish language|modern Turkish]] in 1928<ref>{{cite web|title= Turkey – Language Reform: From Ottoman To Turkish|url= http://countrystudies.us/turkey/25.htm|website= Countrystudies.us|access-date= 24 May 2016|url-status= live|archive-url= https://web.archive.org/web/20160409100335/http://countrystudies.us/turkey/25.htm|archive-date= 9 April 2016}}</ref> | familycolor = Altaic | fam1 = [[Turkic languages|Turkic]] | fam2 = [[Common Turkic languages|Common Turkic]] | fam3 = [[Oghuz languages|Oghuz]] | fam4 = Western Oghuz | fam5 = | ancestor = [[Old Anatolian Turkish]] | script = [[Ottoman Turkish alphabet]]<br>[[Armeno-Turkish alphabet]] | nation = {{ubl|[[Beylik of Tunis]]|[[Cretan State]]|[[Emirate of Jabal Shammar]]|[[Khedivate of Egypt]]|[[Ottoman Empire]]|[[Provisional National Government of the Southwestern Caucasus]]|[[Provisional Government of Western Thrace]]|[[Turkish Provisional Government]]|[[Turkey]] ([[Turkish language#Language reform and modern Turkish|until 1928]]){{efn|The national language was called "Turkish" in the 1921 and 1924 constitutions of the Republic of Turkey.<ref>{{Cite web |title=5662 |url=https://dergipark.org.tr/tr/download/article-file/5662 |website=DergiPark}}</ref>}}}} | iso2 = ota | iso3 = ota | glotto = otto1234 | map = Growth of the Ottoman Empire.jpg | mapcaption = The Ottoman Empire at its peak. During this time Ottoman Turkish culture including the language also developed in the conquered areas. | image = [[File:Ottoman Turkish in Nastaliq.png|200px]] | imagecaption = Ottoman Turkish written in [[Nastaliq]] style<br />({{lang|ota|لسان عثمانی}}) }} '''Осма́ньскый язы́к''' або '''османьско-турецькый язык''' быв == Історія == == Транслітерації == {{поз. тыж|Османьскый алфавіт}} The transliteration system of the {{lang|tr|[[İslâm Ansiklopedisi]]}} has become a ''de facto'' standard in [[Oriental studies]] for the transliteration of Ottoman Turkish texts.<ref>Korkut Buğday ''Osmanisch'', p. 2</ref> In [[Transcription (linguistics)|transcription]], the New Redhouse, Karl Steuerwald, and Ferit Devellioğlu dictionaries have become standard.<ref>Korkut Buğday ''Osmanisch'', p. 13</ref> Another transliteration system is the {{lang|de|[[Deutsche Morgenländische Gesellschaft]]|italic=no}} (DMG), which provides a transliteration system for any Turkic language written in Arabic script.<ref>[http://www.aai.uni-hamburg.de/voror/Material/dmg.pdf Transkriptionskommission der DMG ''Die Transliteration der arabischen Schrift in ihrer Anwendung auf die Hauptliteratursprachen der islamischen Welt'', p. 9] {{webarchive|url=https://web.archive.org/web/20120722030443/http://www.aai.uni-hamburg.de/voror/Material/dmg.pdf |date=2012-07-22}}</ref> There are few differences between the İA and the DMG systems. {| class="wikitable" |+ İA-Transliteration<ref>Korkut Buğday ''Osmanisch'', p. 2f.</ref> |- align=center | {{lang|ota|ا}} | {{lang|ota|ب}} | {{lang|ota|پ}} | {{lang|ota|ت}} | {{lang|ota|ث}} | {{lang|ota|ج}} | {{lang|ota|چ}} | {{lang|ota|ح}} | {{lang|ota|خ}} | {{lang|ota|د}} | {{lang|ota|ذ}} | {{lang|ota|ر}} | {{lang|ota|ز}} | {{lang|ota|ژ}} | {{lang|ota|س}} | {{lang|ota|ش}} | {{lang|ota|ص}} | {{lang|ota|ض}} | {{lang|ota|ط}} | {{lang|ota|ظ}} | {{lang|ota|ع}} | {{lang|ota|غ}} | {{lang|ota|ف}} | {{lang|ota|ق}} | {{lang|ota|ك}} | {{lang|ota|گ}} | {{lang|ota|ڭ}} | {{lang|ota|ل}} | {{lang|ota|م}} | {{lang|ota|ن}} | {{lang|ota|و}} | {{lang|ota|ه}} | {{lang|ota|ی}} |- align=center | {{translit|ota|ʾ, ā}} | {{translit|ota|b}} | {{translit|ota|p}} | {{translit|ota|t}} | {{translit|ota|s̱}} | {{translit|ota|c}} | {{translit|ota|ç}} | {{translit|ota|ḥ}} | {{translit|ota|ḫ}} | {{translit|ota|d}} | {{translit|ota|ẕ}} | {{translit|ota|r}} | {{translit|ota|z}} | {{translit|ota|j}} | {{translit|ota|s}} | {{translit|ota|ş}} | {{translit|ota|ṣ}} | {{translit|ota|ż}} | {{translit|ota|ṭ}} | {{translit|ota|ẓ}} | {{translit|ota|ʿ}} | {{translit|ota|ġ}} | {{translit|ota|f}} | {{translit|ota|ḳ}} | {{translit|ota|k, g, ñ, ğ}} | {{translit|ota|g}} | {{translit|ota|ñ}} | {{translit|ota|l}} | {{translit|ota|m}} | {{translit|ota|n}} | {{translit|ota|v}} | {{translit|ota|h}} | {{translit|ota|y}} |} == Референції == {{референції}} == Далшы жрїдла == ; В анґліцькім языку * {{cite book|title=Ottoman-Turkish conversation-grammar: a practical method of learning the Ottoman-Turkish language, Volume 1|author=V. H. Hagopian|year=1907|publisher=D. Nutt}} Online copies: [https://books.google.com/books?id=eS8rAAAAYAAJ], [https://archive.org/details/ottomanturkishc00hagogoog], [https://archive.org/details/ottomanturkishc00hagogoog] * {{cite book|title=A practical grammar of the Turkish language (as spoken and written)|author=Charles Wells|year=1880|publisher=B. Quaritch}} Online copies from [[Google Books]]: [https://books.google.com/books?id=bYqvxt5wQrcC], [https://archive.org/details/apracticalgramm00wellgoog], [https://books.google.com/books?id=MD1bAAAAQAAJ] * {{cite book|url=https://books.google.com/books?id=wrsIAQAAMAAJ|title=Key to the Ottoman-Turkish conversation-grammar|author=V. H. Hagopian|year=1908|publisher=Nutt}} * {{cite book|url=https://archive.org/details/simplifiedgramma00redhuoft|title=A simplified grammar of the Ottoman-Turkish language|author=Sir James William Redhouse|year=1884|publisher=Trübner}} * {{cite book|url=https://archive.org/details/elementarygramm00hopkgoog|title=Elementary grammar of the Turkish language: with a few easy exercises|author=Frank Lawrence Hopkins|year=1877|publisher=Trübner}} * {{cite book|url=https://books.google.com/books?id=CydMAAAAYAAJ|title=An English and Turkish dictionary: in two parts, English and Turkish, and Turkish and English|author=Sir James William Redhouse|year=1856|publisher=B. Quarich}} * {{cite book|url=https://books.google.com/books?id=9lFJAAAAYAAJ|title=A lexicon, English and Turkish: shewing in Turkish, the literal, incidental, figurative, colloquial, and technical significations of the English terms, indicating their pronunciation in a new and systematic manner; and preceded by a sketch of English etymology, to facilitate to Turkish students ...|author=Sir James William Redhouse|year=1877|publisher=Printed for the mission by A.H. Boyajian|edition=2nd}} * {{cite book|url=https://archive.org/details/turkishinterpre00boydgoog|title=The Turkish interpreter: or, A new grammar of the Turkish language|author=Charles Boyd, Charles Boyd (Major.)|year=1842|publisher=Printed for the author}} * {{cite book|url=https://books.google.com/books?id=uFVWAAAAYAAJ|title=A Grammar of The Turkish Language|author=Thomas Vaughan|year=1709|publisher=Robinson}} * {{cite book|url=https://archive.org/details/apracticalgramm00barkgoog|title=A practical grammar of the Turkish language: With dialogues and vocabulary|author=William Burckhardt Barker|year=1854|publisher=B. Quaritch}} * {{cite book|url=https://archive.org/details/readingbookoftur00bark|title=A reading book of the Turkish language: with a grammar and vocabulary; containing a selection of original tales, literally translated, and accompanied by grammatical references : the pronunciation of each word given as now used in Constantinople|author=William Burckhardt Barker, Nasr-al-Din (khwajah.)|year=1854|publisher=J. Madden}} * {{cite book|url=https://books.google.com/books?id=jD1bAAAAQAAJ|title=The Turkish campaigner's vade-mecum of Ottoman colloquial language|author=James William Redhouse (sir.)|year=1855}} * Lewis, Geoffrey. The Jarring Lecture 2002. "[https://web.archive.org/web/20200214235002/https://pdfs.semanticscholar.org/6798/3e3ff2d42575fed8f4e8df320b9eef7284d9.pdf The Turkish Language Reform: A Catastrophic Success]". ; В іншых языках * [[Мегмет Гаккі Сучін|Mehmet Hakkı Suçin]]. ''Qawâ'id al-Lugha al-Turkiyya li Ghair al-Natiqeen Biha'' (Turkish Grammar for Arabs; adapted from Mehmet Hengirmen's ''Yabancılara Türkçe Dilbilgisi''), Engin Yayınevi, (2003). * Mehmet Hakkı Suçin. ''Atatürk'ün Okuduğu Kitaplar: Endülüs Tarihi'' (Books That [[Atatürk]] Read: History of Andalucia; purification from the Ottoman Turkish, published by Anıtkabir Vakfı, 2001). * {{cite book|author=Kerslake, Celia|chapter=La construction d'une langue nationale sortie d'un vernaculaire impérial enflé: la transformation stylistique et conceptuelle du turc ottoman|title=Langues et Pouvoir de l'Afrique du Nord à l'Extrême-Orient|editor=Chaker, Salem|location=[[Aix-en-Provence]]|publisher=[[Edisud]]|year=1998|pages=129–138|language=fr}} * {{cite book|title=Osmanisch: Einführung in die Grundlagen der Literatursprache|author=Korkut M. Buğday|editor=Otto Harrassowitz Verlag|year=1999|language=de}} == Екстерны одказы == * [https://turkdilleri.com/en/tools/ottoman-turkish-transliteration Latin to Ottoman Turkish transliteration] * [https://muse.jhu.edu/pub/234/oa_edited_volume/chapter/3024962 Michael Talbot. 2021. Central Europe in 1910 as Seen Through the Lens of Ottoman Turkish (pp. 68-71). In: Tomasz Kamusella. ''Words in Space and Time: A Historical Atlas of Language Politics in Modern Central Europe''. Budapest and Vienna: Central European University Press.] * [http://courses.washington.edu/otap/ Ottoman Text Archive Project] * [http://www.umich.edu/~turkish/langres_ott.html Ottoman Turkish Language: Resources – University of Michigan] * [http://www.dilbilimi.net/osmanli_arastirmalari.htm#osmanli_turkcesi_metinleri Ottoman Turkish Language Texts] * [https://web.archive.org/web/20130311040926/http://gaspirali.com/osmanli/ Ottoman-Turkish-English Open Dictionary] * [https://pauctle.com/osmtr/ Ottoman<->Turkish Dictionary – University of Pamukkale] You can use ? character instead of an unknown letter. It provides results from Arabic and Persian dictionaries, too. * [http://osmanlica.ihya.org/ Ottoman<->Turkish Dictionary – ihya.org] * [https://lugatim.com Kubbealtı Lugatı] i93kopixeb2m1g0gojuwacuqo05xl6b Birthdays the Beginning 0 25126 170191 170021 2026-09-23T12:57:34Z Rue323 31002 170191 wikitext text/x-wiki {{Інфобокс відеогра | image = | caption = North American cover | developer = [[Arc System Works]] | publisher = {{vgrelease|JP|Arc System Works|WW|[[NIS America]]}} | designer = | engine = | released = '''PlayStation 4'''<br />{{vgrelease|Японія|19. януара, 2017|Америка|9. мая, 2017<ref name=Release>{{cite web |last=Romano |first=Sal |date=21. децембра, 2016 |url=https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |title=Birthdays the Beginning delayed to May 9 in North America, May 12 in Europe |website=Gematsu |access-date=May 8, 2023 |archive-date=May 8, 2023 |archive-url=https://web.archive.org/web/20230508185919/https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |url-status=live }}</ref>|Европа|12. мая, 2017<ref name=Release/>|AU|May 26, 2017}}'''Windows'''{{vgrelease|WW|May 9, 2017 (on day of PS4 NA release)}}'''Switch'''<br />{{vgrelease|Японія|марця 2018|NA|June 5, 2018|Европа|8. юна, 2018|Австр|15. юна, 2018}} | genre = [[Симулатор бытя]], [[пісковниця (игры)|пісковниця]] | series = | modes = [[Игра на єдного]] | platforms = [[PlayStation 4]], [[Microsoft Windows]], [[Nintendo Switch]] }} '''Birthdays the Beginning''' ({{Lang-rue|Дні рождіня: Зачаток}}) ({{Lang-ja|バースデイズ・ザ・ビギニング}}, ''Bāsudeizu za Biginingu'') — [[Компютерна бавка|игра]] у жанрови пісочниця и симулатор бога, розроблена [[TOYBOX]] и [[ARC SYSTEM WORKS]] при продуцентованёви [[Ясухіро Вада|Ясухіро Вады]]. Играч появлять ся у кубічному світови и мать переробити ёго рельеф, температуру и окружавущі условія так, жебы у ньӱм росли и розвивали ся различні формы живота, уд майпростых [[Орґанізм|орґанізмӱв]], до [[Ростлины|ростлин]], [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и [[Чоловік розумный|чоловіка]]. Игра уйшла на [[PC]] и [[PlayStation]] у [[2017]]. році.<ref>{{cite web |url=https://nisamerica.com/games/birthdays-beginning |title=Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> {{Статья в роботѣ|Rue323|10}} == Концепція игры == Играч не управлять истнотами вадь ростлинами напряму. Замісто того управлявучи условіями их живота, мінявучи температуру, высоту повирьхности, воду, и инноє. Играч робить простӱр де орґанізмы годни ся розмножати, появляти, [[Еволуція|еволуціоновати]], [[Мутація|мутовати]], удмирати и розвивати. Продуцент игры [[Ясухіро Вада]] объясняв концепцію через интерес ид тому, як у цілому взникать живот на [[Земля (планета)|земли]].<ref>{{cite web |url=https://www.gamespot.com/articles/harvest-moon-creator-on-his-new-game-and-how-stard/1100-6445583/ |title=Harvest Moon Creator on His New Game |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Игра представлять [[Свѣт|світ]] у виді ґіґантського куба, у межох котрого играч годен творити [[горы]], [[Низина|низины]], [[Море|моря]], [[Остров|островы]] и другі части рельефа. При тому сотвореный світ стає не просто декоративныв картов: переміна рельефа вплывать на [[клімат]] и тым самым на далшоє розвитя [[Екосистема|екосистемы]].<ref name="official">{{cite web |url=https://www.birthdaysthebeginning.com/ |title=Birthdays the Beginning - Official Website |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> == Основный игровый цикл == Игровый процес робить ся вокруг повторіня двох основных дійств: переміняти світ и гадковати за током часу. У зачатку играч зпирать час и терраформує повирьх земли, пак переводить світ у режим протіканя часу, и никать, як появлявуть ся орґанізмы и як ся розвивавуть. Пак играч изпирать ток часу, и вертать ся у режим терраформованя, аж треба перемінити глубину у [[Море|морёви]], покласти камінь теплини/студени и т.д.<ref name="official" /> Так игра фурт дає играчови переключати ся миже активным управлінём и никанём на резултаты свойых трудӱв. По мірі розвитя світа процес стає май продуманым и тяжкым, наприклад появліня єдного орґанізма годно привести ид появлінёви другого, а же пропаде якый ись вид, та то скорше всёго замітно повплывать на далші етапы розвитя.<ref>{{cite web |url=https://www.destructoid.com/reviews/review-birthdays-the-beginning/ |title=Review: Birthdays the Beginning |website=Destructoid |access-date=2026-09-19 |language=en}}</ref> == Мікрорежим == '''''Мікрорежим''''' — основный режим прямої взаємодії из світом. У нёму час ся изпирать, а играч дӱстає возмогу літати над зимлёв и міняти її повирьх. Основна дія то є пуднятя и пущаня блокӱв рельефа, дякувучи чому образувуть ся низины, [[Горб|горбы]], [[Гора|горы]], [[Море|моря]], [[Озеро|озера]], [[Водопад|водопады]] и другі.<ref>{{cite web |url=https://www.4gamer.net/games/353/G035395/20170123085/ |title=Birthdays the Beginning |website=4Gamer.net |access-date=2026-09-19 |language=ja}}</ref> Пуднятя и пущаня земли мать наслідкы не лиш про візуалный вид карты. Рельеф изъязаный из температуров світа, пуднятя знижать ї, а понижіня чинить ї май великыв.<ref name="cgmag">{{cite web |url=https://www.cgmagonline.com/review/game/birthdays-beginning-review-quiet-relaxing/ |title=Birthdays the Beginning Review - Quiet & Relaxing |website=CGMagazine |access-date=2026-09-19 |language=en}}</ref> Ищи у мікрорежимови мож никати за уже екзістувущыми орґанізмами, збирати разні предметы, и удкрывати нові найдені формы живности. Потӱм орґанізм переносить ся у бібліотеку де указує ёго фото, назва, рекомендовані условія живота и друга информація за нёго. == Макрорежим == '''''Макрорежим''''' — у нёму час опят занчинать ити, а играч не знаимать ся иппен редаґованём світа, ай никать за проходящыми у світови процесами. Ток часу мож ускоряти, авадь никати у режимови реалного часу.<ref name="official_modes">{{cite web |url=https://birthdaysthebeginning.com/sp/mode/ |title=Modes - Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> Иппен у сёму режимови проходить бӱлша часть подій у екосистемі и [[Свѣт|світови]]. Орґанізмы появлявуть ся, удумиравуть, розпложувуть ся, а даколи щезавуть. У игрі суть спеціалні уповісткы за стан живых орґанізмӱв, позволявущі гадковати за перемінами у их популаціях. У сӱжетному режимови играч проходить величезні уднуигрові періоды часу, аж до дакӱлкох міліардӱв рокӱв. При тому сись колосалный час изтискать ся до удносно короткого игрового процеса.<ref name="official_modes" /> == Рельеф и терраформованя == Основный инструмент играча є міняня высоты блокӱв. Пуднятя их горі помагать творити горы и высоты, а опущаня долӱ, впадины и водні просторы. Позад кубічної системы світа каждоє такоє міняня є єдночасно локалным мінянём ландшафта и дарабом общої кліматично-ґеоґрафічної системы.<ref name="gamespot_review">{{cite web |url=https://www.gamespot.com/reviews/birthdays-the-beginning-review/1900-6416685/ |title=Birthdays the Beginning Review |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Терраформованя мать ограничіня у видови енерґії/здоровля ''аватара'' (тото є персонаж играча). Дійства тратять тот ресурс, и играч не годен цілый час провести за переставбов світа у мікрорежимови. Обы удновити енерґію треба перейти у макрорежим (режим де иде ток часу).<ref name="cgmag" /> Спеціалні инструменты (тратять много енерґії) годни локално упростити вам пуднятя температуры — ''камінь тепла'', и її понижіня — ''камінь студени'', у межох 31x31 блокӱв. Усёго их є по 3 штукы, их мож класти, а пак по непотребі забирати и переміщати у другоє місто на карті.<ref name="gamespot_review" /><ref>{{cite web |url=https://steamcommunity.com/app/525700/discussions/0/2741975115069938246/ |title=Birthdays the Beginning - Steam Discussions |website=Steam Community |access-date=2026-09-19 |language=en}}</ref> == Температура == '''''Температура''''' — єден из майважных параметрӱв у Birthdays the Beginning. Она опереділять які истноты годни жити у разных частях світа. Тому играчови приходить ся не лиш ставбити красный [[ландшафт]], а и урахововати кліматичні наслідкы.<ref>{{cite web |url=https://pixelkin.org/2017/05/09/birthdays-the-beginning-review-biology-in-a-box/ |title=Birthdays the Beginning Review: Biology in a Box |website=Pixelkin |access-date=2026-09-19 |language=en}}</ref> Самої лиш ґлобалної температуры мало про [[Еволуція|еволуцію]], у світі суть многі локалні удмінности у температурі, тому самої лиш сериднёї температуры по світови не є доста про появліня нового орґанізма вадь ёго розвитя. Даколи ліпше учинити уддільну область — наприклад невеликого розміра низину близко ид [[Водоєм|водоємови]].<ref>{{cite web |url=https://www.keengamer.com/articles/reviews/birthdays-the-beginning-review-ps4/ |title=Birthdays the Beginning Review |website=KeenGamer |access-date=2026-09-19 |language=en}}</ref> Тому міняня температуры стає єдныв из главных стратеґічных механік. Играч годен сотворити условія про [[Еволуція|еволуцію]] єдного орґанізма, а дале пак изпозоровати як тоты переміны учинили тото місто не май ипным про другый орґанізм.<ref>{{cite web |url=https://simplybinge.com/2017/05/game-review-birthdays-the-beginning/ |title=Game Review: Birthdays the Beginning |website=Simply Binge |access-date=2026-09-19 |language=en}}</ref> == Вода и вогкость == '''Вода''' — є ищи єдным важным елементом околища. Знижувучи высоту блокӱв, играч годен творити моря, озера, и прочі водні обводы, а спеціалні предметы давуть возмогу робити прісну воду и [[Ріка|рікы]]. Исе необходно про формована ипных условій про разні орґанізмы.<ref name="gamespot_review" /> Розличавуть ся условія, изъязані из водов и вогкостёв суши. Тому даже при пудходящӱв температурі орґанізм годен не появити ся, кідь поблизь ниє затрібованого типа водного простора, авадь кідь ниє доста вогкости.<ref name="cgmag" /> == Орґанізмы == У игрі екзістує 292 виды орґанізмӱв. Исе число включать разні формы живого, появлявущі ся на протязі розвитя [[Свѣт|світа]]. Они обсягавуть величезный діапазон − уд ранньых [[Протозої|протозойӱв]] до [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и чоловіка.<ref>https://www.4gamer.net</ref> Каждый орґанізм мать свої условія появліня. Сереґ них годни урахововати ся [[температура]], вогкость, тип окружіня и наявность другых орґанізмӱв, мусайных про удповідный етап розвоя. Тому удкрытя нового вида представлять собов не просто трафункову находку, а резултат сотворіня опереділеної комбінації условій.<ref>https://pixelkin.org/2017/05/09/birthdays-the-beginning-rewiew-biology-in-a-box/</ref> == Еволуція == '''''Еволучна система''''' — главна часть игры. Нові [[Орґанізм|орґанізмы]] изъязані миже собов поступностёв розвоя, а появліня нового [[Вид (біолоґія)|вида]] часто удкрывать путь ид появлінёви слідувущого. Резултатом, играч пробує провести живӱт свого світа через разні етапы еволучної історії.<ref>''https://www.pcgamer.com/birthdays-the-beginnings-is-a-sandbox-adventure-from-harvest-moon-creator-yasuhiro-wada/''</ref> У игрі суть уложені иппен и спеціалні предметы што помогавуть появляти ся новым видам живого, то суть ''сімня еволуції'' тай ''сімня мутації''.<ref>https://www.destructoid.com/reviews/review-birthdays-the-beginning/</ref> Даже при сотворінёви ипної про еволуцію и мутацію бывалної базы, не є ґарантовано ож ваш вид розовье ся у новый ([[Еволуція|еволуціонує]] вадь [[Мутація|мутує]]). [[Вид (біолоґія)|Вид]] годен обстати ся тым же, при [[Катаклізм|катаклізмах]] и зовсім, щезнути путём удумираня.<ref>https://www.outcyders.net/review/birthdays-the-beginning-review-open-door-get-on-floor-everyone-evolve-that-dinosaur</ref> == Поживовый ланц и удумираня == == Бібліотека орґанізмӱв == == Колекціонованя орґанізмӱв == == Предметы == == Игровый режим == == Розмір світа == == Игровый час == == Взаємодійство орґанізмӱв == == Управліня == == Візуал == == Сотворіня игры == == Значіня игры == == Приятя == == Удкликованя == {{reflist}} [[Катеґорія:Статї обсягуючі японьскый языковый текст]] [[Катеґорія:Бавкы про ПК]] [[Катеґорія:Гры]] [[Катеґорія:Гры про PlayStation 4]] [[Катеґорія:Гры про Nintendo Switch]] [[Катеґорія:Основаны 2018]] [[Катеґорія:Основаны 2017]] 88ipuvp9wp61jjwa5fnaoglb64zj648 170195 170191 2026-09-23T13:08:47Z Rue323 31002 170195 wikitext text/x-wiki {{Інфобокс відеогра | image = | caption = North American cover | developer = [[Arc System Works]] | publisher = {{vgrelease|JP|Arc System Works|WW|[[NIS America]]}} | designer = | engine = | released = '''PlayStation 4'''<br />{{vgrelease|Японія|19. януара, 2017|Америка|9. мая, 2017<ref name=Release>{{cite web |last=Romano |first=Sal |date=21. децембра, 2016 |url=https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |title=Birthdays the Beginning delayed to May 9 in North America, May 12 in Europe |website=Gematsu |access-date=May 8, 2023 |archive-date=May 8, 2023 |archive-url=https://web.archive.org/web/20230508185919/https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |url-status=live }}</ref>|Европа|12. мая, 2017<ref name=Release/>|AU|May 26, 2017}}'''Windows'''{{vgrelease|WW|May 9, 2017 (on day of PS4 NA release)}}'''Switch'''<br />{{vgrelease|Японія|марця 2018|NA|June 5, 2018|Европа|8. юна, 2018|Австр|15. юна, 2018}} | genre = [[Симулатор бытя]], [[пісковниця (игры)|пісковниця]] | series = | modes = [[Игра на єдного]] | platforms = [[PlayStation 4]], [[Microsoft Windows]], [[Nintendo Switch]] }} '''Birthdays the Beginning''' ({{Lang-rue|Дні рождіня: Зачаток}}) ({{Lang-ja|バースデイズ・ザ・ビギニング}}, ''Bāsudeizu za Biginingu'') — [[Компютерна бавка|игра]] у жанрови [[Пісковниця (игры)|пісковниця]] и [[Симулатор бытя|симулатор бога]], розроблена [[TOYBOX]] и [[ARC SYSTEM WORKS]] при продуцентованёви [[Ясухіро Вада|Ясухіро Вады]]. Играч появлять ся у кубічному світови и мать переробити ёго рельеф, температуру и окружавущі условія так, жебы у ньӱм росли и розвивали ся различні формы живота, уд майпростых [[Орґанізм|орґанізмӱв]], до [[Ростлины|ростлин]], [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и [[Чоловік розумный|чоловіка]]. Игра уйшла на [[PC]] и [[PlayStation]] у [[2017]]. році.<ref>{{cite web |url=https://nisamerica.com/games/birthdays-beginning |title=Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> {{Статья в роботѣ|Rue323|10}} == Концепція игры == Играч не управлять истнотами вадь ростлинами напряму. Замісто того управлявучи условіями их живота, мінявучи температуру, высоту повирьхности, воду, и инноє. Играч робить простӱр де орґанізмы годни ся розмножати, появляти, [[Еволуція|еволуціоновати]], [[Мутація|мутовати]], удмирати и розвивати. Продуцент игры [[Ясухіро Вада]] объясняв концепцію через интерес ид тому, як у цілому взникать живот на [[Земля (планета)|земли]].<ref>{{cite web |url=https://www.gamespot.com/articles/harvest-moon-creator-on-his-new-game-and-how-stard/1100-6445583/ |title=Harvest Moon Creator on His New Game |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Игра представлять [[Свѣт|світ]] у виді ґіґантського куба, у межох котрого играч годен творити [[горы]], [[Низина|низины]], [[Море|моря]], [[Остров|островы]] и другі части рельефа. При тому сотвореный світ стає не просто декоративныв картов: переміна рельефа вплывать на [[клімат]] и тым самым на далшоє розвитя [[Екосистема|екосистемы]].<ref name="official">{{cite web |url=https://www.birthdaysthebeginning.com/ |title=Birthdays the Beginning - Official Website |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> == Основный игровый цикл == Игровый процес робить ся вокруг повторіня двох основных дійств: переміняти світ и гадковати за током [[Час|часу]]. У зачатку играч зпирать час и терраформує повирьх земли, пак переводить світ у режим протіканя часу, и никать, як появлявуть ся орґанізмы и як ся розвивавуть. Пак играч изпирать ток часу, и вертать ся у режим терраформованя, аж треба перемінити глубину у [[Море|морёви]], покласти камінь теплини/студени и т.д.<ref name="official" /> Так игра фурт дає играчови переключати ся миже активным управлінём и никанём на резултаты свойых трудӱв. По мірі розвитя світа процес стає май продуманым и тяжкым, наприклад появліня єдного орґанізма годно привести ид появлінёви другого, а же пропаде якый ись вид, та то скорше всёго замітно повплывать на далші етапы розвитя.<ref>{{cite web |url=https://www.destructoid.com/reviews/review-birthdays-the-beginning/ |title=Review: Birthdays the Beginning |website=Destructoid |access-date=2026-09-19 |language=en}}</ref> == Мікрорежим == '''''Мікрорежим''''' — основный режим прямої взаємодії из світом. У нёму час ся изпирать, а играч дӱстає возмогу літати над зимлёв и міняти її повирьх. Основна дія то є пуднятя и пущаня блокӱв рельефа, дякувучи чому образувуть ся низины, [[Горб|горбы]], [[Гора|горы]], [[Море|моря]], [[Озеро|озера]], [[Водопад|водопады]] и другі.<ref>{{cite web |url=https://www.4gamer.net/games/353/G035395/20170123085/ |title=Birthdays the Beginning |website=4Gamer.net |access-date=2026-09-19 |language=ja}}</ref> Пуднятя и пущаня земли мать наслідкы не лиш про візуалный вид карты. Рельеф изъязаный из температуров світа, пуднятя знижать ї, а понижіня чинить ї май великыв.<ref name="cgmag">{{cite web |url=https://www.cgmagonline.com/review/game/birthdays-beginning-review-quiet-relaxing/ |title=Birthdays the Beginning Review - Quiet & Relaxing |website=CGMagazine |access-date=2026-09-19 |language=en}}</ref> Ищи у мікрорежимови мож никати за уже екзістувущыми орґанізмами, збирати разні предметы, и удкрывати нові найдені формы живности. Потӱм орґанізм переносить ся у бібліотеку де указує ёго фото, назва, рекомендовані условія живота и друга информація за нёго. == Макрорежим == '''''Макрорежим''''' — у нёму час опят занчинать ити, а играч не знаимать ся иппен редаґованём світа, ай никать за проходящыми у світови процесами. Ток часу мож ускоряти, авадь никати у режимови реалного часу.<ref name="official_modes">{{cite web |url=https://birthdaysthebeginning.com/sp/mode/ |title=Modes - Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> Иппен у сёму режимови проходить бӱлша часть подій у екосистемі и [[Свѣт|світови]]. Орґанізмы появлявуть ся, удумиравуть, розпложувуть ся, а даколи щезавуть. У игрі суть спеціалні уповісткы за стан живых орґанізмӱв, позволявущі гадковати за перемінами у их популаціях. У сӱжетному режимови играч проходить величезні уднуигрові періоды часу, аж до дакӱлкох міліардӱв рокӱв. При тому сись колосалный час изтискать ся до удносно короткого игрового процеса.<ref name="official_modes" /> == Рельеф и терраформованя == Основный инструмент играча є міняня высоты блокӱв. Пуднятя их горі помагать творити горы и высоты, а опущаня долӱ, впадины и водні просторы. Позад кубічної системы світа каждоє такоє міняня є єдночасно локалным мінянём ландшафта и дарабом общої кліматично-ґеоґрафічної системы.<ref name="gamespot_review">{{cite web |url=https://www.gamespot.com/reviews/birthdays-the-beginning-review/1900-6416685/ |title=Birthdays the Beginning Review |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Терраформованя мать ограничіня у видови енерґії/здоровля ''аватара'' (тото є персонаж играча). Дійства тратять тот ресурс, и играч не годен цілый час провести за переставбов світа у мікрорежимови. Обы удновити енерґію треба перейти у макрорежим (режим де иде ток часу).<ref name="cgmag" /> Спеціалні инструменты (тратять много енерґії) годни локално упростити вам пуднятя температуры — ''камінь тепла'', и її понижіня — ''камінь студени'', у межох 31x31 блокӱв. Усёго их є по 3 штукы, их мож класти, а пак по непотребі забирати и переміщати у другоє місто на карті.<ref name="gamespot_review" /><ref>{{cite web |url=https://steamcommunity.com/app/525700/discussions/0/2741975115069938246/ |title=Birthdays the Beginning - Steam Discussions |website=Steam Community |access-date=2026-09-19 |language=en}}</ref> == Температура == '''''Температура''''' — єден из майважных параметрӱв у Birthdays the Beginning. Она опереділять які истноты годни жити у разных частях світа. Тому играчови приходить ся не лиш ставбити красный [[ландшафт]], а и урахововати кліматичні наслідкы.<ref>{{cite web |url=https://pixelkin.org/2017/05/09/birthdays-the-beginning-review-biology-in-a-box/ |title=Birthdays the Beginning Review: Biology in a Box |website=Pixelkin |access-date=2026-09-19 |language=en}}</ref> Самої лиш ґлобалної температуры мало про [[Еволуція|еволуцію]], у світі суть многі локалні удмінности у температурі, тому самої лиш сериднёї температуры по світови не є доста про появліня нового орґанізма вадь ёго розвитя. Даколи ліпше учинити уддільну область — наприклад невеликого розміра низину близко ид [[Водоєм|водоємови]].<ref>{{cite web |url=https://www.keengamer.com/articles/reviews/birthdays-the-beginning-review-ps4/ |title=Birthdays the Beginning Review |website=KeenGamer |access-date=2026-09-19 |language=en}}</ref> Тому міняня температуры стає єдныв из главных стратеґічных механік. Играч годен сотворити условія про [[Еволуція|еволуцію]] єдного орґанізма, а дале пак изпозоровати як тоты переміны учинили тото місто не май ипным про другый орґанізм.<ref>{{cite web |url=https://simplybinge.com/2017/05/game-review-birthdays-the-beginning/ |title=Game Review: Birthdays the Beginning |website=Simply Binge |access-date=2026-09-19 |language=en}}</ref> == Вода и вогкость == '''Вода''' — є ищи єдным важным елементом околища. Знижувучи высоту блокӱв, играч годен творити моря, озера, и прочі водні обводы, а спеціалні предметы давуть возмогу робити прісну воду и [[Ріка|рікы]]. Исе необходно про формована ипных условій про разні орґанізмы.<ref name="gamespot_review" /> Розличавуть ся условія, изъязані из водов и вогкостёв суши. Тому даже при пудходящӱв температурі орґанізм годен не появити ся, кідь поблизь ниє затрібованого типа водного простора, авадь кідь ниє доста вогкости.<ref name="cgmag" /> == Орґанізмы == У игрі екзістує 292 виды орґанізмӱв. Исе число включать разні формы живого, появлявущі ся на протязі розвитя [[Свѣт|світа]]. Они обсягавуть величезный діапазон − уд ранньых [[Протозої|протозойӱв]] до [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и чоловіка.<ref>https://www.4gamer.net</ref> Каждый орґанізм мать свої условія появліня. Сереґ них годни урахововати ся [[температура]], вогкость, тип окружіня и наявность другых орґанізмӱв, мусайных про удповідный етап розвоя. Тому удкрытя нового вида представлять собов не просто трафункову находку, а резултат сотворіня опереділеної комбінації условій.<ref>https://pixelkin.org/2017/05/09/birthdays-the-beginning-rewiew-biology-in-a-box/</ref> == Еволуція == '''''Еволучна система''''' — главна часть игры. Нові [[Орґанізм|орґанізмы]] изъязані миже собов поступностёв розвоя, а появліня нового [[Вид (біолоґія)|вида]] часто удкрывать путь ид появлінёви слідувущого. Резултатом, играч пробує провести живӱт свого світа через разні етапы еволучної історії.<ref>''https://www.pcgamer.com/birthdays-the-beginnings-is-a-sandbox-adventure-from-harvest-moon-creator-yasuhiro-wada/''</ref> У игрі суть уложені иппен и спеціалні предметы што помогавуть появляти ся новым видам живого, то суть ''сімня еволуції'' тай ''сімня мутації''.<ref>https://www.destructoid.com/reviews/review-birthdays-the-beginning/</ref> Даже при сотворінёви ипної про еволуцію и мутацію бывалної базы, не є ґарантовано ож ваш вид розовье ся у новый ([[Еволуція|еволуціонує]] вадь [[Мутація|мутує]]). [[Вид (біолоґія)|Вид]] годен обстати ся тым же, при [[Катаклізм|катаклізмах]] и зовсім, щезнути путём удумираня.<ref>https://www.outcyders.net/review/birthdays-the-beginning-review-open-door-get-on-floor-everyone-evolve-that-dinosaur</ref> == Поживовый ланц и удумираня == == Бібліотека орґанізмӱв == == Колекціонованя орґанізмӱв == == Предметы == == Игровый режим == == Розмір світа == == Игровый час == == Взаємодійство орґанізмӱв == == Управліня == == Візуал == == Сотворіня игры == == Значіня игры == == Приятя == == Удкликованя == {{reflist}} [[Катеґорія:Статї обсягуючі японьскый языковый текст]] [[Катеґорія:Бавкы про ПК]] [[Катеґорія:Гры]] [[Катеґорія:Гры про PlayStation 4]] [[Катеґорія:Гры про Nintendo Switch]] [[Катеґорія:Основаны 2018]] [[Катеґорія:Основаны 2017]] is40yzgvlwco9j6314ilbn0ynh2wah2 170204 170195 2026-09-23T14:37:36Z Rue323 31002 170204 wikitext text/x-wiki {{Інфобокс відеогра | image = | caption = North American cover | developer = [[Arc System Works]] | publisher = {{vgrelease|JP|Arc System Works|WW|[[NIS America]]}} | designer = | engine = | released = '''PlayStation 4'''<br />{{vgrelease|Японія|19. януара, 2017|Америка|9. мая, 2017<ref name=Release>{{cite web |last=Romano |first=Sal |date=21. децембра, 2016 |url=https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |title=Birthdays the Beginning delayed to May 9 in North America, May 12 in Europe |website=Gematsu |access-date=May 8, 2023 |archive-date=May 8, 2023 |archive-url=https://web.archive.org/web/20230508185919/https://www.gematsu.com/2016/12/birthdays-beginning-delayed-may-9-north-america-may-12-europe |url-status=live }}</ref>|Европа|12. мая, 2017<ref name=Release/>|AU|May 26, 2017}}'''Windows'''{{vgrelease|WW|May 9, 2017 (on day of PS4 NA release)}}'''Switch'''<br />{{vgrelease|Японія|марця 2018|NA|June 5, 2018|Европа|8. юна, 2018|Австр|15. юна, 2018}} | genre = [[Симулатор бытя]], [[пісковниця (игры)|пісковниця]] | series = | modes = [[Игра на єдного]] | platforms = [[PlayStation 4]], [[Microsoft Windows]], [[Nintendo Switch]] }} '''Birthdays the Beginning''' ({{Lang-rue|Дні рождіня: Зачаток}}) ({{Lang-ja|バースデイズ・ザ・ビギニング}}, ''Bāsudeizu za Biginingu'') — [[Компютерна бавка|игра]] у жанрови [[Пісковниця (игры)|пісковниця]] и [[Симулатор бытя|симулатор бога]], розроблена [[TOYBOX]] и [[ARC SYSTEM WORKS]] при продуцентованёви [[Ясухіро Вада|Ясухіро Вады]]. Играч появлять ся у кубічному світови и мать переробити ёго рельеф, температуру и окружавущі условія так, жебы у ньӱм росли и розвивали ся различні формы живота, уд майпростых [[Орґанізм|орґанізмӱв]], до [[Ростлины|ростлин]], [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и [[Чоловік розумный|чоловіка]]. Игра уйшла на [[PC]] и [[PlayStation]] у [[2017]]. році.<ref>{{cite web |url=https://nisamerica.com/games/birthdays-beginning |title=Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> {{Статья в роботѣ|Rue323|10}} == Концепція игры == Играч не управлять истнотами вадь ростлинами напряму. Замісто того управлявучи условіями их живота, мінявучи температуру, высоту повирьхности, воду, и инноє. Играч робить простӱр де орґанізмы годни ся розмножати, появляти, [[Еволуція|еволуціоновати]], [[Мутація|мутовати]], удмирати и розвивати. Продуцент игры [[Ясухіро Вада]] объясняв концепцію через интерес ид тому, як у цілому взникать живот на [[Земля (планета)|земли]].<ref>{{cite web |url=https://www.gamespot.com/articles/harvest-moon-creator-on-his-new-game-and-how-stard/1100-6445583/ |title=Harvest Moon Creator on His New Game |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Игра представлять [[Свѣт|світ]] у виді ґіґантського куба, у межох котрого играч годен творити [[горы]], [[Низина|низины]], [[Море|моря]], [[Остров|островы]] и другі части рельефа. При тому сотвореный світ стає не просто декоративныв картов: переміна рельефа вплывать на [[клімат]] и тым самым на далшоє розвитя [[Екосистема|екосистемы]].<ref name="official">{{cite web |url=https://www.birthdaysthebeginning.com/ |title=Birthdays the Beginning - Official Website |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> == Основный игровый цикл == Игровый процес робить ся вокруг повторіня двох основных дійств: переміняти світ и гадковати за током [[Час|часу]]. У зачатку играч зпирать час и терраформує повирьх земли, пак переводить світ у режим протіканя часу, и никать, як появлявуть ся орґанізмы и як ся розвивавуть. Пак играч изпирать ток часу, и вертать ся у режим терраформованя, аж треба перемінити глубину у [[Море|морёви]], покласти камінь теплини/студени и т.д.<ref name="official" /> Так игра фурт дає играчови переключати ся миже активным управлінём и никанём на резултаты свойых трудӱв. По мірі розвитя світа процес стає май продуманым и тяжкым, наприклад появліня єдного орґанізма годно привести ид появлінёви другого, а же пропаде якый ись вид, та то скорше всёго замітно повплывать на далші етапы розвитя.<ref>{{cite web |url=https://www.destructoid.com/reviews/review-birthdays-the-beginning/ |title=Review: Birthdays the Beginning |website=Destructoid |access-date=2026-09-19 |language=en}}</ref> == Мікрорежим == '''''Мікрорежим''''' — основный режим прямої взаємодії из світом. У нёму час ся изпирать, а играч дӱстає возмогу літати над зимлёв и міняти її повирьх. Основна дія то є пуднятя и пущаня блокӱв рельефа, дякувучи чому образувуть ся низины, [[Горб|горбы]], [[Гора|горы]], [[Море|моря]], [[Озеро|озера]], [[Водопад|водопады]] и другі.<ref>{{cite web |url=https://www.4gamer.net/games/353/G035395/20170123085/ |title=Birthdays the Beginning |website=4Gamer.net |access-date=2026-09-19 |language=ja}}</ref> Пуднятя и пущаня земли мать наслідкы не лиш про візуалный вид карты. Рельеф изъязаный из температуров світа, пуднятя знижать ї, а понижіня чинить ї май великыв.<ref name="cgmag">{{cite web |url=https://www.cgmagonline.com/review/game/birthdays-beginning-review-quiet-relaxing/ |title=Birthdays the Beginning Review - Quiet & Relaxing |website=CGMagazine |access-date=2026-09-19 |language=en}}</ref> Ищи у мікрорежимови мож никати за уже екзістувущыми орґанізмами, збирати разні предметы, и удкрывати нові найдені формы живности. Потӱм орґанізм переносить ся у бібліотеку де указує ёго фото, назва, рекомендовані условія живота и друга информація за нёго. == Макрорежим == '''''Макрорежим''''' — у нёму час опят занчинать ити, а играч не знаимать ся иппен редаґованём світа, ай никать за проходящыми у світови процесами. Ток часу мож ускоряти, авадь никати у режимови реалного часу.<ref name="official_modes">{{cite web |url=https://birthdaysthebeginning.com/sp/mode/ |title=Modes - Birthdays the Beginning |publisher=NIS America |access-date=2026-09-19 |language=en}}</ref> Иппен у сёму режимови проходить бӱлша часть подій у екосистемі и [[Свѣт|світови]]. Орґанізмы появлявуть ся, удумиравуть, розпложувуть ся, а даколи щезавуть. У игрі суть спеціалні уповісткы за стан живых орґанізмӱв, позволявущі гадковати за перемінами у их популаціях. У сӱжетному режимови играч проходить величезні уднуигрові періоды часу, аж до дакӱлкох міліардӱв рокӱв. При тому сись колосалный час изтискать ся до удносно короткого игрового процеса.<ref name="official_modes" /> == Рельеф и терраформованя == Основный инструмент играча є міняня высоты блокӱв. Пуднятя их горі помагать творити горы и высоты, а опущаня долӱ, впадины и водні просторы. Позад кубічної системы світа каждоє такоє міняня є єдночасно локалным мінянём ландшафта и дарабом общої кліматично-ґеоґрафічної системы.<ref name="gamespot_review">{{cite web |url=https://www.gamespot.com/reviews/birthdays-the-beginning-review/1900-6416685/ |title=Birthdays the Beginning Review |website=GameSpot |access-date=2026-09-19 |language=en}}</ref> Терраформованя мать ограничіня у видови енерґії/здоровля ''аватара'' (тото є персонаж играча). Дійства тратять тот ресурс, и играч не годен цілый час провести за переставбов світа у мікрорежимови. Обы удновити енерґію треба перейти у макрорежим (режим де иде ток часу).<ref name="cgmag" /> Спеціалні инструменты (тратять много енерґії) годни локално упростити вам пуднятя температуры — ''камінь тепла'', и її понижіня — ''камінь студени'', у межох 31x31 блокӱв. Усёго их є по 3 штукы, их мож класти, а пак по непотребі забирати и переміщати у другоє місто на карті.<ref name="gamespot_review" /><ref>{{cite web |url=https://steamcommunity.com/app/525700/discussions/0/2741975115069938246/ |title=Birthdays the Beginning - Steam Discussions |website=Steam Community |access-date=2026-09-19 |language=en}}</ref> == Температура == '''''Температура''''' — єден из майважных параметрӱв у Birthdays the Beginning. Она опереділять які истноты годни жити у разных частях світа. Тому играчови приходить ся не лиш ставбити красный [[ландшафт]], а и урахововати кліматичні наслідкы.<ref>{{cite web |url=https://pixelkin.org/2017/05/09/birthdays-the-beginning-review-biology-in-a-box/ |title=Birthdays the Beginning Review: Biology in a Box |website=Pixelkin |access-date=2026-09-19 |language=en}}</ref> Самої лиш ґлобалної температуры мало про [[Еволуція|еволуцію]], у світі суть многі локалні удмінности у температурі, тому самої лиш сериднёї температуры по світови не є доста про появліня нового орґанізма вадь ёго розвитя. Даколи ліпше учинити уддільну область — наприклад невеликого розміра низину близко ид [[Водоєм|водоємови]].<ref>{{cite web |url=https://www.keengamer.com/articles/reviews/birthdays-the-beginning-review-ps4/ |title=Birthdays the Beginning Review |website=KeenGamer |access-date=2026-09-19 |language=en}}</ref> Тому міняня температуры стає єдныв из главных стратеґічных механік. Играч годен сотворити условія про [[Еволуція|еволуцію]] єдного орґанізма, а дале пак изпозоровати як тоты переміны учинили тото місто не май ипным про другый орґанізм.<ref>{{cite web |url=https://simplybinge.com/2017/05/game-review-birthdays-the-beginning/ |title=Game Review: Birthdays the Beginning |website=Simply Binge |access-date=2026-09-19 |language=en}}</ref> == Вода и вогкость == '''Вода''' — є ищи єдным важным елементом околища. Знижувучи высоту блокӱв, играч годен творити моря, озера, и прочі водні обводы, а спеціалні предметы давуть возмогу робити прісну воду и [[Ріка|рікы]]. Исе необходно про формована ипных условій про разні орґанізмы.<ref name="gamespot_review" /> Розличавуть ся условія, изъязані из водов и вогкостёв суши. Тому даже при пудходящӱв температурі орґанізм годен не появити ся, кідь поблизь ниє затрібованого типа водного простора, авадь кідь ниє доста вогкости.<ref name="cgmag" /> == Орґанізмы == У игрі екзістує 292 виды орґанізмӱв. Исе число включать разні формы живого, появлявущі ся на протязі розвитя [[Свѣт|світа]]. Они обсягавуть величезный діапазон − уд ранньых [[Протозої|протозойӱв]] до [[Дінозавры|динозаврӱв]], [[Ссавцї|ссавцьӱв]] и чоловіка.<ref>https://www.4gamer.net</ref> Каждый орґанізм мать свої условія появліня. Сереґ них годни урахововати ся [[температура]], вогкость, тип окружіня и наявность другых орґанізмӱв, мусайных про удповідный етап розвоя. Тому удкрытя нового вида представлять собов не просто трафункову находку, а резултат сотворіня опереділеної комбінації условій.<ref>https://pixelkin.org/2017/05/09/birthdays-the-beginning-rewiew-biology-in-a-box/</ref> == Еволуція == '''''Еволучна система''''' — главна часть игры. Нові [[Орґанізм|орґанізмы]] изъязані миже собов поступностёв розвоя, а появліня нового [[Вид (біолоґія)|вида]] часто удкрывать путь ид появлінёви слідувущого. Резултатом, играч пробує провести живӱт свого світа через разні етапы еволучної історії.<ref>''https://www.pcgamer.com/birthdays-the-beginnings-is-a-sandbox-adventure-from-harvest-moon-creator-yasuhiro-wada/''</ref> У игрі суть уложені иппен и спеціалні предметы што помогавуть появляти ся новым видам живого, то суть ''сімня еволуції'' тай ''сімня мутації''.<ref>https://www.destructoid.com/reviews/review-birthdays-the-beginning/</ref> Даже при сотворінёви ипної про еволуцію и мутацію бывалної базы, не є ґарантовано ож ваш вид розовье ся у новый ([[Еволуція|еволуціонує]] вадь [[Мутація|мутує]]). [[Вид (біолоґія)|Вид]] годен обстати ся тым же, при [[Катаклізм|катаклізмах]] и зовсім, щезнути путём удумираня.<ref>https://www.outcyders.net/review/birthdays-the-beginning-review-open-door-get-on-floor-everyone-evolve-that-dinosaur</ref> == Поживовый ланц и удумираня == Орґанізмы у игрі образувуть общу [[Екосистема|екосистему]]. Появліня ци заникнутя єдного вида годно вплывати на другі виды, особно же они зависять уд нёго ге уд жрідла поживы. Того сотворіня нового орґанізма часто призводить ид непожаданым наслідкам на уж екзістувущу [[Екосистема|екосистему]].<ref>https://simplybinge.com/2017/05/game-review-birthdays-the-beginning/</ref> Исе особно важно у сӱжетному режимови: кідь мусайный про далшый розвой орґанізм удумирать, та пак послідувущі етапы еволуції годни быти недоступными. Играчови приходить ся ренововати пережі условія авадь вертати пропавшый вид.<ref>https://www.gamespot.com/reviews/birthdays-the-beginning-review/1900-6416685/</ref> == Бібліотека орґанізмӱв == == Колекціонованя орґанізмӱв == == Предметы == == Игровый режим == == Розмір світа == == Игровый час == == Взаємодійство орґанізмӱв == == Управліня == == Візуал == == Сотворіня игры == == Значіня игры == == Приятя == == Удкликованя == {{reflist}} [[Катеґорія:Статї обсягуючі японьскый языковый текст]] [[Катеґорія:Бавкы про ПК]] [[Катеґорія:Гры]] [[Катеґорія:Гры про PlayStation 4]] [[Катеґорія:Гры про Nintendo Switch]] [[Катеґорія:Основаны 2018]] [[Катеґорія:Основаны 2017]] p7w8hm96xnp6reck325440h01fln2r1 Ервін Адерс 0 25164 170188 170186 2026-09-23T12:05:22Z Gazdadev 36573 /* */ Не дізінформуйте чилядь 170188 wikitext text/x-wiki {{В розробку}}{{Особа проста | Имя = Ервін Адерс | Образчик = [[File:Erwin Aders.jpg|150px]] | Чинность = [[Инженер]] | Уроджѣня = 7 мая 1881 гуд | Мѣсто_роджѣня = Дюсселдорф | Упокоеня = 6 януара 1974 гуд | Мѣсто_смерти = Ділленбурґ }} '''Е́рвін А́дерс''' ({{lang-de|2|Erwin Aders}}) ([[7. май|7. мая]] [[1881]] — [[6. януар|6. януара]] [[1974]])&nbsp;— [[Націстічне Нїмецько|німицькый]] [[инженер|инженірь]] и конструктор у галузи [[Машинарьство|машинарьства]], твориць [[Тяжкый танк|тяжкых танкӱв]], зокрема [[Panzerkampfwagen VI Tiger|Тіґер 1]] и його наслідник [[Panzerkampfwagen VI Tiger II|Тіґер 2]]. == Ранні рокы == Ервін Адерс родив ся у [[Дӱсселдорф|Дӱсселдорфови]] 7. мая 1881. року. Учив ся у технічному коледжови вароша [[Аахен]], тамкы такой и здав екзамены у [[1906]]. році. Пак робив у дакӱлкох компаніях, што спеціалізовали ся на уробництвови ставбеної тай [[Автомобіл|автомобілної технікы]], а ищи научно-досліднӱв діялности.<ref>Німицька національна бібліотека (GND): Ідентифікатор особы Ервіна Адерса — GND 13695572X</ref> == Перва світова война и начало карєры конструктора == Цивілноє житя Ервіна Адерса было прервато у 1914. році [[Перша світова война|первыв світовыв войнов]]. У катунах Адерс проходив службу у експеременталнӱв автомобілнӱв части — пудрозділови, у якому вӱн годен быв хосновати свої технічні знаня. Експерементална транспортна часть [[Моторизовані войська|моторизованых войськ]] упробововала не лиш грузовикы тай артилерійські тягачі, а щи удповідала за орґанізацію проґрамы розробкы танка [[A7V Sturmpanzerwagen|A7V]]. Пӱсля войны Адерс робив инженірьом у MAN у [[Нӱрнберґ|Нӱрнберґови]], а у 1925. році став робити у Vogtländische Maschinenfabrik AG (VOMAG) у [[Плауен|Плауенови]], а у 1929. році уже у [[Daimler-Benz]].<ref>{{Книга |автор=Rainer Strasheim |заголовок=The German A7V Tank and the Captured British Mk. IV Tanks of World War I |видавництво=Schiffer Publishing |рік=2010 |isbn=978-0764336546}}</ref> Адерс робив у MAN и [[Daimler-Benz]] занимавучи ся бӱлше машинарьством. Айбо обідві исі компанії занимали ся и танкарьством. [[Daimler-Benz]] безпосередно, а у случайови из MAN — танками занимала ся пудконтролна сьӱв команії фірма Gutehoffnungshütte (GHH) из [[Обергавзен|Обергавзена]]. Дисять рокӱв профисійного опыта роботы на ґреміалных позиціях у трьох майбӱлш німицькых компаніях позволили у 1933. році Адерсови стати професором у Технічному універзитетови Аахена. Исе, у далшому, дячило дӱставаню роботы компанії Henschel & Sohn.<ref name="blindes-ww2">{{Cite web |url=http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |title=blindes-ww2 |accessdate=28 січня 2018 |archiveurl=https://web.archive.org/web/20180129140542/http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |archivedate=29 січня 2018 |deadurl=yes }}</ref> == Розробка Тиґрӱв == Уд кӱнця 1936 року тай до кӱнця Другої світової войны, Ервін Адерс быв головным інженером тай начальником удді́ла == Повоєнный пиріод == Після войны Адерс робив такой у тӱв галузі, айбо типирька уже на зєдиненӱв фірмі ''Райнштал-Ганомаг-Геншел''. Рахує ся ож вӱн мав удношеня уд розробці мінт типирішньої німицької бронетехнікы, окреме [[Основный бойовый танк|ОБТ]] ''[[Leopard 1 (танк)|Leopard 1]]'' тай [[Бойова машина піхоты|БМП]] ''[[Marder]].'' За споминами сочасникӱв Адерс вӱв доста скромный способ житя тай уникав надмірної увагы, и з чистьов ставив ся уд пудлеглым.<ref name="blindes-ww2"/> Умер Ервін Адерс [[6. януар|6. януара]] [[1974]]. року. == Жерела == {{референції}} qt5ublwgunbdncnyl9m1odn02k5skpt 170189 170188 2026-09-23T12:35:33Z Rue323 31002 /* Розробка Тиґрӱв */ 170189 wikitext text/x-wiki {{В розробку}}{{Особа проста | Имя = Ервін Адерс | Образчик = [[File:Erwin Aders.jpg|150px]] | Чинность = [[Инженер]] | Уроджѣня = 7 мая 1881 гуд | Мѣсто_роджѣня = Дюсселдорф | Упокоеня = 6 януара 1974 гуд | Мѣсто_смерти = Ділленбурґ }} '''Е́рвін А́дерс''' ({{lang-de|2|Erwin Aders}}) ([[7. май|7. мая]] [[1881]] — [[6. януар|6. януара]] [[1974]])&nbsp;— [[Націстічне Нїмецько|німицькый]] [[инженер|инженірь]] и конструктор у галузи [[Машинарьство|машинарьства]], твориць [[Тяжкый танк|тяжкых танкӱв]], зокрема [[Panzerkampfwagen VI Tiger|Тіґер 1]] и його наслідник [[Panzerkampfwagen VI Tiger II|Тіґер 2]]. == Ранні рокы == Ервін Адерс родив ся у [[Дӱсселдорф|Дӱсселдорфови]] 7. мая 1881. року. Учив ся у технічному коледжови вароша [[Аахен]], тамкы такой и здав екзамены у [[1906]]. році. Пак робив у дакӱлкох компаніях, што спеціалізовали ся на уробництвови ставбеної тай [[Автомобіл|автомобілної технікы]], а ищи научно-досліднӱв діялности.<ref>Німицька національна бібліотека (GND): Ідентифікатор особы Ервіна Адерса — GND 13695572X</ref> == Перва світова война и начало карєры конструктора == Цивілноє житя Ервіна Адерса было прервато у 1914. році [[Перша світова война|первыв світовыв войнов]]. У катунах Адерс проходив службу у експеременталнӱв автомобілнӱв части — пудрозділови, у якому вӱн годен быв хосновати свої технічні знаня. Експерементална транспортна часть [[Моторизовані войська|моторизованых войськ]] упробововала не лиш грузовикы тай артилерійські тягачі, а щи удповідала за орґанізацію проґрамы розробкы танка [[A7V Sturmpanzerwagen|A7V]]. Пӱсля войны Адерс робив инженірьом у MAN у [[Нӱрнберґ|Нӱрнберґови]], а у 1925. році став робити у Vogtländische Maschinenfabrik AG (VOMAG) у [[Плауен|Плауенови]], а у 1929. році уже у [[Daimler-Benz]].<ref>{{Книга |автор=Rainer Strasheim |заголовок=The German A7V Tank and the Captured British Mk. IV Tanks of World War I |видавництво=Schiffer Publishing |рік=2010 |isbn=978-0764336546}}</ref> Адерс робив у MAN и [[Daimler-Benz]] занимавучи ся бӱлше машинарьством. Айбо обідві исі компанії занимали ся и танкарьством. [[Daimler-Benz]] безпосередно, а у случайови из MAN — танками занимала ся пудконтролна сьӱв команії фірма Gutehoffnungshütte (GHH) из [[Обергавзен|Обергавзена]]. Дисять рокӱв профисійного опыта роботы на ґреміалных позиціях у трьох майбӱлш німицькых компаніях позволили у 1933. році Адерсови стати професором у Технічному універзитетови Аахена. Исе, у далшому, дячило дӱставаню роботы компанії Henschel & Sohn.<ref name="blindes-ww2">{{Cite web |url=http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |title=blindes-ww2 |accessdate=28 січня 2018 |archiveurl=https://web.archive.org/web/20180129140542/http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |archivedate=29 січня 2018 |deadurl=yes }}</ref> == Розробка Тиґрӱв == Уд кӱнця [[1936]]. року тай до кӱнця [[Друга світова война|Другої світової войны]], Ервін Адерс быв головным інженірьом тай началником удділа.{{Жрідло}} == Повоєнный пиріод == Після войны Адерс робив такой у тӱв галузі, айбо типирька уже на зєдиненӱв фірмі ''Райнштал-Ганомаг-Геншел''. Рахує ся ож вӱн мав удношеня уд розробці мінт типирішньої німицької бронетехнікы, окреме [[Основный бойовый танк|ОБТ]] ''[[Leopard 1 (танк)|Leopard 1]]'' тай [[Бойова машина піхоты|БМП]] ''[[Marder]].'' За споминами сочасникӱв Адерс вӱв доста скромный способ житя тай уникав надмірної увагы, и з чистьов ставив ся уд пудлеглым.<ref name="blindes-ww2"/> Умер Ервін Адерс [[6. януар|6. януара]] [[1974]]. року. == Жерела == {{референції}} 2616retadf9loe7dwrtlao60p7v8auz 170190 170189 2026-09-23T12:36:43Z Rue323 31002 /* Розробка Тиґрӱв */ 170190 wikitext text/x-wiki {{В розробку}}{{Особа проста | Имя = Ервін Адерс | Образчик = [[File:Erwin Aders.jpg|150px]] | Чинность = [[Инженер]] | Уроджѣня = 7 мая 1881 гуд | Мѣсто_роджѣня = Дюсселдорф | Упокоеня = 6 януара 1974 гуд | Мѣсто_смерти = Ділленбурґ }} '''Е́рвін А́дерс''' ({{lang-de|2|Erwin Aders}}) ([[7. май|7. мая]] [[1881]] — [[6. януар|6. януара]] [[1974]])&nbsp;— [[Націстічне Нїмецько|німицькый]] [[инженер|инженірь]] и конструктор у галузи [[Машинарьство|машинарьства]], твориць [[Тяжкый танк|тяжкых танкӱв]], зокрема [[Panzerkampfwagen VI Tiger|Тіґер 1]] и його наслідник [[Panzerkampfwagen VI Tiger II|Тіґер 2]]. == Ранні рокы == Ервін Адерс родив ся у [[Дӱсселдорф|Дӱсселдорфови]] 7. мая 1881. року. Учив ся у технічному коледжови вароша [[Аахен]], тамкы такой и здав екзамены у [[1906]]. році. Пак робив у дакӱлкох компаніях, што спеціалізовали ся на уробництвови ставбеної тай [[Автомобіл|автомобілної технікы]], а ищи научно-досліднӱв діялности.<ref>Німицька національна бібліотека (GND): Ідентифікатор особы Ервіна Адерса — GND 13695572X</ref> == Перва світова война и начало карєры конструктора == Цивілноє житя Ервіна Адерса было прервато у 1914. році [[Перша світова война|первыв світовыв войнов]]. У катунах Адерс проходив службу у експеременталнӱв автомобілнӱв части — пудрозділови, у якому вӱн годен быв хосновати свої технічні знаня. Експерементална транспортна часть [[Моторизовані войська|моторизованых войськ]] упробововала не лиш грузовикы тай артилерійські тягачі, а щи удповідала за орґанізацію проґрамы розробкы танка [[A7V Sturmpanzerwagen|A7V]]. Пӱсля войны Адерс робив инженірьом у MAN у [[Нӱрнберґ|Нӱрнберґови]], а у 1925. році став робити у Vogtländische Maschinenfabrik AG (VOMAG) у [[Плауен|Плауенови]], а у 1929. році уже у [[Daimler-Benz]].<ref>{{Книга |автор=Rainer Strasheim |заголовок=The German A7V Tank and the Captured British Mk. IV Tanks of World War I |видавництво=Schiffer Publishing |рік=2010 |isbn=978-0764336546}}</ref> Адерс робив у MAN и [[Daimler-Benz]] занимавучи ся бӱлше машинарьством. Айбо обідві исі компанії занимали ся и танкарьством. [[Daimler-Benz]] безпосередно, а у случайови из MAN — танками занимала ся пудконтролна сьӱв команії фірма Gutehoffnungshütte (GHH) из [[Обергавзен|Обергавзена]]. Дисять рокӱв профисійного опыта роботы на ґреміалных позиціях у трьох майбӱлш німицькых компаніях позволили у 1933. році Адерсови стати професором у Технічному універзитетови Аахена. Исе, у далшому, дячило дӱставаню роботы компанії Henschel & Sohn.<ref name="blindes-ww2">{{Cite web |url=http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |title=blindes-ww2 |accessdate=28 січня 2018 |archiveurl=https://web.archive.org/web/20180129140542/http://www.blindes-ww2.com/TIGRE/2017/01/15/erwin-aders-le-vrai-pere-des-tigre/ |archivedate=29 січня 2018 |deadurl=yes }}</ref> == Розробка Тіґрӱв == Уд кӱнця [[1936]]. року тай до кӱнця [[Друга світова война|Другої світової войны]], Ервін Адерс быв головным інженірьом тай началником удділа.{{Жрідло}} == Повоєнный пиріод == Після войны Адерс робив такой у тӱв галузі, айбо типирька уже на зєдиненӱв фірмі ''Райнштал-Ганомаг-Геншел''. Рахує ся ож вӱн мав удношеня уд розробці мінт типирішньої німицької бронетехнікы, окреме [[Основный бойовый танк|ОБТ]] ''[[Leopard 1 (танк)|Leopard 1]]'' тай [[Бойова машина піхоты|БМП]] ''[[Marder]].'' За споминами сочасникӱв Адерс вӱв доста скромный способ житя тай уникав надмірної увагы, и з чистьов ставив ся уд пудлеглым.<ref name="blindes-ww2"/> Умер Ервін Адерс [[6. януар|6. януара]] [[1974]]. року. == Жерела == {{референції}} oxavo1i36w81pf6hxqwrolx3qexj66v Універзалный Пудкарпатськый Русинськый Стандарт 0 25171 170223 170022 2026-09-23T18:46:43Z Halajkovič 33393 +коректованя 170223 wikitext text/x-wiki '''Універзалный Пудкарпатськый Русинськый Стандарт''' ('''УПРС''') — ґраматика русинського языка учинена [[Общество про русинськый розвуй|Обществом про русинськый розвуй]]. Стандарт убєднує читавоє число норм и персоналных систем у дакулько удреґулованых норм<ref name="standard_main">{{Cite web |url=https://rusynsociety.com/sre-standard/ |title=Сайт стандарта |publisher=Общество про русинськый розвуй}}</ref>. Ціль стандарта учинити русинськый язык май массовым и подобным на "народноє писмо"<ref name="standard_intro">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-1 |title=ВСТУП. СТРУКТУРА и ГРАНИЦІ |publisher=Общество про русинськый розвуй |quote="Айно, пораз діля сякых моменту мусай придумати даякый новый принцип, обы вто даяк фунґовало у границьох цілої системы, и ясно, же не вшитко буде фунґовати нараз а без проблем. Айбо мы сьме орґанізація про розвуй, про еволуцію; а держати ся за непопуларні практикы лем позад того, бо так навык узкый круг активішту – не наш метод. Хыбы ся не ставут лем у того, ко нич не чинит, а главнов хыбов абсолутно ушиткых русинськых ґраматик нам ся видит тото, ож ани єден из тых проєкту за уже 36 року русинського удроджіня ани не попробовав холем на крехту зайти у народ тай учинити писаня по-нашому массовым."}}</ref>. == Принципы == Принципом стандарта є то, што рішіня хосновати авадь єдну из можностий, авадь ушиткы нараз паралелно, цілком паде на пишучого. Области языка, не пописані у сьому стандартови и не удреґуловані ним, лишавут ся сугубо на розсуд, звычкы и языковый опыт пишучого. Сесе на думку автору дає максималну слободу и можность авадь діля реалізації свого назора на літературну форму русинського языка, авадь діля векшого удображіня особливостий рудного говора<ref name="standard_intro" />. Стандарт удмітує старі принципы, гий<ref name="standard_intro" />: * етимолоґічноє писаня ''и'' < ''е'' ги у словах ''день, теперь, челядь, бесіда, кедь, огень''; * писаня заперечної формы 3. особы єднины типирішнього часа дієслова ''быти'' окреме ги «не є»; * писаня куртых форм уд ''єм'' тай ''ись'' окреме авадь из помужным символом (обычно – авадь): ''робила м, красна сь, спалам-м, добра-сь''; * писаня –''ув'' у ґенетивови множины гикой ''хлопув, столув, вызорув''; * а подакотрі щи… == Алфавіт == Алфавіт хоснує повный набор буквий [[Україньскый алфавіт|украйинського алфавіта]] з додаваньом буквы «Ы» тай опціоналної буквы «Ӱ». А также наводит латинічный варіант<ref name="standard_alphabet">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-3 |title=АЛФАВІТ |publisher=Общество про русинськый розвуй}}</ref>. {| class="wikitable" ! Кирилиця !! Латиниця !! Кирилиця !! Латиниця !! Кирилица !! Латиниця |- | А || a || Б || b || В || v |- | Г || h || Ґ || g || Д || d |- | Е || e || Є || je || Ж || ž |- | З || z || И || i || І || ie |- | Ї || ji || Й || j || К || k |- | Л || l || М || m || Н || n |- | О || o || П || p || Р || r |- | С || s || Т || t || У || u |- | (Ӱ) || ö || Ф || f || Х || ch |- | Ц || c || Ч || č || Ш || š |- | Щ || šč || Ь || j || Ы || y |- | Ю || ju || Я || ja || || |} == Правила писаня буквий == # Стандарт поволяє рузні рефлексы давньых О* тай Е*, мож писати через ‹У›: ''кунь, муст, хвуст''; через ‹Ӱ›: ''кӱнь, мӱст, хвӱст'' тай «І» ''кінь, міст, хвіст''. Хоть и никаня ОРР такоє, ож писмова форма русинського языка ся мусит базовати ийпен на діалектіх из рефлексом [у]<ref name="standard_o_e">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-5 |title=Рефлексація *о тай *е у новозакрытых складых |publisher=Общество про русинськый розвуй}}</ref>. # Фонема /а/ сперед звуком [ў], годна звучати подобно до /о/, тот переход не записує ся: ''правда, дав, гавкати, завтра''<ref name="standard_a">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-6 |title=Буква ‹А› |publisher=Общество про русинськый розвуй}}</ref>. # Фонема /в/ у позиції сперед приголосныма зачинат звучати ги куртоє [у]. (У транскрипції сись звук ся позначат ги [ў]), айбо на письмови ся убстават ‹В›: ''повный, зеленов, бовт, ровта''<ref name="standard_v">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-7 |title=Буква ‹В› |publisher=Общество про русинськый розвуй}}</ref>. # Зміна /ув/>/у/ на письмо ся не дає. Писати и у сякых тарфунках радно ‹УВ› (выйимка: фликсія родового выдмінка множины ''-у < *-ув'' (ґрафічно ''-у'' тай ''-ю''), котра ся пише без кунцьового –''в<ref name="standard_v" />'': ''нанкувськый, жидувськый, бізувно, реселюв, тиметув, вупити, вутця, вусям, вурвати, вувертка, знаву, дякуву, розумівут, янувар, фебрувар, Сервус! [нанкус’кый; жидус’кый; рисил’у, рисил’уў; тимету, тиметуў; бізуно; вупити, упити; вутця, утця; вус’ам, ус’ам; вурвати, урвати; вувертка, увертка; знаву, знау; дякуву, дякуу; розумівут, розуміут; янувар, януар; фебрувар, фебруар; сервус, серус].'' # Буква ‹Ґ› ся хоснує як у домашньых (и вдомашненых запозыченых) словах: ''мозґы, брызґати, лиґінь, біціґлі, віґан, аґац, анцуґ''; так и у інтернаціоналных словах и власных назывках: ''мітинґ, інтеґрація, іґнор, Гааґа, Копенгаґен, Гамбурґ, ґаз, ґазета.'' ''Звук [ґ] у латинці ся записує ги ‹g›, звук [г] ги ‹h›''<ref name="standard_g">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-8 |title=Буква ‹Ґ› |publisher=Общество про русинськый розвуй}}</ref>. # Редукція фонем /е/ тай /и/ не дає ся у писмо, туй ся хоснує етимолоґічный принцип<ref name="standard_e">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-9 |title=Буква ‹Е› |publisher=Общество про русинськый розвуй}}</ref>. # ‹И› годна стояти зачатку слова: ''игла, изробити, Иршава, имити, и''<ref name="standard_i">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-10 |title=Буква ‹И› |publisher=Общество про русинськый розвуй}}</ref>. # ‹И› годна стояти по ‹Й›: ''стойит, тройити, крайина, стройити''<ref name="standard_i" />. # Буква ‹И› ся усе пише по ‹Ш, Щ, Ж, Ч›. Слова гикой ''ушитко, шити, жити, рішити, шия'' мавут двоякый выговор: через /и/ тай /ы/<ref name="standard_i" />. # Буква ‹И› ся скоро ниґда не пише по ‹К, Ґ, Х, Г›. Выимками сут лем слова, де [и] по [к, ґ, х, г] ся появило позад закона реґресивної асимілації [и]<[е]: ''ги, гикой, огинь, легинькый, мнягкинькый<ref name="standard_i" />.'' # Звук [и] ся часто появлят на зачаткови слова ги протеза, наприклад у дієсловах из прифіксом ''з-'': ''изісти'', ''изробити'', ''изыйти''; у слові ''изась'', тай назывках варошу ''Иршава'' тай ''Ильвув<ref name="standard_i" />.'' # Буква ‹І› ся пише на зачаткови слова лем у інтернаціоналных словах: ''історія, інтернет, інформація, ідия'' <ref name="standard_ii">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-11 |title=Буква ‹І› тай ‹Ї› |publisher=Общество про русинськый розвуй}}</ref>. # Буква ‹І› годна стояти, як и по твердым приголосным, так и по мнягкым<ref name="standard_ii" />. # Буква ‹Ї› буква позначат [йі], годна позначати й [йӱ]<ref name="standard_ii" />. # Буква ‹І› все ся пише в суфіксах -''ія'', ''-іста/-ішта, -іня, -ій, -ів р.в. именнику множины тай м.в. тай д.в. прикметнику єднины<ref name="standard_ii" />.'' # Чужоє ‹І› ся передават так само ги ‹І›, а вто и на зачаткови слов: ''імпирія, політіка, інвестіція''. По алвеоларных ‹Д, Т, З, С, Ц, Р› слобудно писати ай ‹И›: ''політика'', ''лінґвістика'', при тум выговорьовати сесі слова так само радно из через [і], сокотячи при тум твердость спередущого приголосного<ref name="standard_ii" />. # Буква ‹Л› все тверда сперед [н] тай [ш]: ''болниця, силный, холодилник, Калник, мелник, повелителный, а также булше, далше''<ref name="standard_l">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-12 |title=Буква ‹Л› |publisher=Общество про русинськый розвуй}}</ref>. # Тверда чужа ‹Л› ся передає все твердо: ''култура, реґулація, націоналный, асимілація, транслація, плус, резултат, популаризація<ref name="standard_l" />.'' # Звук /у/ годен назачатку слова ся читати гий /в/, спозад чого сут рузні варіанты писаня: ''убы-вбы, уддати-вддати, убыйти-вбыйти, уна-вна, умліти-вмліти''<ref name="standard_o_u">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-13 |title=Буква ‹О› тай ‹У› |publisher=Общество про русинськый розвуй}}</ref>. # Прифікс ''о-'' має паралелну форму ''у-'': ''омліти/умліти, окремый/укремый, обезцінити/убезцінити<ref name="standard_o_u" />.'' # Буква ‹У› ся пише в особовы тай указовых заименниках ''ун, уна, уно, уни'' тай ''уто, ута, уті<ref name="standard_o_u" />.'' # Прифіксы Уд- тай Уб- все ся пишут через ‹У›<ref name="standard_o_u" />. # Букву ‹Ӱ› не радно писати у поєдных флексіях тай словах сперед ‹В›, котра закрыват собов склад: ''мів, свів, на нів, зелинів'', ''столів, бівше'' (айбо при тому ''бӱлше'')<ref name="standard_y_umlaut">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-14 |title=Буква ‹Ӱ› |publisher=Общество про русинськый розвуй}}</ref>. # Букву ‹Ӱ› не радно писати у прийменниках тай прифіксох ''пӱд, вӱд,'' радно хосновати ''пуд, уд/выд<ref name="standard_y_umlaut" />.'' # Прийменникы ''вуд/від/од'' на письмови сим стандартом поволині не сут<ref name="standard_y_umlaut" />. # Чужоє ‹Ü› [ü], наприклад, німицькоє вадь французькоє, передаєме через ‹Ӱ› (опціонално через ‹У›): дебӱт, Брӱсел, ''Жан-Лÿк Ґодар, Віктор Гӱґо<ref name="standard_y_umlaut" />.'' # Буква ‹Ы› годна ся писати по ‹К, Ґ, Х, Г›, айбо в ужанському діаликті годна ся читати гий /и/ <ref name="standard_y">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-15 |title=Буква ‹Ы› |publisher=Общество про русинськый розвуй}}</ref>. # Буква ‹Ы› ся не пише по ‹Ш, Ж, Ч, Щ›. Выйимка: Прикметникові кунцьовкы типа ''-ЫЙ, -ЫМА, -ЫМ, -ЫХ, -ЫВ'' фурт ся пишут из ‹Ы›, а то и по ‹Ш, Ж, Ч, Щ›, а по ‹Ь›: ''добрый, красных, червеныма, зеленым, теплыв'' (и ''теплов''), ''природньый, синьый, горячый''<ref name="standard_y" />. # Буква ‹Ы› ся пише у формах дієслова “''быти''”: ''быти, быв, была, было, были, бых, бым, бысь, бысьме, бысьте''<ref name="standard_y" />. # Буква ‹Ы› ся пише у прифіксови ВЫ- (при паралелнум ВУ- у дакотрых контекстах): ''выпити, выйти, выдкы, вырвати, выбілити, выбор, вызур''<ref name="standard_y" />. # У трафунках, кой гія записати [й]+голосный по приголоснум не пишеме нич, айбо в даякых трафунках, кой тото ся удбывати на границі прифікса й корня поволяє ся писати апостроф:''пять, пют, дивять, вєдно, зязати, з’язати; зєднати, з’єднати''<ref name="standard_jot">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-16 |title=Йотація |publisher=Общество про русинськый розвуй}}</ref>. # Комбінації ‹ДН›, ‹РЛ›, ‹ДЛ›, ‹ШТ›, ‹ЖД› годні ся читати гий [н:], [л:], [л:], [шч], [ждж] айбо на писмо тото ся не дає<ref name="standard_dn_rl_dl">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-17 |title=Комбінації ‹ДН›, ‹РЛ›, ‹ДЛ› |publisher=Общество про русинськый розвуй}}</ref><ref name="standard_sht_zhd">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-18 |title=Комбінації ‹ШТ› тай ‹ЖД› |publisher=Общество про русинськый розвуй}}</ref>. # Чужоє [e:] передават ся ги ‹ИЙ›: ''ийпен, шпаргийт, ийзирь, мийте''р, ''Рийґенсбурґ, айбо'' йсе не фунґує в уже вдомашненых словах гикой ''миреґовати, сеґінь, леґінь''<ref name="standard_international">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-19 |title=Інтераціоналізмы, иноязычні власні назывкы, иноязычні имена |publisher=Общество про русинськый розвуй}}</ref>. # Чужоє вокалізованоє ‹S› слобудно передавати и через ‹С› и через ‹З›: ''вирсія/вирзія, філософія/філозофія, університет/універзітет, дискурс/дискурз, дискусія/дискузія<ref name="standard_international" />.'' == Система писаня е < и == Звук /и/ ся убявлят и на позиціях етимолоґічного /е/. У припадах асимілації е > и буква ‹И› ся пише на місті етимолоґічного /е/ позад сякых принципу<ref name="standard_i" />: # зміна е > и ся фурт дає на письмо у надголошенуй позиції: ''бисіда, чилядь, динь, огинь, малинькый, за ниї, сись, ачий, днись, забирь, принись, сліпиць''; # зміна ся сокотить и у ненадголошенуй позиції, кідь у силнуй позиції ся проявлять лем уна: ''минí'', (пор. ''на ми́‌ні'') ''бисідовáти'' (пор. ''би́‌сіда''), ''урядóвиць, службóвиць, хлóпиць'' (пор. ''купи́ць'', туй ся провірят сам суфікс, и вто не мусит быти у парадиґмі лем конкретної лексемы); # зміна е > и ся дає на письмо у позиції такой сперед надголошеным складом, де пробігла зміна е > и, кідь у другых формах даного морфема у сюй позиції ся не проявлят чистый звук /е/: ''типирь'', ''сиринча'', айбо ''деревляный, очер''е''дь'' (пор. ''дерево, в очереди''); # зміна е > и ся дає на письмо у сладах по надголошеному: ''учитиль, поширині, выділині'', ''єрись''; # зміна е > и ся не сокотить у ненадголошенуй позиції, кідь у другых формах даного морфема у сюй позиції ся проявлят чистый звук /е/, што ся не пуддават сякуй асимілації: (''зели‌ні'', ''зеленіти'' (пор. ''зеленый''), ''сись'', ''сеся'', ''сесі'', (пор. ''сесе''), ''пери́йду, пери́біг, пери́бют, пересели́ниць'' (бо ''переселеный, передасти, перебрати''); # зміна е > и ся не вказує на письмови у первому складі слова по /й/ (ґрафічно ‹Є›): ''єсь, єрись'', ''у Ємині'' [йи́‌сь, йи́‌рись, у йи́‌мині]; айбо не у середині слув: ''кітайиць, індійиць''; # у запозыченых и інтернаціоналных словах поволеный двоякый запис и з удбитям перезвука е > и позад принципу 1-6, так и з сокочіньом етимолоґічного ‹Е›: ''імийл/імейл, ґиній/ґеній, Билґія/Белґія'', айбо рекомендованым є русинізованый варіант через ‹И›; # Выйимков сут имена, фамілії, корпоративні назвы, подакотрі топонімы, запозычині слова а т.д. При їх написаньови ся рекомендуєме придержовати покладати на традиції вадь своє особистоє языковоє чутя ци звычкы. == Морфолоґія == # Радно хоснвати прифік вы-, опціонално мож ву-<ref name="standard_morph_prefix">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-21 |title=ПИСАНЯ ПОЄДНЫХ ПРИФІКСУ тай СУФІКСУ |publisher=Общество про русинськый розвуй}}</ref>. # Суфікс -ОСТЬ ся годен читати ги [ост’, уст’, ӱст’, іст’]<ref name="standard_morph_prefix" />. # Суфікс -ІРЬ ся хоснує на передачу чужых суфіксу -ER/-IER/-EUR/: ''бріґадірь, командірь, кавалірь, інженірь, касірь''<ref name="standard_morph_prefix" />. # Поєдны именникы, што мавут кунцьовку -а (-я), сут чоловічого рода, животні, наприклад: ''староста, судя, популішта'' а имена з тыв кунцьовков: ''Юра, Ґийза''. Выдмінювут ся сесі слова по парадиґмі жунського рода, з тыв лем розликов, же у формах давалного тай місного выдмінку єднины годни мати кунцьовку -ови: ''Юрови, судьови, старостови''; а у формах орудного выдмінка єднины мавут флексію -ом: ''из Ґийзом, популіштом, старостом''<ref name="standard_noun_paradigm">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-26 |title=Коментарі д парадиґмам выдміньованя именнику |publisher=Общество про русинськый розвуй}}</ref>. # Мож хосновати флексії –''ах'' тай –''ам, айбо рекомендувут ся -ох тай -ім<ref name="standard_noun_paradigm" />.'' # Флексія –''ом'' у давалнум выдмінкови именнику чоловічого рода множины ся годна читати ги [ом, ум, ӱм, ім]: ''мотор'' – ''ид мотором'' [мотором, моторум, моторӱм, моторім]<ref name="standard_noun_paradigm" />. # У именнику, основа котрых ся кунчат на ‹К, Ґ, Х, Г›, сперед флексійов -і радно міняти послідньый звук основы – к > ц, г > з, х > с: ''на руці, на нозі, на мусі''. Шак сесе ниє мусайным, формы без сиї алтернації мож писати: ''на рукі, на ногі, на мухі''<ref name="standard_noun_paradigm" />. # Именникы чоловічого рода не мавут якыхись особых форм знахідного выдмінка; його форма (як у єднині, так и у множині) спувпадат из формов родового выдмінка у именнику животных: ''вижу чоловіка, пса, чилядника, мацуру, дохтору;'' и з формов назывного выдмінка у именниках неживотных: ''вижу столы, моторы, оболокы…<ref name="standard_noun_paradigm" />'' # У присвуйных прикметниках у множині н.в. радно хосновати лем кунцьовку -ы: ''сыновы, цильовы, мамины''<ref name="standard_adj_paradigm">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-30 |title=Коментарі д парадиґмам выдміньованя прикметнику |publisher=Общество про русинськый розвуй}}</ref>. # Розділ межи май крáсным и мáй красным дає ся надголосом<ref name="standard_adj_degree">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-31 |title=Ступіньованя прикметнику тай прислувнику |publisher=Общество про русинськый розвуй}}</ref>. # Клітикы фурт тяготівут на зачаток фразы, айбо не сут на самум зачаткови<ref name="standard_pronoun_paradigm">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-34 |title=Коментарі д парадиґмам выдміньованя займеннику |publisher=Общество про русинськый розвуй}}</ref>. # – Постфікс ''-сь'' (-''ись'' по приголосных), пише ся вєдно з основов: ''кымись, якоєсь, якыйись, яковись, якись'' (уд ''як'')'', якісь'' (уд ''які'');<ref name="standard_indefinite_pronoun">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-35 |title=Творіня невызначеных займеннику |publisher=Общество про русинськый розвуй}}</ref> # – Прифікс ''да-'': ''даякый, дашто, дакому'';<ref name="standard_indefinite_pronoun" /> # – Часткы ''хоть, будь, варе'' (пишут ся окреме): ''хоть котрый, будь чий, варе якого''<ref name="standard_indefinite_pronoun" />. == Дієслова == # На писмо дає ся зміна ''-ю-'' > ''-ву- у'' 1. ос. єднины тай 3. особі множины<ref name="standard_verb_paradigm">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-37 |title=Парадиґмы выдміньованя дієслув |publisher=Общество про русинськый розвуй}}</ref>. # Доволіня обох варіанту кунцьовкы 3. особы – мнягкого ''-ть'' тай твердого ''-т''<ref name="standard_verb_paradigm" />. # Доволіня паралелного хоснованя многых форм гикой ''знаш/знаєш, дає/дават''<ref name="standard_verb_paradigm" />. # Дієслова гикой ''вижу, сижу, хожу'' ся выговорювут вареяко, через [ж] тай через [дж], айбо ся пишут через [ж]: ''вижу, хожу, сижу'' [вижу, видж’у; хожу, ходж’у; сижу, сидж’у]''<ref name="standard_verb_comments">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-38 |title=Коментарі ид написаньови дієслув |publisher=Общество про русинськый розвуй}}</ref>.'' # Курті формы про ''єм, єсь/єс, єсьме/єсме, єсьте/єсте'' (-''м, -сь/-с, сьме/сме, сьте/сте'') годни ся хосновати, кой сепередущоє слово ся кунчат на голосный звук. И повні, и курті формы сут повноцінныма окремыма словами, и пуддавут ся єднакым ситактичным правилам, и пишут уни ся окреме: ''туй єм, там єс, красна єсь, готові сьме, змучині сме, добрі сьте, пяні сте''. Выйимков сут лем формы 1. а 2. числа множины –''м'' тай –''сь''/''-с'', котрі ся пишут уєдно зо спередущым словом: ''туйкым уже, ужем туйкы, добрыйсь чоловік, ныніс красна, краснас ныні''<ref name="standard_verb_to_be">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-40 |title=Дієслово ''быти'' |publisher=Общество про русинськый розвуй}}</ref>. # Заперичіня у русинськум языкови ся творит помочов часткы ''не'', котру з дієсловами радно писати окреме: ''не роблю, не быв, не ходит, не фунґувут, не знала, не віділи.'' ''Выйимков сут формы типирішнього часа дієслова «быти» (окрем формы «сут/суть»), там хоснує ся частка ни-, и радно ю з нима писати вєдно<ref name="standard_negation">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-43 |title=Заперичіня |publisher=Общество про русинськый розвуй}}</ref>.'' # Заперечна форма 3. ос. єдн. годна мати и форму ''ніт'': ''у хлопця ніт сестры, брата ніт дома<ref name="standard_negation" />.'' # Минулый час творит ся уд інфінітивної основы міняньом суфікса ''-ти'' на ''-в'' про чоловічый род єднины, ''-ла'' про жунськый род єднины, ''-ло'' про серидньый род єднины, ''-ли'' про множину (без специфікації рода), ай додаваньом редукованых авадь куртых форм типирішнього часа дієслова ''быти'' у 1. и 2. особ. У редукованых форм дієслова ''быти'', котрі наохтема сут клітиками, ініціална ‹Є-› ся записує як ‹И-›: ''им, ись/ис, исьме/исме, исьте/исте''<ref name="standard_past_tense">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-44 |title=Минулый час |publisher=Общество про русинськый розвуй}}</ref>. # Будучный час ся творит авадь флексійно уд дієслув доконаных, авадь аналітично уд діслув недоконаных. Аналітичный будучный час ся творит помочов дієслова ''быти'' авадь куртої формы дієслова ''ймити'' у формі будучного часу +смыслового дієслова у інфінітивови: ''буду робити, будеш ходити, буде писати, будеме читати, будете стояти, будут ладити, му ити, меш лежати, вести ме, меме їсти, чинити мете, мут уставати''<ref name="standard_future_tense">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-45 |title=Будучный час |publisher=Общество про русинськый розвуй}}</ref>. # Умовный способ, авадь кондиціонал, творит ся помочов додаваня даколишньої аористової формы дієслова ''быти'' д смысловому дієсловови: ''спав бых, зробив бысь, пушли бысьм''<ref name="standard_conditional">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-46 |title=Умовный способ |publisher=Общество про русинськый розвуй}}</ref>. # Формы умовного способа дієслова ''быти'' у складови спойок ''жебы, обы, абы'' пишут ся уєдно: ''жебысьте, обысьме, абысьте, абысьме<ref name="standard_conditional" />.'' == Синтаксис == # Клітикы роблят по правилу Вакернаґела: енклітикы, належачі д присудкови, снагавут ся заняти другоє місто у фразі, авадь місто на кунци первої тактової ґрупы фразы. Кідь ся у сюй позиції указує дакулько енклітик нараз, та уни творят єдиный блок, и енклітикы у сюм блокови сут читко пошорині по свойим читко становленым ранґум<ref name="standard_clitics">{{Cite web |url=https://rusynsociety.com/sre-standard/#ftoc-heading-49 |title=Клітикы |publisher=Общество про русинськый розвуй}}</ref>. # Клітикы не годні стояти на зачатку речиня<ref name="standard_clitics" />. == Убновіня стандарта == Стандарт годен ся міняти за потребы<ref name="standard_update">{{Cite web |url=https://rusynsociety.com/2026/03/20/apdyit-standarta/ |title=Апдийт Стандарта |publisher=Общество про русинськый розвуй |date=2026-03-20}}</ref>. У марцьови 2026 года ун ся убновив. Зміны<ref name="standard_update" />: # Додав ся алтернативный варіант про суфікс -иць, типирь мож писати -ец # Добавило ся новоє правило про писаня асимілації е < и: зміна е > и ся не вказує на письмови у первому складі слова по /й/ (ґрафічно ‹Є›): ''єсь, єрись'', ''у Ємині'' [йи́‌сь, йи́‌рись, у йи́‌мині]; айбо не у середині слув: ''кітайиць, індійиць''; # Варіативность писаня: єсь/єс, ись/ис, єсьме/єсме... # Редуковані формы дієслова быти в минулому часі типирь записувут, гий ис(ь), им, ис(ь)ме. == Позерай втож == * [[Граматика Гарайды]] * [[Русинськый язык]] == Жерела == {{reflist}} nw1zj18kdc07vcumtm2q3sb4x8b148c Тай другоє 0 25204 170214 170098 2026-09-23T17:10:17Z Flipdot 23893 Вилучено перенаправлення на [[Паралелоґрам]] 170214 wikitext text/x-wiki {{Db-test}} 96etkiemi84tgxvb59o5wt50jb0g2aq Ігор Гербут 0 25205 170200 170174 2026-09-23T14:14:38Z Rue323 31002 170200 wikitext text/x-wiki [[File:Igor Herbut (rus-wiki).webp|250x250px|міні|Ігор Гербут, 2018. Знамка походит зо профіля Facebook артусты. ]] '''І́гор Ге́рбут''' (вродж. 17 грудня/децембра 1990 р. в Лубіні) — [[Лемкы|лемківскій]] співак, композитор, творця слів [[:rue:Пісня|співанок]] ай [[:rue:Музика|музычный]] продуцент.<ref>https://www.igor-herbut.pl</ref> Засновник ай ведучый ансамблю «''LemON''» (рус. зап. «''ЛемОН''»). == Вчасны рокы тай родина == Гербут вродил ся 17 грудня/децембра 1990 рока в Лубіні в лемківскій родині<ref name=":1">http://eprzemkow.internetdsl.pl/readarticle.php?article_id=755</ref>. Його мати є [[Педагог|учытельком]] [[Русиньскый язык|русиньского]] (лемківского) языка тай веде ансамбль народного [[Танець|танця]]. Його няньо тіж занимал ся мустецтвом — співал в лемківскым хорі, грал на [[:rue:Ґітара|ґітарі]] тай танцувал<ref name=":2">https://web.archive.org/web/20250516180055/https://biletyna.pl/blog/igor-herbut-biografia-zycie-i-tworczosc/</ref>. Ігор вырастал во Пшемкові, на Нижнім Шлезску, докаль з [[:rue:Лемковина|Лемковины]] выселены былы його дідове в рамках [[:rue:Акція_Вісла|акциі ''«Вісла»'']]. Тото, подля співака, єст цікаве, мултікултурне місце, де спільні жыют [[:rue:Поляци|Полякы]], [[:rue:Лемкы|Лемкы]], [[:rue:Українцї|Украінці]] тай [[:rue:Циґане|Циґаны]].<ref name=":3">https://warszawa.naszemiasto.pl/igor-herbut-z-lemon-opowiada-o-swojej-malej-ojczyznie-i/ar/c13-2091934</ref>[[File:Igor Herbut as a child.jpg|міні|Ігор Гербут в дітиньстві. Знамка походит зо профіля Instagram артусты. ]]Його першым языком был русиньскый (лемківскій), котрым бесідувало ся в хыжы тай співало. Гербут брал участ в лемківскых ватрах ай [[:rue:Сято|праздниках]]. [[:rue:Польскый_язык|Польскый язык]] він познавал головні в передшколи, на дворі і з [[:rue:Телевізія|телевізиі]]. Музык приналежыт до [[:rue:Православна_церьков|православной церкви]].<ref name=":1" /> 2006 рока закінчыл Основну Школу но. 1 во Пшемкові. 2009 рока закінчыл Ліцей но. 4 мена Богдана-Ігора Антонича в Ліґніці. 2010 рока начал вчыти ся в Зеленогірскім Університеті на напрямі ''Джез і Музыка Сценічна'', котрого єст абсолвентом.<ref name=":1" /> Во молодых роках, Ігор приналежал до музычных груп такых як «Мозаіка» (діючым во Пшемкові), «Ластівочка», «Кычера», хор «Благодар» ай «Дикы бджолы» (котрый спілосновал во своім ліцею). <ref name=":1" /> == Карьєра == Ігор, разом зо своім двоюрідным братом, Адамом Горощаком, спонтанні взяли участ в кастінґу во [[:rue:Вроцлав|Вроцлаві]] до едициі телевізийного, музычного [[:rue:Конкуренция|замаганя]] «''Must be The Music. Tylko muzyka»'' з 2012 рока тай были преняты до видовиска<ref name=":2" />. Товды же мужчыны рішыли створити ансамбль ''«LemOn»'', з котрым выступлювали в замаганю. Мено бенду то получыня русиньского слова ''лем'' і [[:rue:Анґліцькый_язык|анґлицкого]] слова ''оn''. 13 мая 2012 рока група выграла конкурс, што придало ім славы. <ref name=":2" />27 падолиста/новембра 2012 рока вышол першый албум бенду ''«Lemon»'' (рус. зап. ''«Лемон»''), што вказал ся великым хосном i продал ся в чыслі перешло 60 тисячів цедечок<ref name=":6"> https://www.olis.pl/charts/oficjalna-lista-wyroznien</ref>. Во його складі находит ся співанка ''«Napraw»'' (рус. ''«Направ»''), котра до гнескы лишат ся найзнанійшым твором групы. По тым успіху, Гербутові запропонували робити при музиці про [[:rue:Филм|фільм]] з 2013 рока «''Wkręceni»'' (рус. ''«Вкручены»''). В рамках того проєкту він створил співанку ''«Wkręceni — nie ufaj mi»'' (рус. ''«Вкручены — не вір ня»''), котра до гнеска єст його найзнанійшым соловым твором. Слідуючы албумы ''LemOn'' то ''«Scarlett»'' (рус. зап. ''«Скарльет»'') з 24 падолиста/новембра 2014 рока (він продал ся в чыслі перешло 60 тисячів цедечок<ref name=":6" />), ''«Etiuda zimowa»'' (рус. ''«Етюда зимова»'') з 13 падолиста/новембра 2015 рока (він продал ся в чыслі перешло 15 тисячів цедечок<ref name=":6" />) тай ''«Tu»'' (рус. ''«Ту»'') з 24 марця 2017 рока (він продал ся в чыслі перешло 15 тисячів цедечок<ref name=":6" />). [[Файл:LemOn_on_Must_Be_the_Music..png|альт=rigth|міні|320x320пкс|LemOn співают ''«Litaj ptaszko»'' (рус. зап. ''«Літай пташко»'') в Must Be The Music. Tylko muzyka.|межа]]2020 рока артуста был оціняючым в телевізийным, музычным замаганю «''The Four. Bitwa o sławę»'' (рус. ''«Чвірка. Битва о славу»''), а в вересни/септембрі мал своє слуховлско в [[:rue:Радіо|радию]] ''«RMF Classic»'' (рус. ''«РМФ Клясичне»''). 17 квітня/апріля того самого рока вышол його першый соловый албум ''«Chrust»'' (рус. ''«Патыча»''). Назва походит од інспірациіі сыном, вродженым рик раньше, в котрым музык достерігат ''тепло і оген''. 7 марца 2022 рока він вєдно з польском артустком ''Sanah'' (рус. зап. ''«Санах»'') награли співанку ''«Mamo tyś płakała»'' (рус. ''«Мамо ты-с плакала»''), з котрого хосен был переданый на поміч про дітячы жертвы [[Російсько-украйинська война|російского нападу на Украіну]]. Того самого рока він стал ся менаджером польской співачкы ''Sara James'' (рус. зап. ''Сара Джеймс''). 24 падолиста/новембра 2023 рока вышол пятый албум ''LemOn'' ''«Piatka»'' (рус. ''«Пятка»''). Выданя другого, солового албуму Гербута ''«Żeremie»'' мат одбыти ся в жолтни/октобрі 2026 рока. == Стиль творіня == Творы Ігора зрыхтуваны з ''LemOn'' оповідают, передовшыткым, о [[:rue:Любов|любови]], як во співанках ''«Napraw», «Jutro» i «Scarlett»''. В соловых проєктах артиста старат ся замірювати на барже особисты справы як родина тай [[:rue:Емоція|чутя]].[[Файл:Igor.Herbut.Flag2.jpg|альт=rigth|міні|200x200пкс|Ігор Гербут выступлює з фаном, котру ідентыфікує ся з Лемками. ]] Співак нераз споминал о своіх проблемах з депресийом, особливо на зачатку своєй карьєры, што мало влияня на його стиль. Так гварил за албум ''«Chrust»'' в бесіді з [[:rue:Новинарь|новинарком]], Агафійом Млинарском (поль. Agata Młynarska):<blockquote>''«Єм думал, же буде зо мном конец, єм ниґда о тым никому не бесідувал, але вшытко єст на моім албумі».''<ref name=":4">https://www.youtube.com/watch?v=wsRyDc92K-E</ref></blockquote> Він творит співанкы головні по-польскы тай лемківскы, але деколи тіж по-украіньскы і білорускы (прим. «A u świecie nam»). Артиста часто підкреслят свій міцный звязок зо походжыньом ай його влияня на його творчіст: <blockquote>''«Моє походжыня єст чути не лем во словах моіх співанок, але тіж в музиці — во співі, котрый хосную, во способі выражыня емоций, в сесым, як хоснуєме [вєдно з LemOn] звучаня інструментів [...]».''<ref name=":3" /></blockquote> == Жытя особисте == [[Файл:Igor_Herbut_and_his_Son.jpg|альт=rigth|міні|188x188px|Ігор Гербут з сыном, Каіом.]] 2013 рока Ігор звязал ся з Маргаритом Дацко (поль. Małgorzata Dacko), з котром зышол ся принагідні робіт при фільмі «''Wkręceni»'' (рус. ''«Вкручены»'')<ref name=":5">https://www.eska.pl/news/igor-herbut-wiek-choroba-operacja-zona-utwory-wiara-23-12-aa-caox-GPeY-svRc.html</ref>. Жена без якісый час была тіж менаджерком бенду ''LemOn'', а пак робила при телевізийній продукциі. Пара мат єдну дітину — хлопця, котрого зовут Каі ({{lang-pl|Kai}}), вродженого 17 липця/юлия 2019 рока. Подля співака народжыня сына цілком змінило його жытя, котре помогло му впорядкувати своі справы.<ref name=":5" /> Артуста посвятил му співанку ''«Jasny»'' (рус. «Ясный»). <ref name=":4" /> Гербут старат ся хоронити своє родинне жытя ай не часто ділит ся інфорнациями о ним. == Жрідла == {{reflist}} p3ia0cbkht75qrjg5o4ikxxlfwprczg Паралела (чеперушка) 0 25207 170229 170171 2026-09-23T19:26:32Z Rue323 31002 170229 wikitext text/x-wiki '''Парале́ла''' (уд {{lang-grc|parallēlos}} — ''досл.'' близ идущый)<ref>https://jazyk.rueportal.eu/slovnyk</ref> * [[Паралела]] — лінія січіня повирьха планеты плоскостёв, паралелної плоскости [[Екватор|екватора]]. * [[Аналоґія|Паралела]] — термін, означавущый аналоґічность у [[Наука|науках]], [[Літературознавство|літературознавствови]]. * [[Паралела (ґеометрія)|Паралела]] — пряма, не перетинавуща ся из другыв прямыв. * [[Ров|Паралела]] — обкопаня про обезпечіня [[Обсада|обсады]] [[Кріпость|кріпости]]. * [[Паралелні класы|Паралела]] — вшыткі класы єдного року ошколованя авадь ґрупы єдного уровня у ошколовнӱм заведінёви. == Удкликованя == 4vrf66ry4cldyzs3vp7rjxv1elvzh8d 170230 170229 2026-09-23T19:26:56Z Rue323 31002 Rue323 переменовав сторінку [[Funai]] на [[Паралела (чеперушка)]]: Нова статя (де-факто, бо началну и так нико у ближый час не удалить) 170229 wikitext text/x-wiki '''Парале́ла''' (уд {{lang-grc|parallēlos}} — ''досл.'' близ идущый)<ref>https://jazyk.rueportal.eu/slovnyk</ref> * [[Паралела]] — лінія січіня повирьха планеты плоскостёв, паралелної плоскости [[Екватор|екватора]]. * [[Аналоґія|Паралела]] — термін, означавущый аналоґічность у [[Наука|науках]], [[Літературознавство|літературознавствови]]. * [[Паралела (ґеометрія)|Паралела]] — пряма, не перетинавуща ся из другыв прямыв. * [[Ров|Паралела]] — обкопаня про обезпечіня [[Обсада|обсады]] [[Кріпость|кріпости]]. * [[Паралелні класы|Паралела]] — вшыткі класы єдного року ошколованя авадь ґрупы єдного уровня у ошколовнӱм заведінёви. == Удкликованя == 4vrf66ry4cldyzs3vp7rjxv1elvzh8d 170234 170230 2026-09-23T19:37:31Z Rue323 31002 170234 wikitext text/x-wiki {{Чеперушка}} '''Парале́ла''' (уд {{lang-grc|parallēlos}} — ''досл.'' близ идущый)<ref>https://jazyk.rueportal.eu/slovnyk</ref> * [[Паралела]] — лінія січіня повирьха планеты плоскостёв, паралелної плоскости [[Екватор|екватора]]. * [[Аналоґія|Паралела]] — термін, означавущый аналоґічность у [[Наука|науках]], [[Літературознавство|літературознавствови]]. * [[Паралела (ґеометрія)|Паралела]] — пряма, не перетинавуща ся из другыв прямыв. * [[Ров|Паралела]] — обкопаня про обезпечіня [[Обсада|обсады]] [[Кріпость|кріпости]]. * [[Паралелні класы|Паралела]] — вшыткі класы єдного року ошколованя авадь ґрупы єдного уровня у ошколовнӱм заведінёви. == Удкликованя == gjervbvek4qrlawbhdkq6udzbq5ek48 Інкска ріша 0 25208 170203 2026-09-23T14:24:03Z Rue323 31002 Rue323 переменовав сторінку [[Інкска ріша]] на [[Інкська имперія]] 170203 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Інкська имперія]] 215b42iv5j3vx3q4nncx6vopuqbx8fp Гродненьска область 0 25209 170206 2026-09-23T14:40:07Z Rue323 31002 Rue323 переменовав сторінку [[Гродненьска область]] на [[Гродненська область]] 170206 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Гродненська область]] id9881vk7r0ud9uxw3mmlhiuk04j86q Автомаґістраль D6 (Чесько) 0 25210 170208 2026-09-23T14:44:27Z Rue323 31002 Rue323 переменовав сторінку [[Автомаґістраль D6 (Чесько)]] на [[Автомаґістрала D6 (Чесько)]] 170208 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Автомаґістрала D6 (Чесько)]] 0ttqdi914wj7g3te2ekg8sd67qze6xx Діскузія:Ервін Адерс 1 25211 170211 2026-09-23T15:30:26Z Halajkovič 33393 /* Мішанина */ нова секція 170211 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) 0mz8l1q51hh11wa4z520pjaextwydxe 170212 170211 2026-09-23T15:33:07Z Rue323 31002 /* Мішанина */ Відповідь 170212 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) ebry83uu4mewawjdg3ox2lfhrnmzu8a 170213 170212 2026-09-23T16:56:48Z Gazdadev 36573 /* Мішанина */ Відповідь 170213 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) 30k4wya13g3cco5mt7p596qi34ns4zs 170215 170213 2026-09-23T17:46:16Z Rue323 31002 /* Мішанина */ Відповідь 170215 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) 6u5yku4wr42vc43h7saks56fzkj51l8 170216 170215 2026-09-23T18:09:24Z Gazdadev 36573 /* Мішанина */ Відповідь 170216 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) 33q30cc3w59okwatgcuyykpanneshos 170219 170216 2026-09-23T18:11:40Z Rue323 31002 /* Мішанина */ Відповідь 170219 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) h0x1g2h3viccyku37hapdvau0rhat4l 170224 170219 2026-09-23T18:52:30Z Gazdadev 36573 /* Мішанина */ Відповідь 170224 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) gope3akqunl0zgzrlb4jiw1kzksslly 170225 170224 2026-09-23T18:57:58Z Rue323 31002 /* Мішанина */ Відповідь 170225 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) bbc6qmr2dljfn394pth992alj9tqlh1 170226 170225 2026-09-23T19:03:15Z LYTMAN 23698 /* Мішанина */ Відповідь 170226 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупну, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) fju2a0htu1sygbit3mdnu3at47123vc 170227 170226 2026-09-23T19:05:38Z Rue323 31002 170227 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупину, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) ndosx329ermvt0x3mf2hkbuv33axvrs 170228 170227 2026-09-23T19:06:40Z LYTMAN 23698 170228 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупину, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав им морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) ije7m4xdn9xx4caxj081lr21ntitfvo 170235 170228 2026-09-23T19:40:52Z Gazdadev 36573 /* Мішанина */ Відповідь 170235 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупину, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав им морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) :::::Я ся не руняв ниґда на Романеску. Нащьот иншого всього я думаву там треба буде поговорити у голосовому форматі а не текстовому і бажано груповым звонком бо штось міні ся туй дуже много чого не сходить. Радый им бы быв кобы сьте ся перестали выйобувати та поговорилисьме так на выходных вот. Я надівуся ош я уже увижу бӱльшӱсть недбалостий свойых (я знаву уни є, но міні ся видить не так много ги кажете вы). У мене є бажання стати ліпшым і выправити што треба так поможіте. Из другого боку, у вас тоже є свої нидолікы. Пиши ми у тґ, то буде із тобов думаву резултативніше ги із другыма такыми [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 21:40, 23 септембра 2026 (CEST) pyh6v8utug8az4utou6e6x4bzsb0sla 170236 170235 2026-09-23T19:58:51Z Flipdot 23893 /* Мішанина */ Відповідь 170236 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупину, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав им морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) :::::Я ся не руняв ниґда на Романеску. Нащьот иншого всього я думаву там треба буде поговорити у голосовому форматі а не текстовому і бажано груповым звонком бо штось міні ся туй дуже много чого не сходить. Радый им бы быв кобы сьте ся перестали выйобувати та поговорилисьме так на выходных вот. Я надівуся ош я уже увижу бӱльшӱсть недбалостий свойых (я знаву уни є, но міні ся видить не так много ги кажете вы). У мене є бажання стати ліпшым і выправити што треба так поможіте. Из другого боку, у вас тоже є свої нидолікы. Пиши ми у тґ, то буде із тобов думаву резултативніше ги із другыма такыми [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 21:40, 23 септембра 2026 (CEST) :Вшытка йся бесіда штось закрятала у дуже-дуже непродуктивный бук. Майглавноє, ож туй повно домак неприпустимых личных выпадув и общый тон сеї скоро вшыткої бесіды тото, перебачте, поливаня єден другого помыями, што йде цілком у розріз из [[ВП:5С4|четвертым стовпом Вікіпедії]]. Сесе ся кыват и @[[Хоснователь:Gazdadev|Gazdadev]], и @[[Хоснователь:Rue323|Rue323]]. Обом предлагаву запервоє узяти перерыв уд редаґованя, почитати [[:meta:Dispute_resolution|Dispute resolution]] и, аж ниєден из вас не має дяку дустати санкції за сякоє справованя, перестати хосновати Вікіпедію ги арену про словесні дуелі обзывками. Аж не побируєте дале правити учтиву дискусію з честованьом и без личных выпадув, з добров вольов и припущеньом доброї волі другых редакторув, тото бде просто ескалаційов конфлікта и, повірьте, нияк не уліпшит стан вашых діл. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 21:58, 23 септембра 2026 (CEST) 9j1k5s2k20bs97orwwn07n7fuzja849 170237 170236 2026-09-23T20:05:15Z Flipdot 23893 /* Мішанина */ Відповідь 170237 wikitext text/x-wiki == Мішанина == @[[Хоснователь:Rue323|Rue323]] і @[[Хоснователь:Gazdadev|Gazdadev]], договорьте ся, подля котрого єдиного штандарту мать быти тота статя написана, а не хоснуйте змішану ґраматіку, бо з того взникать дакотра неясна мішанина. [[Хоснователь:Halajkovič|<span style="color:#000">H</span><span style="color:#1a1a1a">a</span><span style="color:#333">l</span><span style="color:#4d4d4d">a</span><span style="color:#666">j</span><span style="color:#808080">k</span><span style="color:#999">o</span><span style="color:#aaa">v</span><span style="color:#b5b5b5">i</span><span style="color:#bbb">č</span>]] ([[Діскузія з хоснователём:Halajkovič|<span style="color:#bbb">д</span><span style="color:#a0a0a0">і</span><span style="color:#808080">с</span><span style="color:#606060">к</span><span style="color:#404040">у</span><span style="color:#202020">с</span><span style="color:#1a1a1a">і</span><span style="color:#000">я</span>]]) 17:30, 23 септембра 2026 (CEST) :Так @[[Хоснователь:Gazdadev|Gazdadev]] ге уж мож ся было догадати ге хоснує нияку подобу ґраматикы, а судячи з усёго, и не хоснує русинськый язык якым си ёго представлять много людий. [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:33, 23 септембра 2026 (CEST) :Просто най @[[Хоснователь:Rue323|Rue323]] не лізе у чужоє. Коли го ся просило помочи авать хотябы указати де нидобре та унімів навхтема [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 18:56, 23 септембра 2026 (CEST) ::кой вы просили вам помочи та @[[Хоснователь:Rue323|Rue323]] помӱг вам, и до дисятка раз (не рахувучи другых Вікіпедіштӱв) толковав вам, вы же нич из того не услухали, вы даже не пишете з урахованём ани єдної хыбы за котрі вам ся казало. И ищи, як ото "чужоє"? На Вікіпедії статі не суть чіїсь, Вікіпедію годен едітовати и доповняти каждый *_* ::[[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 19:46, 23 септембра 2026 (CEST) :::Пуд чужым я мав ввиду ґраматику, я хоснуву мало модифікованый УПРС. Собственно, ниякых ''дисятка рас'' ни было. Кӱлько рас я тя просив покласти шаблон, вать пудказати што де управити. Инколи ай я бездєйствовав, но на то были причины. Наприклад типирька я у [https://school.uz.ua УНЛ] і немаву тӱко часу ги кой я дома. Ты ся просто выйобуєш, на відміну уд того же Літмана і Галайковича даже не смотря на їхню лицемерность уни ми помогли в разы бӱльше ги ты хотя із тобов я ся общав бӱльше. '''Ты не хочеш помагати''', я хутів стати полєзным і розумным, старавимся, выправлявимся, но ты ци тролив ня ци што я сердитый дуже уже. Ты усе дись пропадаш уд питання вать прозьбы. Самоє итимолоґічноє чмо. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:09, 23 септембра 2026 (CEST) ::::Не итимолоґічно поступив [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:11, 23 септембра 2026 (CEST) :::::Не слід так приказувати на Вікі. [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 20:52, 23 септембра 2026 (CEST) ::::::из вами невозможно вести діалоґ. Вы кажете за "лицемерность"? (кого вы там '''''ме́ряете''''' лишать ся вопросом удкрытым) самі сьте перше лаяли а пополовали у діскузії. Мене, та и много кого ко сесе читать, ревом бере уд вашых уповісток, вадь сміхом.😭😰❌ [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 23 септембра 2026 (CEST) ::::то не мало модифікованый, то домак инак, сам [[УПРС]] дуже пластичный стандарт, айбо не на тулько, хоть и правды ради @[[Хоснователь:Rue323|Rue323]] тоже пише свойов візійов на УПРС, тай ийпен, ко туй лиш не пише свойов візійов на русинськый язык. Аж гія помуч по ґраматиці то, вы щи до типирь єсте в ґрупі, котра закріплена в вікі. Мы вам поможеме, айбо то, што вы туй чинили, писали, як вы хоть як удказовали, без доли честованя, то ужас. До ужаса придам и ваші статі учинині на сміх, вашоє повожіня, в ґрупі, коли вам вже пару раз казали, што вас выженут. ::::Не хочу озвучовати причину чого вас выгнали, айбо вы ї добрі знаєте. И се не то діло, ож вы могли сьте не знати, бо вам ся казало, вам ся промыкало. И казало ся, годні сьме промкнут щи раз лиш зачніт писати ґраматично правилно(аж не годні прочитати цілый УПРС, та хоть прочитайте список його правил у статі за него у вікі), управте статі, зачніт думати над ними. Бо, аж вы канєшно серьозно настроєні, та вы бы не писали всяку лупину, послі того як Фліпдот вам за се говорив. Просто я не розуміву, як мож быти на тулько несерьозным послі того як ачий минут 20 читав им морали за йсю серьозность. Я розуміву, ож вам гія пруйти йсись путь, айбо, аж про вас ун онь на тулько тяжкый, та ліпше го проходити не у вікіпидії, бо чините біды в вікі тай уже сьте си дуже показили репутацію, миже людми, котрі бы могли вам дуже помочи, у вашуй ціли розвоя русинства. Вам гія ся навчити инак поводити в обществови, старайте ся быти май адекватні, то вам поможе в животі. ::::не розуміву нашто вы ся руняєте на @[[Хоснователь:Rue323|Rue323]], тым булше до того якый быв гуд типирь. Руняйте ся на Фліпдота, Іґоря Керчу, аж то про вас далекый уровинь та хоть на мене вадь на @[[Хоснователь:Halajkovič|Halajkovič]]. ::::Гія помуч — пишіт, то саме вам казав Фліпдот. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 21:03, 23 септембра 2026 (CEST) :::::Я ся не руняв ниґда на Романеску. Нащьот иншого всього я думаву там треба буде поговорити у голосовому форматі а не текстовому і бажано груповым звонком бо штось міні ся туй дуже много чого не сходить. Радый им бы быв кобы сьте ся перестали выйобувати та поговорилисьме так на выходных вот. Я надівуся ош я уже увижу бӱльшӱсть недбалостий свойых (я знаву уни є, но міні ся видить не так много ги кажете вы). У мене є бажання стати ліпшым і выправити што треба так поможіте. Из другого боку, у вас тоже є свої нидолікы. Пиши ми у тґ, то буде із тобов думаву резултативніше ги із другыма такыми [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 21:40, 23 септембра 2026 (CEST) :Вшытка йся бесіда штось закрятала у дуже-дуже непродуктивный бук. Майглавноє, ож туй повно домак неприпустимых личных выпадув и общый тон сеї скоро вшыткої бесіды тото, перебачте, поливаня єден другого помыями, што йде цілком у розріз из [[ВП:5С4|четвертым стовпом Вікіпедії]]. Сесе ся кыват и @[[Хоснователь:Gazdadev|Gazdadev]], и @[[Хоснователь:Rue323|Rue323]]. Обом предлагаву запервоє узяти перерыв уд редаґованя, почитати [[:meta:Dispute_resolution|Dispute resolution]] и, аж ниєден из вас не має дяку дустати санкції за сякоє справованя, перестати хосновати Вікіпедію ги арену про словесні дуелі обзывками. Аж не побируєте дале правити учтиву дискусію з честованьом и без личных выпадув, з добров вольов и припущеньом доброї волі другых редакторув, тото бде просто ескалаційов конфлікта и, повірьте, нияк не уліпшит стан вашых діл. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 21:58, 23 септембра 2026 (CEST) ::Окремым пунктом замічу, ож ниякі споры, конфлікты поза Вікіпедійов (в Телеґрамі, Діскорді, Фейсбукови, Редітови, імейлі вадь ищи даґде) не сут причинами переносити тай продовжовати такі конфлікты сюды, на Вікіпедію. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 22:05, 23 септембра 2026 (CEST) nmc1x4ko7pb1h40kpcjb1e9t8n6ita7 Паралел (чеперушка) 0 25213 170221 2026-09-23T18:35:53Z Halajkovič 33393 Halajkovič переменовав сторінку [[Паралел (чеперушка)]] на [[Османьскый язык]] з вычерянём напрямлїнь: відкинути перейменування 170221 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Османьскый язык]] djc0ixdqeuzyx5q24wybd9gp9e0u1ov Funai 0 25214 170231 2026-09-23T19:26:56Z Rue323 31002 Rue323 переменовав сторінку [[Funai]] на [[Паралела (чеперушка)]]: Нова статя (де-факто, бо началну и так нико у ближый час не удалить) 170231 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Паралела (чеперушка)]] m31asdy6vl2bftnf6sffn6ll7wvv787 170232 170231 2026-09-23T19:33:23Z Rue323 31002 170232 wikitext text/x-wiki #ПЕРЕНАПРАВЛЕННЯ [[Паралела (чеперушка)]]{{Delete}} pg880c2sbagaq9wjrksjvotvrq4zjci 170238 170232 2026-09-23T20:20:07Z Flipdot 23893 Вилучено перенаправлення на [[Паралела (чеперушка)]] 170238 wikitext text/x-wiki {{Db-test}} 96etkiemi84tgxvb59o5wt50jb0g2aq Шаблона:Sic 10 25215 170251 2026-09-23T22:41:44Z Flipdot 23893 Створена сторінка: <!-- Display the first two default parameters unless ? --><onlyinclude>{{safesubst:<noinclude/>#ifeq:{{{1|?}}}|?|{{{2|}}}{{{3|}}}|{{{1|}}}{{{2|}}}}}</onlyinclude><!-- Display options for [sic] linked, unlinked(default) or hidden. --><onlyinclude>{{safesubst:<noinclude/>#if:{{{hide|}}}||&#32;&#91;{{safesubst:<noinclude/>#if:{{{nolink|}}}|sic|[[sic]]}}{{safesubst:<noinclude/>#ifeq:{{{1|}}}|?|?}}&#93;}}</onlyinclude><!-- Categorisation options. Currently... 170251 wikitext text/x-wiki <!-- Display the first two default parameters unless ? --><onlyinclude>{{safesubst:<noinclude/>#ifeq:{{{1|?}}}|?|{{{2|}}}{{{3|}}}|{{{1|}}}{{{2|}}}}}</onlyinclude><!-- Display options for [sic] linked, unlinked(default) or hidden. --><onlyinclude>{{safesubst:<noinclude/>#if:{{{hide|}}}||&#32;&#91;{{safesubst:<noinclude/>#if:{{{nolink|}}}|sic|[[sic]]}}{{safesubst:<noinclude/>#ifeq:{{{1|}}}|?|?}}&#93;}}</onlyinclude><!-- Categorisation options. Currently disabled - see [[Help talk:CS1 errors/Archive 1#%7B%7Bsic%7C?%7Cnolink=y%7D%7D]] --><!--{{safesubst:<noinclude/>#ifeq:{{{1|}}}|?|{{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>NAMESPACE}}||[[Category:Articles containing possible transcription errors]]}}}}--><noinclude> {{documentation}} </noinclude> gnh5gdjgy3u3p4c30zn073lfjoiedy5 Шаблона:Not a typo 10 25216 170252 2026-09-23T22:42:45Z Flipdot 23893 Створена сторінка: <onlyinclude>{{safesubst:<noinclude/>Sic|hide=y|{{{1|}}}|{{{2|}}}}}</onlyinclude> {{Documentation}} 170252 wikitext text/x-wiki <onlyinclude>{{safesubst:<noinclude/>Sic|hide=y|{{{1|}}}|{{{2|}}}}}</onlyinclude> {{Documentation}} qosb0pzgl8l4fhxox84jobi76vo3tan Шаблона:Notatypo 10 25217 170253 2026-09-23T22:43:56Z Flipdot 23893 Напрямлїня на [[Шаблона:Not a typo]] 170253 wikitext text/x-wiki #REDIRECT [[Шаблона:Not a typo]] c2o84wfc9jyxbtzanfvn54owgma4vqm Undertale: New Hope 0 25218 170256 2026-09-24T00:18:07Z Halajkovič 33393 Напрямлїня на [[Undertale Yellow#Undertale: New Hope]] 170256 wikitext text/x-wiki #redirect [[Undertale Yellow#Undertale: New Hope]] pzjkgepd16zuzvq372k0sozvt3kt2d9 Deltarune Yellow 0 25219 170257 2026-09-24T00:18:47Z Halajkovič 33393 Напрямлїня на [[Undertale Yellow#Deltarune Yellow]] 170257 wikitext text/x-wiki #redirect [[Undertale Yellow#Deltarune Yellow]] 7a5vi3beqx7y8pvoof7uinod61abifq Undertale: Red & Yellow 0 25220 170258 2026-09-24T00:19:22Z Halajkovič 33393 Напрямлїня на [[Undertale Yellow#Undertale: Red & Yellow]] 170258 wikitext text/x-wiki #redirect [[Undertale Yellow#Undertale: Red & Yellow]] lttxdk3naqhs04crdh8ddgvjyo2jddl Шаблона:Translit 10 25221 170260 2026-09-24T00:58:49Z Halajkovič 33393 Напрямлїня на [[Шаблона:Транслітерація]] 170260 wikitext text/x-wiki #redirect [[Шаблона:Транслітерація]] 9tsb4rqjkr2ztutywhnmn458peygc7g Шаблона:Транслітерація 10 25222 170261 2026-09-24T00:58:56Z Halajkovič 33393 Створена сторінка: {{#invoke:lang|xlit}}<noinclude> {{documentation}} </noinclude> 170261 wikitext text/x-wiki {{#invoke:lang|xlit}}<noinclude> {{documentation}} </noinclude> ost9wt8p3sokdsxueagwfpvklfjd5r7 Модуль:Lang 828 25223 170262 2026-09-24T01:00:09Z Halajkovič 33393 Створена сторінка: --[=[ Lua support for the {{lang}}, {{langx}}, {{lang-??}}, and {{transliteration}} templates and replacement of various supporting templates. ]=] require('strict'); local getArgs = require ('Module:Arguments').getArgs; local unicode = require ("Module:Unicode data"); -- for is_Latin() and is_rtl() local yesno = require ('Module:Yesno'); local sandbox = (mw.getCurrentFrame():getTitle():match ('/sandbox') or ''); -- when called from a sandbox... 170262 Scribunto text/plain --[=[ Lua support for the {{lang}}, {{langx}}, {{lang-??}}, and {{transliteration}} templates and replacement of various supporting templates. ]=] require('strict'); local getArgs = require ('Module:Arguments').getArgs; local unicode = require ("Module:Unicode data"); -- for is_Latin() and is_rtl() local yesno = require ('Module:Yesno'); local sandbox = (mw.getCurrentFrame():getTitle():match ('/sandbox') or ''); -- when called from a sandbox template or module load sandbox data and sandbox configuration local lang_data = mw.loadData ('Module:Lang/data' .. sandbox); -- language name override and transliteration tool-tip tables local lang_name_table = lang_data.lang_name_table; -- language codes, names, regions, scripts, suppressed scripts local lang_table = lang_data.lang_name_table.lang; local lang_dep_table = lang_data.lang_name_table.lang_dep; local script_table = lang_data.lang_name_table.script; local region_table = lang_data.lang_name_table.region; local variant_table = lang_data.lang_name_table.variant; local suppressed_table = lang_data.lang_name_table.suppressed; local override_table = lang_data.override; local synonym_table = mw.loadData ('Module:Lang/ISO 639 synonyms'); -- ISO 639-2/639-2T code translation to 639-1 code local cfg = mw.loadData ('Module:Lang/configuration' .. sandbox); -- for internationalization local is_latn_data = mw.loadData ('Module:Lang/data/is latn data'); local sizeof_ranges_t = is_latn_data.sizeof_ranges_t; local namespace = mw.title.getCurrentTitle().namespace; -- used for categorization local content_lang = mw.language.getContentLanguage(); local this_wiki_lang_tag = content_lang.code; -- get this wiki's language tag local this_wiki_lang_dir = content_lang:getDir(); -- get this wiki's language direction local initial_style_state; -- set by lang_xx_normal() and lang_xx_italic() local maint_cats = {}; -- maintenance categories go here local maint_msgs = {}; -- and their messages go here --[[--------------------------< M A K E _ E R R O R _ S P A N >-------------------------------------------------- ]] local function make_error_span (template, msg) return table.concat ({'<span style="color:var(--color-error,#d33)">', cfg.misc_text_t.error, ': ', template, msg, '</span>'}) end --[[--------------------------< S U B S T I T U T E >---------------------------------------------------------- Substitutes $1, $2, etc in <message> with data from <data_t>. Returns plain-text substituted string when <data_t> not nil; returns <message> else. ]] local function substitute (message, data_t) return data_t and mw.message.newRawMessage (message, data_t):plain() or message; end --[[--------------------------< M A K E _ E R R O R _ M S G >-------------------------------------------------- Assembles an error message from template name, message text, help link, and error category. ]] local function make_error_msg (msg, args_t, template) local category; local text; -- handle the oddity that is {{langx}} if cfg.templates_t.langxx == template then text = args_t.text or args_t[1]; -- for {{lang-xx}} else text = args_t.text or args_t[2]; -- for {{lang}}, {{langx}}, and {{transliteration}} end if cfg.templates_t.transliteration == template then category = cfg.make_error_msg_t.xlit_err_cat; else category = cfg.make_error_msg_t.lang_err_cat; end local category_link = ((0 == namespace or 10 == namespace) and not args_t.nocat) and substitute ('[[Category:$1]]', {category}) or ''; return substitute ('[$1] <span style="color:var(--color-error,#d33)">$2: &#x7B;{$3}}: $4 ([[:Category:$5|$6]])</span>$7', -- &#x7B; prevents template name from being treated as a template call in certain situations { text or cfg.make_error_msg_t.undefined, cfg.misc_text_t.error, template, msg, category, cfg.misc_text_t.help, category_link }) end --[[--------------------------< P A R A M E T E R _ V A L I D A T E >------------------------------------------ ]] local function parameter_validate (args_t, template) local err_msg = cfg.parameter_validate_t.invalid_param; if cfg.templates_t.lang == template then -- for {{lang}} for param, _ in pairs (args_t) do if not cfg.known_params_t.params_lang_t[param] and -- unique {{lang}} parameters not cfg.known_params_t.common_params_all_t[param] then -- common to all return substitute (err_msg, {param}); -- <param> not found so abandon end end elseif cfg.templates_t.langx == template then -- for {{langx}} for param, _ in pairs (args_t) do if not cfg.known_params_t.params_langx_t[param] and -- unique {{langx}} parameters not cfg.known_params_t.params_x_t[param] and -- common to {{langx}} and {{lang-xx}} not cfg.known_params_t.common_params_all_t[param] then -- common to all return substitute (err_msg, {param}); -- <param> not found so abandon end end elseif cfg.templates_t.langxx == template then -- for {{lang-xx}} for param, _ in pairs (args_t) do if not cfg.known_params_t.params_lang_xx_t[param] and -- unique {{lang-xx}} parameters not cfg.known_params_t.params_x_t[param] and -- common to {{langx}} and {{lang-xx}} not cfg.known_params_t.common_params_all_t[param] then -- common to all return substitute (err_msg, {param}); -- <param> not found so abandon end end end end --[[--------------------------< I S _ S E T >------------------------------------------------------------------ Returns true if argument is set; false otherwise. Argument is 'set' when it exists (not nil) or when it is not an empty string. ]] local function is_set (var) return not (var == nil or var == ''); end --[[--------------------------< I N V E R T _ I T A L I C S >------------------------------------------------- This function attempts to invert the italic markup a args.text by adding/removing leading/trailing italic markup in args.text. Like |italic=unset, |italic=invert disables automatic italic markup. Individual leading/trailing apostrophes are converted to their HTML numeric entity equivalent so that the new italic markup doesn't become bold markup inadvertently. Leading and trailing wiki markup is extracted from args.text into separate table elements. Addition, removal, replacement of wiki markup is handled by a string.gsub() replacement table operating only on these separate elements. In the string.gsub() matching pattern, '.*' matches empty string as well as the three expected wiki markup patterns. This function expects that markup in args.text is complete and correct; if it is not, oddness may result. ]] local function invert_italics (source) local invert_pattern_table = { -- leading/trailing markup add/remove/replace patterns [""]="\'\'", -- empty string becomes italic markup ["\'\'"]="", -- italic markup becomes empty string ["\'\'\'"]="\'\'\'\'\'", -- bold becomes bold italic ["\'\'\'\'\'"]="\'\'\'", -- bold italic become bold }; local seg = {}; source = source:gsub ("%f[\']\'%f[^\']", '&#39;'); -- protect single quote marks from being interpreted as bold markup seg[1] = source:match ('^(\'\'+%f[^\']).+') or ''; -- get leading markup, if any; ignore single quote seg[3] = source:match ('.+(%f[\']\'\'+)$') or ''; -- get trailing markup, if any; ignore single quote if '' ~= seg[1] and '' ~= seg[3] then -- extract the 'text' seg[2] = source:match ('^\'\'+%f[^\'](.+)%f[\']\'\'+$') -- from between leading and trailing markup elseif '' ~= seg[1] then seg[2] = source:match ('^\'\'+%f[^\'](.+)') -- following leading markup elseif '' ~= seg[3] then seg[2] = source:match ('(.+)%f[\']\'\'+$') -- preceding trailing markup else seg[2] = source -- when there is no markup end seg[1] = invert_pattern_table[seg[1]] or seg[1]; -- replace leading markup according to pattern table seg[3] = invert_pattern_table[seg[3]] or seg[3]; -- replace leading markup according to pattern table return table.concat (seg); -- put it all back together and done end --[[--------------------------< V A L I D A T E _ I T A L I C >------------------------------------------------ Validates |italic= or |italics= assigned values. When |italic= is set and has an acceptable assigned value, return the matching CSS font-style property value or, for the special case 'default', return nil. When |italic= is not set, or has an unacceptable assigned value, return nil and a nil error message. When both |italic= and |italics= are set, returns nil and a 'conflicting' error message. The return value nil causes the calling lang, lang_xx, or xlit function to set args.italic according to the template's defined default ('inherit' for {{lang}}, 'inherit' or 'italic' for {{lang-??}} depending on the individual template's requirements, 'italic' for {{transliteration}}) or to the value appropriate to |script=, if set ({{lang}} and {{lang-??}} only). Accepted values and the values that this function returns are are: nil - when |italic= absent or not set; returns nil default - for completeness, should rarely if ever be used; returns nil yes - force args.text to be rendered in italic font; returns 'italic' no - force args.text to be rendered in normal font; returns 'normal' unset - disables font control so that font-style applied to text is dictated by markup inside or outside the template; returns 'inherit' invert - disables font control so that font-style applied to text is dictated by markup outside or inverted inside the template; returns 'invert' ]] local function validate_italic (args) local properties = {[cfg.keywords_t.affirmative] = 'italic', [cfg.keywords_t.negative] = 'normal', [cfg.keywords_t.unset] = 'inherit', [cfg.keywords_t.invert] = 'invert', [cfg.keywords_t.default] = nil}; local count = 0 for _, arg in pairs {'italic', 'italics', 'i'} do if args[arg] then count = count + 1 end end if count > 1 then -- return nil and an error message if more than one is set return nil, cfg.validate_italic_t.multi_italic; end return properties[args.italic or args.italics or args.i], nil; -- return an appropriate value and a nil error message end --[=[--------------------------< V A L I D A T E _ C A T _ A R G S >---------------------------------------------------------- Default behavior of the {{lang}} and {{lang-??}} templates is to add categorization when the templates are used in main space. This default functionality may be suppressed by setting |nocat=yes or |cat=no. This function selects one of these two parameters to control categorization. Because having two parameters with 'opposite' names and 'opposite' values is confusing, this function accepts only affirmative values for |nocat= and only negative values for |cat=; in both cases the 'other' sense (and non-sense) is not accepted and the parameter is treated as if it were not set in the template. Sets args.nocat to true if categorization is to be turned off; to nil if the default behavior should apply. Accepted values for |nocat= are the text strings: 'yes', 'y', 'true', 't', on, '1' -- [[Module:Yesno]] returns logical true for all of these; false or nil else for |cat= 'no', 'n', 'false', 'f', 'off', '0' -- [[Module:Yesno]] returns logical false for all of these; true or nil else ]=] local function validate_cat_args (args) if not (args.nocat or args.cat) then -- both are nil, so categorize return; end if false == yesno (args.cat) or true == yesno (args.nocat) then args.nocat = true; -- set to true when args.nocat is affirmative; nil else (as if the parameter were not set in the template) else -- args.nocat is the parameter actually used. args.nocat = nil; end end --[[--------------------------< I N _ A R R A Y >-------------------------------------------------------------- Whether needle is in haystack. ]] local function in_array (needle, haystack) if needle == nil then return false; end for n,v in ipairs (haystack) do if v == needle then return n; end end return false; end --[[--------------------------< F O R M A T _ I E T F _ T A G >------------------------------------------------ Prettify IETF tags to use recommended subtag formats: code: lower case script: sentence case region: upper case variant: lower case private: lower case prefixed with -x- ]] local function format_ietf_tag (code, script, region, variant, private) local out = {}; if is_set (private) then return table.concat ({code:lower(), 'x', private:lower()}, '-'); -- if private, all other tags ignored end table.insert (out, code:lower()); if is_set (script) then script = script:lower():gsub ('^%a', string.upper); table.insert (out, script); end if is_set (region) then table.insert (out, region:upper()); end if is_set (variant) then table.insert (out, variant:lower()); end return table.concat (out, '-'); end --[[--------------------------< G E T _ I E T F _ P A R T S >-------------------------------------------------- Extracts and returns IETF language tag parts: primary language subtag (required) - 2 or 3 character IANA language code script subtag - four character IANA script code region subtag - two-letter or three digit IANA region code variant subtag - four digit or 5-8 alnum variant code; only one variant subtag supported private subtag - x- followed by 1-8 alnum private code; only supported with the primary language tag in any one of these forms lang lang-variant lang-script lang-script-variant lang-region lang-region-variant lang-script-region lang-script-region-variant lang-x-private each of lang, script, region, variant, and private, when used, must be valid. Languages with both two- and three-character code synonyms are promoted to the two-character synonym because the IANA registry file omits the synonymous three-character code; we cannot depend on browsers understanding the synonymous three-character codes in the lang= attribute. For {{lang-??}} templates, the parameters |script=, |region=, and |variant= are supported (not supported in {{lang}} because those parameters are superfluous to the IETF subtags in |code=). Returns six values; all lower case. Valid parts are returned as themselves; omitted parts are returned as empty strings, invalid parts are returned as nil; the sixth returned item is an error message (if an error detected) or nil. See http://www.rfc-editor.org/rfc/bcp/bcp47.txt section 2.1. ]] local function get_ietf_parts (source, args_script, args_region, args_variant) local code, script, region, variant, private; -- IETF tag parts if not is_set (source) then return nil, nil, nil, nil, nil, cfg.get_ietf_parts_t.missing_lang_tag; end local pattern = { -- table of tables holding acceptable IETF tag patterns and short names of the IETF part captured by the pattern {'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)%-(%d%d%d%d)$', 's', 'r', 'v'}, -- 1 - ll-Ssss-RR-variant (where variant is 4 digits) {'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)%-(%d%d%d%d)$', 's', 'r', 'v'}, -- 2 - ll-Ssss-DDD-variant (where region is 3 digits; variant is 4 digits) {'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'r', 'v'}, -- 3 - ll-Ssss-RR-variant (where variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'r', 'v'}, -- 4 - ll-Ssss-DDD-variant (where region is 3 digits; variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d%d)$', 's', 'v'}, -- 5 - ll-Ssss-variant (where variant is 4 digits) {'^(%a%a%a?)%-(%a%a%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 's', 'v'}, -- 6 - ll-Ssss-variant (where variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%a%a)%-(%d%d%d%d)$', 'r', 'v'}, -- 7 - ll-RR-variant (where variant is 4 digits) {'^(%a%a%a?)%-(%d%d%d)%-(%d%d%d%d)$', 'r', 'v'}, -- 8 - ll-DDD-variant (where region is 3 digits; variant is 4 digits) {'^(%a%a%a?)%-(%a%a)%-(%w%w%w%w%w%w?%w?%w?)$', 'r', 'v'}, -- 9 - ll-RR-variant (where variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%d%d%d)%-(%w%w%w%w%w%w?%w?%w?)$', 'r', 'v'}, -- 10 - ll-DDD-variant (where region is 3 digits; variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%d%d%d%d)$', 'v'}, -- 11 - ll-variant (where variant is 4 digits) {'^(%a%a%a?)%-(%w%w%w%w%w%w?%w?%w?)$', 'v'}, -- 12 - ll-variant (where variant is 5-8 alnum characters) {'^(%a%a%a?)%-(%a%a%a%a)%-(%a%a)$', 's', 'r'}, -- 13 - ll-Ssss-RR {'^(%a%a%a?)%-(%a%a%a%a)%-(%d%d%d)$', 's', 'r'}, -- 14 - ll-Ssss-DDD (region is 3 digits) {'^(%a%a%a?)%-(%a%a%a%a)$', 's'}, -- 15 - ll-Ssss {'^(%a%a%a?)%-(%a%a)$', 'r'}, -- 16 - ll-RR {'^(%a%a%a?)%-(%d%d%d)$', 'r'}, -- 17 - ll-DDD (region is 3 digits) {'^(%a%a%a?)$'}, -- 18 - ll {'^(%a%a%a?)%-x%-(%w%w?%w?%w?%w?%w?%w?%w?)$', 'p'}, -- 19 - ll-x-pppppppp (private is 1-8 alnum characters) } local t = {}; -- table of captures; serves as a translator between captured IETF tag parts and named variables for i, v in ipairs (pattern) do -- spin through the pattern table looking for a match local c1, c2, c3, c4; -- captures in the 'pattern' from the pattern table go here c1, c2, c3, c4 = source:match (pattern[i][1]); -- one or more captures set if source matches pattern[i]) if c1 then -- c1 always set on match code = c1; -- first capture is always code t = { [pattern[i][2] or 'x'] = c2, -- fill the table of captures with the rest of the captures [pattern[i][3] or 'x'] = c3, -- take index names from pattern table and assign sequential captures [pattern[i][4] or 'x'] = c4, -- index name may be nil in pattern[i] table so "or 'x'" spoofs a name for this index in this table }; script = t.s or ''; -- translate table contents to named variables; region = t.r or ''; -- absent table entries are nil so set named IETF parts to empty string for concatenation variant= t.v or ''; private = t.p or ''; break; -- and done end end if not code then return nil, nil, nil, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_tag, {source}); -- don't know what we got but it is malformed end code = code:lower(); -- ensure that we use and return lower case version of this if not (override_table[code] or lang_table[code] or synonym_table[code] or lang_dep_table[code]) then return nil, nil, nil, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_code, {code}); -- invalid language code, don't know about the others (don't care?) end if synonym_table[code] then -- if 639-2/639-2T code has a 639-1 synonym table.insert (maint_cats, substitute (cfg.get_ietf_parts_t.maint_promo_cat, {code})); table.insert (maint_msgs, substitute (cfg.get_ietf_parts_t.maint_promo_msg, {code, synonym_table[code]})); code = synonym_table[code]; -- use the synonym end if is_set (script) then if is_set (args_script) then return code, nil, nil, nil, nil, cfg.get_ietf_parts_t.redundant_scr; -- both code with script and |script= not allowed end else script = args_script or ''; -- use args.script if provided end if is_set (script) then script = script:lower(); -- ensure that we use and return lower case version of this if not script_table[script] then return code, nil, nil, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_scr_code, {script, code}); -- language code OK, invalid script, don't know about the others (don't care?) end end if suppressed_table[script] then -- ensure that code-script does not use a suppressed script if in_array (code, suppressed_table[script]) then return code, nil, nil, nil, nil, substitute (cfg.get_ietf_parts_t.script_code, {script, code}); -- language code OK, script is suppressed for this code end end if is_set (region) then if is_set (args_region) then return code, nil, nil, nil, nil, cfg.get_ietf_parts_t.redundant_reg; -- both code with region and |region= not allowed end else region = args_region or ''; -- use args.region if provided end if is_set (region) then region = region:lower(); -- ensure that we use and return lower case version of this if not region_table[region] then return code, script, nil, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_reg_code, {region, code}); end end if is_set (variant) then if is_set (args_variant) then return code, nil, nil, nil, nil, cfg.get_ietf_parts_t.redundant_var; -- both code with variant and |variant= not allowed end else variant = args_variant or ''; -- use args.variant if provided end if is_set (variant) then variant = variant:lower(); -- ensure that we use and return lower case version of this if not variant_table[variant] then -- make sure variant is valid return code, script, region, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_var, {variant}); end -- does this duplicate/replace tests in lang() and lang_xx()? if is_set (script) then -- if script set it must be part of the 'prefix' if not in_array (table.concat ({code, '-', script}), variant_table[variant]['prefixes']) then return code, script, region, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_var_code_scr, {variant, code, script}); end elseif is_set (region) then -- if region set, there are some prefixes that require lang code and region (en-CA-newfound) if not in_array (code, variant_table[variant]['prefixes']) then -- first see if lang code is all that's required (en-oxendict though en-GB-oxendict is preferred) if not in_array (table.concat ({code, '-', region}), variant_table[variant]['prefixes']) then -- now try for lang code and region (en-CA-newfound) return code, script, region, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_var_code_reg, {variant, code, region}); end end else -- cheap way to determine if there are prefixes; fonipa and others don't have prefixes; # operator always returns 0 if variant_table[variant]['prefixes'][1] and not in_array (code, variant_table[variant]['prefixes']) then return code, script, region, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_var_code, {variant, code}); end end end if is_set (private) then private = private:lower(); -- ensure that we use and return lower case version of this if not override_table[table.concat ({code, '-x-', private})] then -- make sure private tag is valid; note that index return code, script, region, nil, nil, substitute (cfg.get_ietf_parts_t.unrecog_pri, {private}); end end return code, script, region, variant, private, nil; -- return the good bits; make sure that msg is nil end --[=[-------------------------< M A K E _ W I K I L I N K >---------------------------------------------------- Makes a wikilink; when both link and display text is provided, returns a wikilink in the form [[L|D]]; if only link is provided, returns a wikilink in the form [[L]]; if neither are provided or link is omitted, returns an empty string. ]=] local function make_wikilink (link, display) if is_set (link) then if is_set (display) then return table.concat ({'[[', link, '|', display, ']]'}); else return table.concat ({'[[', link, ']]'}); end else return ''; end end --[[--------------------------< D I V _ M A R K U P _ A D D >-------------------------------------------------- Adds <i> and </i> tags to list-item text or to implied <p>..</p> text. Mixed not supported. ]] local function div_markup_add (text, style) if text:find ('^\n[%*:;#]') then -- look for list markup; list markup must begin at start of text if 'italic' == style then return text:gsub ('(\n[%*:;#]+)([^\n]+)', '%1<i>%2</i>'); -- insert italic markup at each list item else return text; end end if text:find ('\n+') then -- look for any number of \n characters in text text = text:gsub ('([^\n])\n([^\n])', '%1 %2'); -- replace single newline characters with a space character which mimics MediaWiki if 'italic' == style then text = text:gsub('[^\n]+', '<p><i>%1</i></p>'); -- insert p and italic markup tags at each implied p (two or more consecutive '\n\n' sequences) else text = text:gsub ('[^\n]+', '<p>%1</p>'); -- insert p markup at each implied p text = text:gsub ('\n', ''); -- strip newline characters end end return text; end --[[--------------------------< T I T L E _ W R A P P E R _ M A K E >------------------------------------------ Makes a <span title="<title text>"><content_text></span> or <div title="<title text>"><content_text></div> where <title text> is in the tool-tip in the wiki's local language and <content_text> is non-local-language text in HTML markup. This because the lang= attribute applies to the content of its enclosing tag. <tag> holds a string 'div' or 'span' used to choose the correct wrapping tag. ]] local function title_wrapper_make (title_text, content_text, tag) local wrapper_t = {}; table.insert (wrapper_t, table.concat ({'<', tag})); -- open opening wrapper tag table.insert (wrapper_t, ' title=\"'); -- begin title attribute table.insert (wrapper_t, title_text); -- add <title_text> table.insert (wrapper_t, '\">'); -- end title attribute and close opening wrapper tag table.insert (wrapper_t, content_text); -- add <content_text> table.insert (wrapper_t, table.concat ({'</', tag, '>'})); -- add closing wrapper tag return table.concat (wrapper_t); -- make a big string and done end --[[--------------------------< M A K E _ T E X T _ H T M L >-------------------------------------------------- Add the HTML markup to text according to the type of content that it is: <span> or <i> tags for inline content or <div> tags for block content The lang= attribute also applies to the content of the tag where it is placed so this is wrong because 'Spanish language text' is English: <i lang="es" title="Spanish language text">casa</i> should be: <span title="Spanish language text"><i lang="es">casa</i></span> or for <div>...</div>: <div title="Spanish language text"><div lang="es"><spanish-language-text></div></div> ]] local function make_text_html (code, text, tag, rtl, style, size, language) local html_t = {}; local style_added = ''; local wrapper_tag = tag; -- <tag> gets modified so save a copy for use when/if we create a wrapper span or div if text:match ('^%*') then table.insert (html_t, '&#42;'); -- move proto language text prefix outside of italic markup if any; use numeric entity because plain splat confuses MediaWiki text = text:gsub ('^%*', ''); -- remove the splat from the text end if 'span' == tag then -- default HTML tag for inline content if 'italic' == style then -- but if italic tag = 'i'; -- change to <i> tags end else -- must be div so go text = div_markup_add (text, style); -- handle implied <p>, implied <p> with <i>, and list markup (*;:#) with <i> end table.insert (html_t, table.concat ({'<', tag})); -- open the <i>, <span>, or <div> HTML tag code = code:gsub ('%-x%-.*', ''); -- strip private use subtag from code tag because meaningless outside of Wikipedia table.insert (html_t, table.concat ({' lang="', code, '\"'})); -- add language attribute if (rtl or unicode.is_rtl(text)) and ('ltr' == this_wiki_lang_dir) then -- text is right-to-left on a left-to-right wiki table.insert (html_t, ' dir="rtl"'); -- add direction attribute for right-to-left languages elseif not (rtl or unicode.is_rtl(text)) and ('rtl' == this_wiki_lang_dir) then -- text is left-to-right on a right-to-left wiki table.insert (html_t, ' dir="ltr"'); -- add direction attribute for left-to-right languages end if 'normal' == style then -- when |italic=no table.insert (html_t, ' style=\"font-style: normal;'); -- override external markup, if any style_added = '\"'; -- remember that style attribute added and is not yet closed end if is_set (size) then -- when |size=<something> if is_set (style_added) then table.insert (html_t, table.concat ({' font-size: ', size, ';'})); -- add when style attribute already inserted else table.insert (html_t, table.concat ({' style=\"font-size: ', size, ';'})); -- create style attribute style_added = '\"'; -- remember that style attribute added and is not yet closed end end table.insert (html_t, table.concat ({style_added, '>'})); -- close the opening HTML tag table.insert (html_t, text); -- insert the text table.insert (html_t, table.concat ({'</', tag, '>'})); -- close the 'text' <i>, <span>, or <div> HTML tag if is_set (language) then -- create a <title_text> string for the title= attribute in a wrapper span or div local title_text; if 'zxx' == code then -- special case for this tag 'no linguistic content' title_text = substitute ('$1 $2', {language, cfg.make_text_html_t.zxx}); -- not a language so don't use 'language' in title text elseif mw.ustring.find (language, 'languages', 1, true) then title_text = substitute ('$1 $2', {language, cfg.make_text_html_t.collective}); -- for collective languages else title_text = substitute ('$1-$2', {language, cfg.make_text_html_t.individual}); -- for individual languages end return title_wrapper_make (title_text, table.concat (html_t), wrapper_tag); else return table.concat (html_t); end end --[=[-------------------------< M A K E _ C A T E G O R Y >---------------------------------------------------- For individual language, <language>, returns: [[Category:Articles containing <language>-language text]] For English: [[Category:Articles containing explicitly cited English-language text]] For ISO 639-2 collective languages (and for 639-1 bh): [[Category:Articles with text in <language> languages]] ]=] local function make_category (code, language_name, nocat, name_get) if ((0 ~= namespace) or nocat) and not name_get then -- only categorize in article space return ''; -- return empty string for concatenation end if mw.ustring.find (language_name, 'languages', 1, true) then return substitute ('[[$1 $2]]', {cfg.make_category_t.collective_cat, language_name}); end if this_wiki_lang_tag == code then return substitute ('[[$1 $2 $3-$4]]', { -- unique category name for the local language cfg.make_category_t.cat_prefix, cfg.make_category_t.explicit_cat, language_name, cfg.make_category_t.cat_postfix, }); else return substitute ('[[$1 $2-$3]]', { -- category for individual languages cfg.make_category_t.cat_prefix, language_name, cfg.make_category_t.cat_postfix, }); end end --[[--------------------------< M A K E _ T R A N S L I T >---------------------------------------------------- Return translit <i lang=xx-Latn>...</i> where xx is the language code; else return empty string. The value |script= is not used in {{transliteration}} for this purpose; instead it uses |code. Because language scripts are listed in the {{transliteration}} switches they are included in the data tables. The script parameter is introduced at {{Language with name and transliteration}}. If |script= is set, this function uses it in preference to code. To avoid confusion, in this module and the templates that use it, the transliteration script parameter is renamed to be |translit-script= (in this function, tscript). This function is used by both lang_xx() and xlit() lang_xx() always provides code, language_name, and translit; may provide tscript; never provides style xlit() always provides language_name, translit, and one of code or tscript, never both; always provides style For {{transliteration}}, style only applies when a language code is provided. ]] local function make_translit (code, language_name, translit, std, tscript, style, engvar) local title_t = lang_data.translit_title_table; -- table of transliteration standards and the language codes and scripts that apply to those standards local title_text = ''; -- tool tip text for title= attribute std = std and std:lower(); -- lower case for table indexing if not is_set (std) and not is_set (tscript) then -- when neither standard nor script specified title_text = language_name; -- write a generic tool tip if not mw.ustring.find (language_name, 'languages', 1, true) then -- collective language names (plural 'languages' is part of the name) title_text = substitute ('$1-$2', {title_text, cfg.misc_text_t.language}); -- skip this text (individual and macro languages only) end title_text = substitute ('$1 $2', {title_text, mw.ustring.lower (cfg.engvar_t[engvar]['romanisz_lc'])}); -- finish the tool tip; use romanization when neither script nor standard supplied elseif is_set (std) and is_set (tscript) then -- when both are specified if title_t[std] then -- and if standard is legitimate if title_t[std][tscript] then -- and if script for that standard is legitimate if script_table[tscript] then title_text = substitute ('$1$2 ($3 $4) $5', { -- add the appropriate text to the tool tip title_text, title_t[std][tscript:lower()], script_table[tscript], cfg.make_translit_t.script, cfg.make_translit_t.transliteration, }); else title_text = title_text .. title_t[std]['default']; -- use the default if script not in std table; TODO: maint cat? error message because script not found for this standard? end else title_text = title_text .. title_t[std]['default']; -- use the default if script not in std table; TODO: maint cat? error message because script not found for this standard? end else return ''; -- invalid standard, setup for error message end elseif is_set (std) then -- translit-script not set, use language code if not title_t[std] then return ''; end -- invalid standard, setup for error message if title_t[std][code] then -- if language code is in the table (xlit may not provide a language code) local fmt_str = '$1$2 ($3 $4) $5'; -- generic format string for tool tip if language_name:match ('languages') then fmt_str = '$1$2 ($3) $5'; -- format string for collective languages tool tip end title_text = substitute (fmt_str, { -- add the appropriate text to the tool tip title_text, title_t[std][code:lower()], language_name, cfg.misc_text_t.language, cfg.make_translit_t.transliteration, }); else -- code doesn't match title_text = title_text .. title_t[std]['default']; -- so use the standard's default end else -- here if translit-script set but translit-std not set if title_t['no_std'][tscript] then title_text = title_text .. title_t['no_std'][tscript]; -- use translit-script if set elseif title_t['no_std'][code] then title_text = title_text .. title_t['no_std'][code]; -- use language code else if is_set (tscript) then title_text = substitute ('$1$2-$3 $4', { -- write a script tool tip title_text, language_name, cfg.make_translit_t.script, cfg.make_translit_t.transliteration, }); elseif is_set (code) then if not mw.ustring.find (language_name, 'languages', 1, true) then -- collective language names (plural 'languages' is part of the name) title_text = substitute ('$1-$2', { -- skip this text (individual and macro languages only) title_text, cfg.misc_text_t.language, }); end title_text = substitute ('$1 $2', { -- finish the tool tip title_text, cfg.make_translit_t.transliteration, }); else title_text = substitute ('$1 $2', { -- generic tool tip (can we ever get here?) title_text, cfg.make_translit_t.transliteration, }); end end end local tag if is_set (code) then -- when a language code is provided (always with {{lang-??}} templates, not always with {{transliteration}}) code = code:match ('^(%a%a%a?)'); -- strip all subtags leaving only the language subtag if not style then -- nil for the default italic style tag = '<i lang="%s-Latn">%s</i>' else tag = '<span style="font-style: %s" lang="%s-Latn">%s</span>' -- non-standard style, construct a span tag for it tag = string.format(tag, style, "%s", "%s") end tag = string.format(tag, code, "%s") else tag = '<span>%s</span>' -- when no language code: no lang= attribute, not italic ({{transliteration}} only) end tag = string.format(tag, translit) -- add the translit text if '' == title_text then -- when there is no need for a tool-tip return tag; -- done else title_text = cfg.engvar_sel_t.gb == engvar and title_text:gsub ('([Rr]omani)z', '%1s') or title_text; -- gb eng when engvar specifies gb eng; us eng else return title_wrapper_make (title_text, tag, 'span'); -- wrap with a tool-tip span and done end end --[[--------------------------< V A L I D A T E _ T E X T >---------------------------------------------------- This function checks the content of args.text and returns empty string if nothing is amiss else it returns an error message. The tests are for empty or missing text and for improper or disallowed use of apostrophe markup. Italic rendering is controlled by the |italic= template parameter so italic markup should never appear in args.text either as ''itself'' or as '''''bold italic''''' unless |italic=unset or |italic=invert. ]] local function validate_text (template, args) if not is_set (args.text) then return make_error_msg (cfg.validate_text_t.no_text, args, template); end if args.text:find ("%f[\']\'\'\'\'%f[^\']") or args.text:find ("\'\'\'\'\'[\']+") then -- because we're looking, look for 4 appostrophes or 6+ appostrophes return make_error_msg (cfg.validate_text_t.malformed_markup, args, template); end local style = args.italic; if (cfg.keywords_t.unset ~= style) and (cfg.keywords_t.invert ~=style) then if args.text:find ("%f[\']\'\'%f[^\']") or args.text:find ("%f[\']\'\'\'\'\'%f[^\']") then -- italic but not bold, or bold italic return make_error_msg (cfg.validate_text_t.italic_markup, args, template); end end end --[[--------------------------< R E N D E R _ M A I N T >------------------------------------------------------ Render mainenance messages and categories. ]] local function render_maint (nocat) local maint = {}; if 0 < #maint_msgs then -- when there are maintenance messages table.insert (maint, table.concat ({'<span class="lang-comment" style="font-style: normal; display: none; color: #33aa33; margin-left: 0.3em;">'})); -- opening <span> tag for _, msg in ipairs (maint_msgs) do table.insert (maint, table.concat ({msg, ' '})); -- add message strings end table.insert (maint, '</span>'); -- close the span end if (0 < #maint_cats) and (0 == namespace) and not nocat then -- when there are maintenance categories; article namespace only for _, cat in ipairs (maint_cats) do table.insert (maint, table.concat ({'[[Category:', cat, ']]'})); -- format and add the categories end end return table.concat (maint); end --[[--------------------------< P R O T O _ P R E F I X >------------------------------------------------------ For proto languages, text is prefixed with a splat. We do that here as a flag for make_text_html() so that a splat will be rendered outside of italic markup (if used). If the first character in text here is already a splat, we do nothing. proto_param is boolean or nil; true adds splat prefix regardless of language name; false removes and inhibits regardless of language name; nil does nothing; presumes that the value in text is correct but removes extra splac. ]] local function proto_prefix (text, language_name, proto_param) if false == proto_param then -- when forced by |proto=no return text:gsub ('^%**', ''); -- return text without splat prefix regardless of language name or existing splat prefix in text elseif (language_name:find ('^Proto%-') or (true == proto_param)) then -- language is a proto or forced by |proto=yes return text:gsub ('^%**', '*'); -- prefix proto-language text with a splat; also removes duplicate prefixing splats end return text:gsub ('^%*+', '*'); -- return text unmolested except multiple splats reduced to one splat end --[[--------------------------< H A S _ P O E M _ T A G >------------------------------------------------------ Looks for a poem strip marker in text; returns true when found; false else. Auto-italic detection disabled when text has poem stripmarker because it is not possible for this code to know the content that will replace the stripmarker. ]] local function has_poem_tag (text) return text:find ('\127[^\127]*UNIQ%-%-poem%-[%a%d]+%-QINU[^\127]*\127') and true or false; end --[[--------------------------< H T M L _ T A G _ S E L E C T >------------------------------------------------ Inspects content of and selectively trims text. Returns text and the name of an appropriate HTML tag for text. If text contains: \n\n text has implied <p>..</p> tags - trim leading and trailing whitespace and return If text begins with list markup: \n* unordered \n; definition \n: definition \n# ordered trim all leading whitespace except \n and trim all trailing whitespace If text contains <poem>...</poem> stripmarker, return text unmodified and choose <div>..</div> tags because the stripmarker is replaced with text wrapped in <div>..</div> tags. If the text contains any actual <div>...</div> tags, then it's again returned unmodified and <div>...</div> tags are used to wrap it, to prevent div/span inversion. ]] local function html_tag_select (text) local tag; if has_poem_tag (text) then -- contains poem stripmarker (we can't know the content of that) tag = 'div'; -- poem replacement is in div tags so lang must use div tags elseif text:find ('<div') then -- reductive; if the text contains a div tag, we must use div tags tag = 'div'; elseif mw.text.trim (text):find ('\n\n+') then -- contains implied p tags text = mw.text.trim (text); -- trim leading and trailing whitespace characters tag = 'div'; -- must be div because span may not contain p tags (added later by MediaWiki); poem replacement is in div tags elseif text:find ('\n[%*:;%#]') then -- if text has list markup text = text:gsub ('^[\t\r\f ]*', ''):gsub ('%s*$', ''); -- trim all whitespace except leading newline character '\n' tag = 'div'; -- must be div because span may not contain ul, dd, dl, ol tags (added later by MediaWiki) else text = mw.text.trim (text); -- plain text tag = 'span'; -- so span is fine end return text, tag; end --[[--------------------------< V A L I D A T E _ P R O T O >-------------------------------------------------- Validates value assigned to |proto=; permitted values are yes and no; yes returns as true, no returns as false, empty string (or parameter omitted) returns as nil; any other value returns nil with <proto_param> as second return value for use in error message. ]] local function validate_proto (proto_param) if cfg.keywords_t.affirmative == proto_param then return true; elseif cfg.keywords_t.negative == proto_param then return false; elseif is_set (proto_param) then return nil, proto_param; -- |proto= something other than 'yes' or 'no' else return nil; -- missing or empty end end --[[--------------------------< L A N G U A G E _ N A M E _ G E T >-------------------------------------------- Common function to return language name from the data set according to IETF tag. Returns language name if found in data tables; nil else. ]] local function language_name_get (ietf, code, cat) ietf = ietf:lower(); -- ietf:lower() because format_ietf_tag() returns mixed case local name; -- remains nil if not found if override_table[ietf] then -- look for whole IETF tag in override table name = override_table[ietf]; elseif override_table[code] then -- not there so try basic language tag name = override_table[code]; elseif lang_table[code] then -- shift to IANA active tag/name table name = lang_table[code]; elseif lang_dep_table[code] then -- try the IANA deprecated tag/name table name = lang_dep_table[code]; end if lang_dep_table[code] and cat then -- because deprecated code may have been overridden to en.wiki preferred name table.insert (maint_cats, substitute (cfg.language_name_get_t.deprecated_cat, {code})); table.insert (maint_msgs, substitute (cfg.language_name_get_t.deprecated_msg, {code})); end return name; -- name from data tables or nil end --[[--------------------------< T E X T _ S C R I P T _ M A T C H _ T E S T >---------------------------------- IETF script subtag should match the script of the <text>. This module does not attempt to know all scripts and what they look like. It does know what Latn script looks like so when <text> is written using other than the Latn script, the IETF script subtag, if present, should not be Latn. Conversely, when <text> is written using the Latn script, the IETF script subtag, if present, should be Latn. For the purposes of this test, Latf (Fraktur) and Latg (Gaelic) are considered to be equivalent to Latn because unicode treats these two scripts as font-specific variants of Latn. Returns an error message when mismatch detected; nil else. ]] local function text_script_match_test (script, is_latn_text, pos, char) local scripts_t = {['latf'] = true, ['latg'] = true, ['latn'] = true}; -- unicode 'latn' scripts; 'latf' and 'latg' are font variants so there are no Fraktur or Gaelic codepoints if is_set (script) then -- don't bother with the rest of this if <script> is nil or empty string script = script:lower(); -- lower case to index into <scripts_t> if is_latn_text then -- when text is wholly Latn script if not scripts_t[script] then -- but a non-Latn script is specified return cfg.text_script_match_test_t.latn_txt_mismatch; -- emit an error message end else -- when text is not wholly Latn script if scripts_t[script] then -- but a Latn script is specified return substitute (cfg.text_script_match_test_t.latn_scr_mismatch, {pos, char}); -- emit an error message with position of first offending character end end end end --[[--------------------------< B I N A R Y _ S E A R C H >--------------------------------------------------- conducts a binary search of <ranges_t> for a sub-range that holds <target>. returns boolean true if a sub-range holding <target> is found; boolean false else. ]] local function binary_search (target, ranges_t) local idx_bot = 1; -- initialize to index of first key local idx_top = sizeof_ranges_t; -- initialize to index of last key (number of keys) if (target < ranges_t[idx_bot][1]) or (target > ranges_t[idx_top][2]) then -- invalid; target out of range return; -- abandon end local idx_mid; -- calculated index of range midway between top index and bottom index local flag = false; -- flag to tell us when we've evaluated last (highest) range in <ranges_t> while 1 do idx_mid = math.ceil ((idx_bot + idx_top) / 2); -- get the mid-point in the <ranges_t> sequence if (target >= ranges_t[idx_mid][1]) and (target <= ranges_t[idx_mid][2]) then -- indexed range low value <= target <= indexed range high value return true; -- we found the range that holds the <target> character; return true elseif (target > ranges_t[idx_mid][2]) then -- is <target> > indexed range high value? idx_bot = idx_mid; -- adjust <idx_bot> up else -- here when <target> less than indexed range low value idx_top = idx_mid - 1; -- adjust <idx_top> down end if flag then break; -- here when we just evaluated the last range and <target> not found end if not flag and (idx_bot == idx_top) then -- set true just before we evaluate the last (highest) range in <ranges_t> flag = true; end end end --[[--------------------------< I S _ L A T I N >-------------------------------------------------------------- compare <text> as codepoints to lists of known codepoints accepted as Latn script returns boolean true and modified <text> when <text> is wrapped in accept-as-written markup returns boolean true and <text> when codepoint is known returns boolean false, <text>, non-Latn codepoint position in <text> (left to right), and the codepoint character when codepoint is not known TODO: when text has accept-as-written markup, return a non-boolean value to indicate that <text> is not wholly latn script? Use that return value to create non-Latn HTML lang= attribute because <text> isn't really latn so lang=und (undetermined)? or instead, omit the -Latn subtag? (without -Latn need to force |italic=yes) ]] local function is_latin (text, tag) local count; text, count = text:gsub ('^%(%((.+)%)%)$', '%1'); -- remove accept-as-written markup if present if 0 ~= count then return true, text; -- markup present so assume that <text> is Latn-script end local pos = 0; -- position counter for error messaging for codepoint in mw.ustring.gcodepoint (text) do -- fetch each code point pos = pos + 1; -- bump the position counter if not is_latn_data.singles_t[codepoint] and -- codepoint not found in the singles list? not binary_search (codepoint, is_latn_data.ranges_t) and -- codepoint not a member of a listed range? not (tag and is_latn_data.specials_t[codepoint] and is_latn_data.specials_t[codepoint][tag]) then -- not a language-specific codepoint? return false, text, pos, mw.ustring.char (codepoint); -- codepoint not known; return false with codepoint position and character representation end end return true, text; -- is known; return <text> end --[[--------------------------< _ L A N G >-------------------------------------------------------------------- Entry point for {{lang}}. There should be no reason to set parameters in the {{lang}} {{#invoke:}} <includeonly>{{#invoke:lang|lang}}</includeonly> Parameters are received from the template's frame (parent frame). ]] local function _lang (args) local out = {}; local language_name; -- used to make category names local category_name; -- same as language_name except that it retains any parenthetical disambiguators (if any) from the data set local subtags = {}; -- IETF subtags script, region, variant, and private local code; -- the language code local msg; -- for error messages local tag = 'span'; -- initial value for make_text_html() local template = args.template or cfg.templates_t.lang; maint_cats = {}; -- initialize because when this module required into another module, these only declared once so only initialzed once maint_msgs = {}; validate_cat_args (args); -- determine if categorization should be suppressed if args[1] and args.code then return make_error_msg (substitute (cfg.lang_t.conflict_n_param, {'1', cfg.lang_t.conflict_n_param_types.code}), args, template); else args.code = args[1] or args.code; -- prefer args.code end if args[2] and args.text then return make_error_msg (substitute (cfg.lang_t.conflict_n_param, {'2', cfg.lang_t.conflict_n_param_types.text}), args, template); else args.text = args[2] or args.text; -- prefer args.text end msg = validate_text (template, args); -- ensure that |text= is set if is_set (msg) then -- msg is an already-formatted error message return msg; end args.text, tag = html_tag_select (args.text); -- inspects text; returns appropriate HTML tag with text trimmed accordingly args.rtl = args.rtl == cfg.keywords_t.affirmative; -- convert to boolean: 'yes' -> true, other values -> false args.proto, msg = validate_proto (args.proto); -- return boolean, or nil, or nil and error message flag if msg then return make_error_msg (substitute (cfg.lang_t.invalid_proto, {msg}), args, template); end code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (args.code); -- |script=, |region=, |variant= not supported because they should be part of args.code ({{{1}}} in {{lang}}) if msg then return make_error_msg (msg, args, template); end local is_latn_text, pos, char; is_latn_text, args.text, pos, char= is_latin (args.text, code); -- make a boolean msg = text_script_match_test (subtags.script, is_latn_text, pos, char) if msg then -- if an error detected then there is an error message return make_error_msg (msg, args, template); end args.italic, msg = validate_italic (args); if msg then return make_error_msg (msg, args, template); end if nil == args.italic then -- nil when |italic= absent or not set or |italic=default; args.italic controls if ('latn' == subtags.script) or -- script is latn (this_wiki_lang_tag ~= code and not is_set (subtags.script) and not has_poem_tag (args.text) and is_latn_text) then -- text not this wiki's language, no script specified and not in poem markup but is wholly latn script (auto-italics) args.italic = 'italic'; -- DEFAULT for {{lang}} templates is upright; but if latn script set for font-style:italic else args.italic = 'inherit'; -- italic not set; script not latn; inherit current style end end if is_set (subtags.script) then -- if script set, override rtl setting if in_array (subtags.script, lang_data.rtl_scripts) then args.rtl = true; -- script is an rtl script else args.rtl = false; -- script is not an rtl script end end args.code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles language_name = language_name_get (args.code, code, true); -- get language name; try IETF tag first, then code w/o variant then code w/ variant if cfg.keywords_t.invert == args.italic and 'span' == tag then -- invert only supported for in-line content args.text = invert_italics (args.text) end args.text = proto_prefix (args.text, language_name, args.proto); -- prefix proto-language text with a splat table.insert (out, make_text_html (args.code, args.text, tag, args.rtl, args.italic, args.size, language_name)); table.insert (out, make_category (code, language_name, args.nocat)); table.insert (out, render_maint (args.nocat)); -- maintenance messages and categories return table.concat (out); -- put it all together and done end --[[--------------------------< L A N G >---------------------------------------------------------------------- Entry point for {{lang}}. There should be no reason to set parameters in the {{lang}} {{#invoke:}} <includeonly>{{#invoke:lang|lang}}</includeonly> Parameters are received from the template's frame (parent frame). ]] local function lang (frame) local args_t = getArgs (frame, { -- this code so that we can detect and handle wiki list markup in text valueFunc = function (key, value) if 2 == key or 'text' == key then -- the 'text' parameter; do not trim wite space return value; -- return untrimmed 'text' elseif value then -- all other values: if the value is not nil value = mw.text.trim (value); -- trim whitespace if '' ~= value then -- empty string when value was only whitespace return value; end end return nil; -- value was empty or contained only whitespace end -- end of valueFunc }); args_t.fn = nil; -- unset because not supported but this function might have been called by {{lang|fn=lang|...}} local msg = parameter_validate (args_t, cfg.templates_t.lang); -- verify that all supplied parameters are supported by {{lang-??}} if msg then return make_error_msg (msg, args_t, cfg.templates_t.lang); -- when template has unsupported params, abandon with error message end return _lang (args_t); end --[[--------------------------< T R A N S L A T I O N _ M A K E >---------------------------------------------- Stand-alone function to create literal translation of main text. Also used by {{lang-x2}}. ]] local function translation_make (args_t) local translation_t = {', '}; -- initialize output if 'none' ~= args_t.label then -- if we want a label table.insert (translation_t, '<small>'); -- open the <small> HTML tag if cfg.keywords_t.negative == args_t.link then table.insert (translation_t, substitute ('<abbr title="$1">$2</abbr>', {cfg.translation_make_t.lit_xlation, cfg.translation_make_t.lit_abbr})); -- unlinked form else table.insert (translation_t, make_wikilink (cfg.translation_make_t.lit_xlation, cfg.translation_make_t.lit_abbr)); -- linked form end table.insert (translation_t, "&thinsp;</small>"); -- close the <small> HTML tag end table.insert (translation_t, table.concat ({ -- user styling spans match spand from {{gloss}} '<span class="gloss-quot">\'</span>', -- user styling span for quote marks; use HTML entities to avoid wiki markup confusion '<span class="gloss-text">', -- open user styling span for the translation args_t.translation, -- the translation '</span>', -- close user styling span for the translation '<span class="gloss-quot">\'</span>' -- user styling span for quote marks })); return table.concat (translation_t); -- make a big string and done end --[[--------------------------< _ L A N G _ X X >-------------------------------------------------------------- For the {{lang-??}} templates, the only parameter required to be set in the template is the language code. All other parameters can, usually should, be written in the template call. For {{lang-??}} templates for languages that can have multiple writing systems, it may be appropriate to set |script= as well. For each {{lang-??}} template choose the appropriate entry-point function so that this function knows the default styling that should be applied to text. For normal, upright style: <includeonly>{{#invoke:lang|lang_xx_inherit|code=xx}}</includeonly> For italic style: <includeonly>{{#invoke:lang|lang_xx_italic|code=xx}}</includeonly> All other parameters should be received from the template's frame (parent frame) Supported parameters are: |code = (required) the IANA language code |script = IANA script code; especially for use with languages that use multiple writing systems |region = IANA region code |variant = IANA variant code |text = (required) the displayed text in language specified by code |link = boolean false ('no') does not link code-spcified language name to associated language article |rtl = boolean true ('yes') identifies the language specified by code as a right-to-left language |nocat = boolean true ('yes') inhibits normal categorization; error categories are not affected |cat = boolian false ('no') opposite form of |nocat= |italic = boolean true ('yes') renders displayed text in italic font; boolean false ('no') renders displayed text in normal font; not set renders according to initial_style_state |lit = text that is a literal translation of text |label = 'none' to suppress all labeling (language name, 'translit.', 'lit.') any other text replaces language-name label - automatic wikilinking disabled for those {{lang-??}} templates that support transliteration (those templates where |text= is not entirely latn script): |translit = text that is a transliteration of text |translit-std = the standard that applies to the transliteration |translit-script = ISO 15924 script name; falls back to code For {{lang-??}}, the positional parameters are: {{{1}}} text {{{2}}} transliterated text {{{3}}} literal translation text no other positional parameters are allowed ]] local function _lang_xx (args, base_template) -- base_template will be either of 'langx' or 'lang-xx' local out = {}; local language_name; -- used to make display text, article links local category_name; -- same as language_name except that it retains any parenthetical disambiguators (if any) from the data set local subtags = {}; -- IETF subtags script, region, and variant local code; -- the language code local translit_script_name; -- name associated with IANA (ISO 15924) script code local translit; local msg; -- for error messages local tag = 'span'; -- initial value for make_text_html() local template = args.template or base_template; maint_cats = {}; -- initialize because when this module required into another module, these only declared once so only initialzed once maint_msgs = {}; local text_idx = (cfg.templates_t.langx == base_template) and 2 or 1; -- for {{langx}} 'text' positional parameter is '2' local translit_idx = (cfg.templates_t.langx == base_template) and 3 or 2; local xlate_idx = (cfg.templates_t.langx == base_template) and 4 or 3; if args[text_idx] and args.text then return make_error_msg (substitute (cfg.lang_t.conflict_n_param, {text_idx, cfg.lang_t.conflict_n_param_types.text}), args, template); else args.text = args[text_idx] or args.text; -- prefer positional 'text' parameter end msg = validate_text (template, args); -- ensure that |text= is set, does not contain italic markup and is protected from improper bolding if is_set (msg) then return msg; end args.text, tag = html_tag_select (args.text); -- inspects text; returns appropriate HTML tag with text trimmed accordingly if args[translit_idx] and args.translit then return make_error_msg (substitute (cfg.lang_t.conflict_n_param, {translit_idx, cfg.lang_t.conflict_n_param_types.translit}), args, template); else args.translit = args[translit_idx] or args.translit -- prefer positional 'translit' parameter end args.engvar = cfg.engvar_sel_t[args.engvar] or cfg.default_engvar; -- |engvar= when valid; cfg.default_engvar else if args[xlate_idx] and (args.translation or args.lit) then return make_error_msg (substitute (cfg.lang_xx_t.conflict_n_lit, {xlate_idx}), args, template); elseif args.translation and args.lit then return make_error_msg (cfg.lang_xx_t.conflict_lit, args, template); else args.translation = args[xlate_idx] or args.translation or args.lit; -- prefer positional 'translation' parameter end if args.links and args.link then return make_error_msg (cfg.lang_xx_t.conflict_link, args, template); else args.link = args.link or args.links; -- prefer args.link end validate_cat_args (args); -- determine if categorization should be suppressed args.rtl = args.rtl == cfg.keywords_t.affirmative; -- convert to boolean: 'yes' -> true, other values -> false code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (args.code, args.script, args.region, args.variant); -- private omitted because private if msg then -- if an error detected then there is an error message return make_error_msg (msg, args, template); end if args.translit then local latn, pos, char; latn, args.translit, pos, char = is_latin (args.translit, (('' ~= subtags.private) and (code .. '-x-' .. subtags.private)) or code); if not latn then return make_error_msg (substitute (cfg.lang_xx_t.translit_nonlatn, {pos, char}), args, template); end end local is_latn_text, text, pos, char = is_latin (args.text, code); -- make a boolean args.text = text; -- may have been modified (accept-as-written markup removed) msg = text_script_match_test (subtags.script, is_latn_text, pos, char) if msg then -- if an error detected then there is an error message return make_error_msg (msg, args, template); end args.italic, msg = validate_italic (args); if msg then return make_error_msg (msg, args, template); end if cfg.templates_t.langx == base_template then -- auto-italics for {{langx}} templates; adapted from {{lang}} (no support for poem tag) if nil == args.italic then -- nil when |italic= absent or not set or |italic=default; args.italic controls if ('latn' == subtags.script) or -- script is latn (this_wiki_lang_tag ~= code and not is_set (subtags.script) and is_latn_text) then -- text is not this wiki's language, no script specified and is wholly latn script (auto-italics) args.italic = 'italic'; -- set font-style:italic else args.italic = 'inherit'; -- italic not set; script not latn; inherit current style end end else -- {{lang-xx}} does not do auto italics; retained for those wikis that don't support {{langx}} if nil == args.italic then -- args.italic controls if is_set (subtags.script) then if 'latn' == subtags.script then args.italic = 'italic'; -- |script=Latn; set for font-style:italic else args.italic = initial_style_state; -- italic not set; script is not latn; set for font-style:<initial_style_state> end else args.italic = initial_style_state; -- here when |italic= and |script= not set; set for font-style:<initial_style_state> end end end if is_set (subtags.script) then -- if script set override rtl setting if in_array (subtags.script, lang_data.rtl_scripts) then args.rtl = true; -- script is an rtl script else args.rtl = false; -- script is not an rtl script end end args.proto, msg = validate_proto (args.proto); -- return boolean, or nil, or nil and error message flag if msg then return make_error_msg (substitute (cfg.lang_t.invalid_proto, {args.proto}), args, template); end args.code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles language_name = language_name_get (args.code, code, true); -- get language name; try IETF tag first, then code w/o variant then code w/ variant category_name = language_name; -- category names retain IANA parenthetical diambiguators (if any) language_name = language_name:gsub ('%s+%b()', ''); -- remove IANA parenthetical disambiguators or qualifiers from names that have them if args.label then if 'none' ~= args.label then table.insert (out, table.concat ({args.label, ': '})); -- custom label end else if cfg.keywords_t.negative == args.link then table.insert (out, language_name); -- language name without wikilink else if mw.ustring.find (language_name, 'languages', 1, true) then table.insert (out, make_wikilink (language_name)); -- collective language name uses simple wikilink elseif lang_data.article_name[args.code:lower()] then -- is IETF tag in article name over ride? table.insert (out, make_wikilink (lang_data.article_name[args.code:lower()], language_name)); -- language name with wikilink from override data elseif lang_data.article_name[code] then -- is language tag in article override table.insert (out, make_wikilink (lang_data.article_name[code], language_name)); -- language name with wikilink from override data else table.insert (out, make_wikilink (substitute ('$1 $2', {language_name, cfg.misc_text_t.language}), language_name)); -- language name with wikilink end end table.insert (out, ': '); -- separator end if cfg.keywords_t.invert == args.italic then args.text = invert_italics (args.text) end args.text = proto_prefix (args.text, language_name, args.proto); -- prefix proto-language text with a splat table.insert (out, make_text_html (args.code, args.text, tag, args.rtl, args.italic, args.size, ('none' == args.label) and language_name or nil)) if is_set (args.translit) and not is_latn_text then -- transliteration; not supported when args.text is wholly latn text (this is an imperfect test) table.insert (out, ', '); -- comma to separate text from translit if 'none' ~= args.label then table.insert (out, '<small>'); if script_table[args['translit-script']] then -- when |translit-script= is set, try to use the script's name translit_script_name = script_table[args['translit-script']]; else translit_script_name = language_name; -- fall back on language name end local translit_title_obj = mw.title.makeTitle (0, substitute ('$1 $2',{cfg.lang_xx_t.romanization, translit_script_name})); -- make a title object; no engvar, article titles use US spelling if translit_title_obj.exists and (cfg.keywords_t.negative ~= args.link) then table.insert (out, make_wikilink (substitute ('$1 $2', {cfg.lang_xx_t.romanization, translit_script_name or language_name}), substitute ('$1', {cfg.engvar_t[args.engvar]['romanisz_pt']})) .. ':'); -- make a wikilink if there is an article to link to; engvar the display text else table.insert (out, substitute ('$1:', {cfg.engvar_t[args.engvar]['romanisz_pt']})); -- else plain text per engvar end table.insert (out, '&nbsp;</small>'); -- close the small tag end translit = make_translit (args.code, language_name, args.translit, args['translit-std'], args['translit-script'], nil, args.engvar) if is_set (translit) then table.insert (out, translit); else return make_error_msg (substitute ('$1: $2', {cfg.lang_xx_t.invalid_xlit_std, args['translit-std'] or '[missing]'}), args, template); end elseif is_set (args.translit) and is_latn_text then -- when creating a transliteration of Latn script <text> return make_error_msg (cfg.lang_xx_t.xlit_of_latn, args, template); -- emit error message and abandon end if is_set (args.translation) then -- translation (not supported in {{lang}}) table.insert (out, translation_make (args)); end table.insert (out, make_category (code, category_name, args.nocat)); table.insert (out, render_maint(args.nocat)); -- maintenance messages and categories return table.concat (out); -- put it all together and done end --[[--------------------------< L A N G _ X X _ A R G S _ G E T >---------------------------------------------- Common function to get args table from {{lang-??}} templates. Returns table of args. Text positional parameters are not trimmed here but are selectively trimmed at html_tag_select(). ]] local function lang_xx_args_get (frame, base_template) local args_t = getArgs(frame, { parentFirst= true, -- parameters in the template override parameters set in the {{#invoke:}} valueFunc = function (key, value) if ((cfg.templates_t.langx == base_template) and 2 or 1) == key then -- the 'text' positional parameter; 1 for {{lang-??}}, 2 for {{langx}}; do not trim wite space return value; -- return untrimmed 'text' positional parameter elseif value then -- all other values: if the value is not nil value = mw.text.trim (value); -- trim whitespace if '' ~= value then -- empty string when value was only whitespace return value; end end return nil; -- value was empty or contained only whitespace end -- end of valueFunc }); return args_t; end --[[--------------------------< L A N G _ X X _ I T A L I C >-------------------------------------------------- Entry point for those {{lang-??}} templates that call lang_xx_italic(). Sets the initial style state to italic. ]] local function lang_xx_italic (frame) local args = lang_xx_args_get (frame, cfg.templates_t.langxx); args.fn = nil; -- unset because not supported but this function might have been called by {{lang|fn=lang_xx_italic|...}} local msg = parameter_validate (args, cfg.templates_t.langxx); -- verify that all supplied parameters are supported by {{lang-??}} if msg then return make_error_msg (msg, args, cfg.templates_t.langxx); -- when template has unsupported params, abandon with error message end initial_style_state = 'italic'; return _lang_xx (args, cfg.templates_t.langxx) .. '[[Category:Pages using Lang-xx templates]]'; -- temporary category end --[[--------------------------< _ L A N G _ X X _ I T A L I C >------------------------------------------------ Entry point from another module. Sets the initial style state to italic. ]] local function _lang_xx_italic (args) initial_style_state = 'italic'; return _lang_xx (args, cfg.templates_t.langxx); end --[[--------------------------< L A N G _ X X _ I N H E R I T >------------------------------------------------ Entry point for those {{lang-??}} templates that call lang_xx_inherit(). Sets the initial style state to inherit. ]] local function lang_xx_inherit (frame) local args = lang_xx_args_get (frame, cfg.templates_t.langxx); args.fn = nil; -- unset because not supported but this function might have been called by {{lang|fn=lang_xx_inherit|...}} local msg = parameter_validate (args, cfg.templates_t.langxx); -- verify that all supplied parameters are supported by {{lang-??}} if msg then return make_error_msg (msg, args, cfg.templates_t.langxx); -- when template has unsupported params, abandon with error message end initial_style_state = 'inherit'; return _lang_xx (args, cfg.templates_t.langxx) .. '[[Category:Pages using Lang-xx templates]]'; -- temporary category end --[[--------------------------< _ L A N G _ X X _ I N H E R I T >---------------------------------------------- Entry point from another module. Sets the initial style state to inherit. ]] local function _lang_xx_inherit (args) initial_style_state = 'inherit'; return _lang_xx (args, cfg.templates_t.langxx); end --[[--------------------------< _ L A N G X >------------------------------------------------------------------ Entry point from another module. ]] local function _langx (args_t) local langx_data = mw.loadData ('Module:Lang/langx'); -- get necessary data local rtl_t = langx_data.rtl_t; -- get list of language tags for languages that are rendered right-to-left local link_t = langx_data.link_t; -- get list of language tags for {{lang-??}} templates that set |link=<something> local size_t = langx_data.size_t; -- get list of language tags for {{lang-??}} templates that set |size=<something> local msg = parameter_validate (args_t, cfg.templates_t.langx); if msg then return make_error_msg (msg, args_t, cfg.templates_t.langx); end args_t.code = args_t[1] or args_t.code; -- get the language tag; must be {{{1}}} or |code= if not args_t.code then return make_error_msg (cfg.get_ietf_parts_t.missing_lang_tag, args_t, cfg.templates_t.langx); end args_t.rtl = args_t.rtl or (rtl_t[args_t.code] and cfg.keywords_t.affirmative); -- prefer |rtl= in template call, use rtl_t else args_t.link = args_t.link or link_t[args_t.code]; -- prefer |link= in template call, use link_t felse args_t.size = args_t.size or size_t[args_t.code]; -- prefer |size= in template call, use size_t else args_t[1] = nil; -- unset to mimic {{lang-??}} templates which set |code=xx local lang_subtag = args_t.code; -- use only the base language subtag for unsupported tag test; some args_t.code are modified by |script= etc return _lang_xx (args_t, cfg.templates_t.langx); end --[[--------------------------< L A N G X >-------------------------------------------------------------------- Entry point for {{langx}}. this function calls _lang_xx() to render non-English text. The {{lang-??}} templates have three positional paramters but {{langx}} has four: | 1 | 2 | 3 | 4 {{lang-xx |<text> |<xlit> |<xlat> }} {{langx |<tag> |<text> |<xlit> |<xlat> }} The calls to lang_xx_args_get() and _lang_xx() use 'langx' as a flag for those functions to select the proper positional parameters. {{lang-??}} depends on the calling template to select 'inherit' or 'italic' to establish the default rendering. {{langx}} can't do that. The initial version of {{langx}} relied on a list of language tags (inherit_t in ~/langx) scraped from those {{lang-??}} templates that call lang_xx_inherit() to render text in upright font. langx() now uses auto-italics code adapted from {{lang}} (doesn't support poem tags). ]] local function langx (frame) local args_t = lang_xx_args_get (frame, cfg.templates_t.langx); -- get the arguments; 'langx' is the <base_template> used to decide which positional param is 'text', 'translit', 'lit' return _langx (args_t); end --[[--------------------------< _ I S _ I E T F _ T A G >------------------------------------------------------ Returns true when a language name associated with IETF language tag exists; nil else. IETF language tag must be valid. All code combinations supported by {{lang}} and the {{lang-??}} templates are supported by this function. Module entry point from another module. ]] local function _is_ietf_tag (tag) -- entry point when this module is require()d into another local c, s, r, v, p, err; -- code, script, region, variant, private, error message c, s, r, v, p, err = get_ietf_parts (tag); -- disassemble tag into constituent part and validate return ((c and not err) and true) or nil; -- return true when code portion has a value without error message; nil else end --[[--------------------------< I S _ I E T F _ T A G >-------------------------------------------------------- Module entry point from an {{#invoke:}}. ]] local function is_ietf_tag (frame) return _is_ietf_tag (getArgs (frame)[1]); -- args[1] is the IETF language tag to be tested; also get parent frame end --[[--------------------------< I S _ I E T F _ T A G _ F R A M E >-------------------------------------------- Module entry point from an {{#invoke:}}; same as is_ietf_tag() except does not get parameters from the parent (template) frame. This function not useful when called by {{lang|fn=is_ietf_tag_frame|<tag>}} because <tag> is in the parent frame. ]] local function is_ietf_tag_frame (frame) return _is_ietf_tag (getArgs (frame, {frameOnly = true,})[1]); -- args[1] is the IETF language tag to be tested; do not get parent frame end --[[--------------------------< _ N A M E _ F R O M _ T A G >-------------------------------------------------- Returns language name associated with IETF language tag if valid; error message else. All code combinations supported by {{lang}} and the {{lang-??}} templates are supported by this function. Set invoke's |link= parameter to yes to get wikilinked version of the language name. Module entry point from another module. ]] local function _name_from_tag (args) local subtags = {}; -- IETF subtags script, region, variant, and private local raw_code = args[1]; -- save a copy of the input IETF subtag local link = cfg.keywords_t.affirmative == args['link']; -- make a boolean local label = args.label; local code; -- the language code local msg; -- gets an error message if IETF language tag is malformed or invalid local language_name = ''; code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (raw_code); if msg then local template = (args['template'] and table.concat ({'{{', args['template'], '}}: '})) or ''; -- make template name (if provided by the template) return make_error_span (template, msg); end raw_code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles; private omitted because private language_name = language_name_get (raw_code, code); -- get language name; try IETF tag first, then code w/o variant then code w/ variant if 'yes' ~= args.raw then language_name = language_name:gsub ('%s+%b()', ''); -- remove IANA parenthetical disambiguators or qualifiers from names that have them end if link then -- when |link=yes, wikilink the language name if mw.ustring.find (language_name, 'languages', 1, true) then language_name = make_wikilink (language_name, label); -- collective language name uses simple wikilink elseif lang_data.article_name[raw_code:lower()] then -- is IETF tag in article name override? language_name = make_wikilink (lang_data.article_name[raw_code:lower()], label or language_name); -- language name with wikilink from override data elseif lang_data.article_name[code] then -- is language tag in article name override? language_name = make_wikilink (lang_data.article_name[code], label or language_name); -- language name with wikilink from override data else language_name = make_wikilink (substitute ('$1 $2', {language_name, cfg.misc_text_t.language}), label or language_name); -- language name with wikilink end end return language_name; end --[[--------------------------< N A M E _ F R O M _ T A G >---------------------------------------------------- Module entry point from an {{#invoke:}}. ]] local function name_from_tag (frame) -- entry point from an {{#invoke:lang|name_from_tag|<IETF tag>|link=<yes>|template=<template name>}} return _name_from_tag (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame end --[[--------------------------< _ T A G _ F R O M _ N A M E >-------------------------------------------------- Returns the IETF language tag associated with the language name. Spelling of language name must be correct according to the spelling in the source tables. When a standard language name has a parenthetical disambiguator, that disambiguator must be omitted (they are not present in the data name-to-tag tables). Module entry point from another module. ]] local function _tag_from_name (args) -- entry point from another module local msg; if args[1] and '' ~= args[1] then local data = mw.loadData ('Module:Lang/tag from name'); -- get the reversed data tables TODO: change when going live local lang = args[1]:lower(); -- allow any-case for the language name (speeling must till be correct) local tag = data.rev_override_table[lang] or data.rev_lang_table[lang] or data.rev_lang_dep_table[lang]; -- get the code; look first in the override then in the standard if tag then return tag, true; -- language name found so return tag and done; second return used by is_lang_name() else msg = substitute (cfg.tag_from_name_t.lang_not_found, {args[1]}); -- language name not found, error message end else msg = cfg.tag_from_name_t.missing_lang_name; -- language name not found, error message end local template = ''; if args.template and '' ~= args.template then template = table.concat ({'{{', args['template'], '}}: '}); -- make template name (if provided by the template) end return make_error_span (template, msg); end --[[--------------------------< T A G _ F R O M _ N A M E >---------------------------------------------------- Module entry point from an {{#invoke:}}. ]] local function tag_from_name (frame) -- entry point from an {{#invoke:lang|tag_from_name|<language name>|link=<yes>|template=<template name>}} local result, _ = _tag_from_name (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame; supress second return used by is_lang_name() return result; end --[[--------------------------< I S _ L A N G _ N A M E >------------------------------------------------------ Module entry point from an {{#invoke:}}. ]] local function is_lang_name (frame) local _, result = _tag_from_name (getArgs(frame)) -- pass-on the args table, nothing else; getArgs() so we also get parent frame; supress second return used by tag_from_name() return result and true or nil; end --[[--------------------------< _ X L I T >-------------------------------------------------------------------- Module entry point from another module. ]] local function _xlit (args) local title_table = lang_data.translit_title_table; -- table of transliteration standards and the language codes and scripts that apply to those standards local language_name; -- language name that matches language code; used for tool tip local translit; -- transliterated text to display local script; -- IANA script local msg; -- for when called functions return an error message local template = args.template or cfg.templates_t.transliteration; maint_cats = {}; -- initialize because when this module required into another module, these only declared once so only initialzed once maint_msgs = {}; if is_set (args[3]) then -- [3] set when {{transliteration|code|standard|text}} args.text = args[3]; -- get the transliterated text args.translit_std = args[2] and args[2]:lower(); -- get the standard; lower case for table indexing if not title_table[args.translit_std] then return make_error_msg (substitute (cfg.transl_t.unrecog_xlit_std, {args.translit_std}), args, template); end else if is_set (args[2]) then -- [2] set when {{transliteration|code|text}} args.text = args[2]; -- get the transliterated text else if args[1] and (args[1]:match ('^%a%a%a?%a?$') or -- args[2] missing; is args[1] a language or script tag or is it the transliterated text? args[1]:match ('^%a%a%a?%-x%-')) then -- or is args[1] a private-use tag return make_error_msg (cfg.transl_t.no_text, args, template); -- args[1] is a code so we're missing text else args.text = args[1]; -- args[1] is not a code so we're missing that; assign args.text for error message return make_error_msg (cfg.transl_t.missing_lang_scr, args, template); end end end if is_set (args[1]) then -- IANA language code used for HTML lang= attribute; or ISO 15924 script code if args[1]:match ('^%a%a%a?%a?$') or args[1]:match ('^%a%a%a?%-x%-') then -- args[1] has correct form? args.code = args[1]:lower(); -- use the language/script code; only (2, 3, or 4 alpha characters) or private-use; lower case because table indexes are lower case else return make_error_msg (substitute (cfg.transl_t.unrecog_lang_scr, {args[1]}), args, template); -- invalid language / script code end else return make_error_msg (cfg.transl_t.missing_lang_scr, args, template); -- missing language / script code so quit end local is_latn_text, pos, char; is_latn_text, args.text, pos, char= is_latin (args.text, args.code); -- is latn text? strip accept-as-written markup if not is_latn_text then -- when text is not latn return make_error_msg (substitute (cfg.lang_xx_t.translit_nonlatn, {pos, char}), args, template); -- abandon with error message end args.italic, msg = validate_italic (args); if msg then return make_error_msg (msg, args, template); end if 'italic' == args.italic then -- 'italic' when |italic=yes; because that is same as absent or not set and |italic=default args.italic = nil; -- set to nil; end args.engvar = cfg.engvar_sel_t[args.engvar] or cfg.default_engvar; -- |engvar= when valid; cfg.default_engvar else if override_table[args.code] then -- is code a language code defined in the override table? language_name = override_table[args.code]; args.code = args.code:match ('^%a%a%a?'); -- if private use, strip all but language subtag elseif lang_table[args.code] then -- is code a language code defined in the standard language code tables? language_name = lang_table[args.code]; elseif lang_dep_table[args.code] then -- is code a language code defined in the deprecated language code tables? language_name = lang_dep_table[args.code]; elseif script_table[args.code] then -- if here, code is not a language code; is it a script code? language_name = script_table[args.code]; script = args.code; -- code was an ISO 15924 script so use that instead args.code = ''; -- unset because not a language code else return make_error_msg (substitute (cfg.transl_t.unrecog_lang_scr, {args.code}), args, template); -- invalid language / script code end -- here only when all parameters passed to make_translit() are valid return make_translit (args.code, language_name, args.text, args.translit_std, script, args.italic, args.engvar); end --[[--------------------------< X L I T >---------------------------------------------------------------------- Module entry point from an {{#invoke:}}. ]] local function xlit (frame) return _xlit (getArgs(frame)); end --[[--------------------------< C A T E G O R Y _ F R O M _ T A G >-------------------------------------------- Returns category name associated with IETF language tag if valid; error message else. All code combinations supported by {{lang}} and the {{lang-??}} templates are supported by this function. Module entry point from another module. ]] local function _category_from_tag (args_t) local subtags = {}; -- IETF subtags script, region, variant, and private local raw_code = args_t[1]; -- save a copy of the input IETF subtag local link = cfg.keywords_t.affirmative == args_t.link; -- make a boolean local label = args_t.label; local code; -- the language code local msg; -- gets an error message if IETF language tag is malformed or invalid local category_name = ''; code, subtags.script, subtags.region, subtags.variant, subtags.private, msg = get_ietf_parts (raw_code); if msg then local template = (args_t.template and table.concat ({'{{', args_t.template, '}}: '})) or ''; -- make template name (if provided by the template) return make_error_span (template, msg); end raw_code = format_ietf_tag (code, subtags.script, subtags.region, subtags.variant, subtags.private); -- format to recommended subtag styles; private omitted because private category_name = language_name_get (raw_code, code); -- get language name; try IETF tag first, then code w/o variant then code w/ variant category_name = make_category (code, category_name, nil, true):gsub ('[%[%]]', ''); if link then return table.concat ({'[[:', category_name, ']]'}); else return category_name; end end --[[--------------------------< C A T E G O R Y _ F R O M _ T A G >-------------------------------------------- Module entry point from an {{#invoke:}}. ]] local function category_from_tag (frame) -- entry point from an {{#invoke:lang|category_from_tag|<IETF tag>|template=<template name>}} return _category_from_tag (getArgs (frame)); -- pass-on the args table, nothing else; getArgs() so we also get parent frame end --[[--------------------------< E X P O R T E D F U N C T I O N S >------------------------------------------ ]] return { category_from_tag = category_from_tag, -- frame entry points when this module is #invoke:ed into templates/wikitext lang = lang, -- entry point for {{lang}} langx = langx, -- entry point for {{langx}} lang_xx_inherit = lang_xx_inherit, -- entry points for {{lang-??}} lang_xx_italic = lang_xx_italic, is_ietf_tag = is_ietf_tag, is_ietf_tag_frame = is_ietf_tag_frame, is_lang_name = is_lang_name, tag_from_name = tag_from_name, -- returns IETF tag associated with language name name_from_tag = name_from_tag, -- used for template documentation; possible use in ISO 639 name from code templates xlit = xlit, -- entry point for {{transliteration}} _category_from_tag = _category_from_tag, -- API entry points when this module is require()d into other modules _lang = _lang, _langx = _langx, _lang_xx_inherit = _lang_xx_inherit, _lang_xx_italic = _lang_xx_italic, _is_ietf_tag = _is_ietf_tag, get_ietf_parts = get_ietf_parts, _tag_from_name = _tag_from_name, _name_from_tag = _name_from_tag, _xlit = _xlit, _translation_make = translation_make, }; 4lchs3y6tbwcup48cwp3ayuhrxmusvw Модуль:Lang/data 828 25224 170263 2026-09-24T01:00:46Z Halajkovič 33393 Створена сторінка: local lang_obj = mw.language.getContentLanguage(); local this_wiki_lang_tag = lang_obj.code; -- get this wiki's language tag --[[--------------------------< L A N G _ N A M E _ T A B L E >------------------------------------------------ primary table of tables that decode: lang -> language tags and names script -> ISO 15924 script tags region -> ISO 3166 region tags variant -> IANA registered variant tags suppressed -> map of scripts tags... 170263 Scribunto text/plain local lang_obj = mw.language.getContentLanguage(); local this_wiki_lang_tag = lang_obj.code; -- get this wiki's language tag --[[--------------------------< L A N G _ N A M E _ T A B L E >------------------------------------------------ primary table of tables that decode: lang -> language tags and names script -> ISO 15924 script tags region -> ISO 3166 region tags variant -> IANA registered variant tags suppressed -> map of scripts tags and their associated language tags all of these data come from separate modules that are derived from the IANA language-subtag-registry file key_to_lower() avoids the metatable trap and sets all keys in the subtables to lowercase. Many language codes have multiple associated names; Module:lang is only concerned with the first name so key_to_lower() only fetches the first name. ]] local function key_to_lower (module, src_type) local out = {}; local source_t = (('var_sup' == src_type) and require (module)) or mw.loadData (module); -- fetch data from this module; require() avoids metatable trap for variant data if 'var_sup' == src_type then for k, v in pairs (source_t) do out[k:lower()] = v; -- for variant and suppressed everything is needed end elseif 'lang' == src_type and source_t.active then -- for ~/iana_languages (active) for k, v in pairs (source_t.active) do out[k:lower()] = v[1]; -- ignore multiple names; take first name only end elseif 'lang_dep' == src_type and source_t.deprecated then -- for ~/iana_languages (deprecated) for k, v in pairs (source_t.deprecated) do out[k:lower()] = v[1]; -- ignore multiple names; take first name only end else -- here for all other sources for k, v in pairs (source_t) do out[k:lower()] = v[1]; -- ignore multiple names; take first name only end end return out; end local lang_name_table_t = { lang = key_to_lower ('Module:Lang/data/iana languages', 'lang'), lang_dep = key_to_lower ('Module:Lang/data/iana languages', 'lang_dep'), script = key_to_lower ('Module:Lang/data/iana scripts'), -- script keys are capitalized; set to lower region = key_to_lower ('Module:Lang/data/iana regions'), -- region keys are uppercase; set to lower variant = key_to_lower ('Module:Lang/data/iana variants', 'var_sup'), suppressed = key_to_lower ('Module:Lang/data/iana suppressed scripts', 'var_sup'), -- script keys are capitalized; set to lower } --[[--------------------------< I 1 8 N M E D I A W I K I O V E R R I D E >-------------------------------- For internationalization; not used at en.wiki The language names taken from the IANA language-subtag-registry file are given in English. That may not be ideal. Translating ~8,000 language names is also not ideal. MediaWiki maintains (much) shorter lists of language names in most languages for which there is a Wikipedia edition. When desired, Module:Lang can use the MediaWiki language list for the local language. Caveat lector: the list of MediaWiki language names for your language may not be complete or may not exist at all. When incomplete, MediaWiki's list will 'fall back' to another language (typically English). When that happens add an appropriate entry to the override table below. Caveat lector: the list of MediaWiki language names for your language may not be correct. At en.wiki, the MediaWiki language names do not agree with the IANA language names for these ISO 639-1 tags. Often it is simply spelling differences: bh: IANA: Bihari languages MW: Bhojpuri – the ISO 639-3 tag for Bhojpuri is bho bn: IANA: Bengali MW: Bangla – Bengali is the exonym, Bangla is the endonym dv: IANA: Dhivehi MW: Divehi el: IANA: Modern Greek MW: Greek ht: IANA: Haitian MW: Haitian Creole ky: IANA: Kirghiz MW: Kyrgyz li: IANA: Limburgan MW: Limburgish or: IANA: Oriya MW: Odia os: IANA: Ossetian MW: Ossetic "pa: IANA: Panjabi MW: Punjabi "ps: IANA: Pushto MW: Pashto "to: IANA: Tonga MW: Tongan "ug: IANA: Uighur MW: Uyghur use the override table to override language names that are incorrect for your project To see the list of names that MediaWiki has for your language, enter this in the Debug console: =mw.dumpObject (mw.language.fetchLanguageNames ('<tag>', 'all')) (replacing <tag> with the language tag for your language) Use of the MediaWiki language names lists is enabled when media_wiki_override_enable is set to boolean true. ]] local media_wiki_override_enable = false; -- set to true to override IANA names with MediaWiki names; always false at en.wiki -- caveat lector: the list of MediaWiki language names for your language may not be complete or may not exist at all if true == media_wiki_override_enable then local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_lang_tag, 'all'); -- get a table of language tag/name pairs known to MediaWiki for tag, name in pairs (mw_languages_by_tag_t) do -- loop through each tag/name pair in the MediaWiki list if lang_name_table_t.lang[tag] then -- if the tag is in the main list lang_name_table_t.lang[tag] = name; -- overwrite existing name with the name from MediaWiki end end end --[[--------------------------< O V E R R I D E >-------------------------------------------------------------- Language codes and names in this table override the BCP47 names in lang_name_table. indexes in this table shall always be lower case ]] local override = { ------------------------------< I S O _ 6 3 9 - 1 >------------------------------------------------------------ ["ab"] = "Abkhaz", -- to match en.wiki article name ["ca-valencia"] = "Valencian", ["cu"] = "Church Slavonic", -- 2nd IANA name; ["de-at"] = "Austrian German", -- these code-region and code-variant tags to match en.wiki article names ["de-ch"] = "Swiss Standard German", ["en-au"] = "Australian English", ["en-ca"] = "Canadian English", ["en-emodeng"] = "Early Modern English", ["en-gb"] = "British English", ["en-ie"] = "Irish English", ["en-in"] = "Indian English", ["en-nz"] = "New Zealand English", ["en-us"] = "American English", ["en-za"] = "South African English", ["fr-ca"] = "Canadian French", ["fr-gallo"] = "Gallo", ["fy"] = "West Frisian", -- Western Frisian ["mo"] = "Moldovan", -- Moldavian (deprecated code); to match en.wiki article title ["nl-be"] = "Flemish", -- match MediaWiki ["oc-gascon"] = "Gascon", ["oc-provenc"] = "Provençal", ["ps"] = "Pashto", -- Pushto ["pt-br"] = "Brazilian Portuguese", -- match MediaWiki ["ro-md"] = "Moldovan", -- 'not deprecated' form ["ro-cyrl-md"] = "Moldovan", -- 'not deprecated' form ["tw-asante"] = "Asante Twi", ["ug"] = "Uyghur", -- 2nd IANA name; to match en.wiki article name -- these ISO 639-1 language-name overrides imported from Module:Language/data/wp_languages (since deleted) --<begin do-not-edit except to comment out>-- ["av"] = "Avar", -- Avaric ["bo"] = "Standard Tibetan", -- Tibetan ["el"] = "Greek", -- Modern Greek -- ["en-SA"] = "South African English", -- English; no; SA is not South Africa it Saudi Arabia; ZA is South Africa ["ff"] = "Fula", -- Fulah ["ht"] = "Haitian Creole", -- Haitian ["hz"] = "Otjiherero", -- Herero ["ii"] = "Yi", -- Sichuan Yi ["ki"] = "Gikuyu", -- Kikuyu ["kl"] = "Greenlandic", -- Kalaallisut ["ky"] = "Kyrgyz", -- Kirghiz ["lg"] = "Luganda", -- Ganda ["li"] = "Limburgish", -- Limburgan ["mi"] = "Māori", -- Maori ["na"] = "Nauruan", -- Nauru ["nb"] = "Bokmål", -- Norwegian Bokmål ["nd"] = "Northern Ndebele", -- North Ndebele ["nn"] = "Nynorsk", -- Norwegian Nynorsk ["nr"] = "Southern Ndebele", -- South Ndebele ["ny"] = "Chichewa", -- Nyanja ["oj"] = "Ojibwe", -- Ojibwa ["or"] = "Odia", -- Oriya ["pa"] = "Punjabi", -- Panjabi ["rn"] = "Kirundi", -- Rundi ["sl"] = "Slovene", -- Slovenian ["ss"] = "Swazi", -- Swati ["st"] = "Sotho", -- Southern Sotho ["to"] = "Tongan", -- Tonga --<end do-not-edit except to comment out>-- ------------------------------< I S O _ 6 3 9 - 2, - 3, - 5 >---------------------------------------------- ["alv"] = "Atlantic–Congo languages", -- to match en.wiki article title (endash) ["arc"] = "Imperial Aramaic (700-300 BCE)", -- Official Aramaic (700-300 BCE), Imperial Aramaic (700-300 BCE); to match en.wiki article title uses ISO639-2 'preferred' name ["art"] = "constructed", -- to match en.wiki article; lowercase for category name ["arx"] = "Aruá (Rondonia State)", -- Aruá (Rodonia State); to match en.wiki article ["ast-es"] = "Leonese", -- ast in IANA is Asturian; Leonese is a dialect ["bea"] = "Dane-zaa", -- Beaver; to match en.wiki article title ["bha"] = "Bhariati", -- Bharia; to match en.wiki article title ["bhd"] = "Bhadarwahi", -- Bhadrawahi; to match en.wiki article title ["bla"] = "Blackfoot", -- Siksika; to match en.wiki article title ["blc"] = "Nuxalk", -- Bella Coola; to match en.wiki article title ["bua"] = "Buryat", -- Buriat; this is a macro language; these four use wp preferred transliteration; ["bxm"] = "Mongolian Buryat", -- Mongolia Buriat; these three all redirect to Buryat ["bxr"] = "Russian Buryat", -- Russia Buriat; ["bxu"] = "Chinese Buryat", -- China Buriat; ["byr"] = "Yipma", -- Baruya, Yipma ["clm"] = "Klallam", -- Clallam; to match en.wiki article title ["crb"] = "Kalinago", -- Island Carib; to match en.wiki article ["egy"] = "Ancient Egyptian", -- Egyptian (Ancient); distinguish from contemporary arz: Egyptian Arabic ["ems"] = "Alutiiq", -- Pacific Gulf Yupik; to match en.wiki article title ["esx"] = "Eskimo–Aleut languages", -- to match en.wiki article title (endash) ["frr"] = "North Frisian", -- Northern Frisian ["frs"] = "East Frisian Low Saxon", -- Eastern Frisian ["gsw-fr"] = "Alsatian", -- match MediaWiki ["haa"] = "Hän", -- Han; to match en.wiki article title ["hei"] = "Heiltsuk–Oowekyala", -- Heiltsuk; to match en.wiki article title ["hmx"] = "Hmong–Mien languages", -- to match en.wiki article title (endash) ["ilo"] = "Ilocano", -- Iloko; to match en.wiki article title ["jam"] = "Jamaican Patois", -- Jamaican Creole English ["lij-mc"] = "Monégasque", -- Ligurian as spoken in Monaco; this one for proper tool tip; also in <article_name> table ["luo"] = "Dholuo", -- IANA (primary) /ISO 639-3: Luo (Kenya and Tanzania); IANA (secondary): Dholuo ["mhr"] = "Meadow Mari", -- Eastern Mari ["mid"] = "Modern Mandaic", -- Mandaic ['mis'] = "uncoded", -- Uncoded languages; capitalization; special scope, not collective scope; ["mkh"] = "Mon–Khmer languages", -- to match en.wiki article title (endash) ["mla"] = "Tamambo", -- Malo ['mte'] = "Mono-Alu", -- Mono (Solomon Islands) ['mul'] = "multiple", -- Multiple languages; capitalization; special scope, not collective scope; ["nan-tw"] = "Taiwanese Hokkien", -- make room for IANA / 639-3 nan Min Nan Chinese; match en.wiki article title ["new"] = "Newar", -- Newari, Nepal Bhasa; to match en,wiki article title ["ngf"] = "Trans–New Guinea languages", -- to match en.wiki article title (endash) ["nic"] = "Niger–Congo languages", -- Niger-Kordofanian languages; to match en,wiki article title ["nrf"] = "Norman", -- not quite a collective - IANA name: Jèrriais + Guernésiais; categorizes to Norman-language text ["nrf-gg"] = "Guernésiais", -- match MediaWiki ["nrf-je"] = "Jèrriais", -- match MediaWiki ["nzi"] = "Nzema", -- Nzima; to match en.wiki article title ["oma"] = "Omaha–Ponca", -- to match en.wiki article title (endash) ["orv"] = "Old East Slavic", -- Old Russian ["pfl"] = "Palatine German", -- Pfaelzisch; to match en.wiki article ["pie"] = "Piro Pueblo", -- Piro; to match en.wiki article ["pms"] = "Piedmontese", -- Piemontese; to match en.wiki article title ["pnb"] = "Punjabi (Western)", -- Western Panjabi; dab added to override import from ~/wp languages and distinguish pnb from pa in reverse look up tag_from_name() ['qwm'] = "Cuman", -- Kuman (Russia); to match en.wiki article name ["rop"] = "Australian Kriol", -- Kriol; en.wiki article is a dab; point to correct en.wiki article ["rsk"] = "Pannonian Rusyn", -- Ruthenian; en.wiki preferred name ["sco-ulster"] = "Ulster Scots", ["sdo"] = "Bukar–Sadong", -- Bukar-Sadung Bidayuh; to match en.wiki article title ["smp"] = "Samaritan Hebrew", -- to match en.wiki article title ["stq"] = "Saterland Frisian", -- Saterfriesisch ["tet"] = "Tetun", -- to match en.wiki article title ["tfn"] = "Denaʼina", -- to match en.wiki article title ["und"] = "undetermined", -- capitalization to match existing category ["wrg"] = "Warrongo", -- Warungu ["xal-ru"] = "Kalmyk", -- to match en.wiki article title ["xgf"] = "Tongva", -- ISO 639-3 is Gabrielino-Fernandeño ["yuf"] = "Havasupai–Hualapai", -- Havasupai-Walapai-Yavapai; to match en.wiki article title ["zkh"] = "Khorezmian Turkic", -- Khorezmian; to match en.wiki article title, avoiding the dab ["zkt"] = "Khitan", -- Kitan; to match en.wiki article title ["zxx"] = "no linguistic content", -- capitalization -- these ISO 639-2, -3 language-name overrides imported from Module:Language/data/wp_languages (since deleted) --<begin do-not-edit except to comment out>-- ["ace"] = "Acehnese", -- Achinese ["aec"] = "Sa'idi Arabic", -- Saidi Arabic ["akl"] = "Aklan", -- Aklanon ["alt"] = "Altay", -- Southern Altai ["apm"] = "Mescalero-Chiricahua", -- Mescalero-Chiricahua Apache ["bal"] = "Balochi", -- Baluchi -- ["bcl"] = "Central Bicolano", -- Central Bikol ["bin"] = "Edo", -- Bini ["bpy"] = "Bishnupriya Manipuri", -- Bishnupriya ["chg"] = "Chagatay", -- Chagatai ["ckb"] = "Sorani Kurdish", -- Central Kurdish ["cnu"] = "Shenwa", -- Chenoua ["coc"] = "Cocopah", -- Cocopa ["diq"] = "Zazaki", -- Dimli ["fit"] = "Meänkieli", -- Tornedalen Finnish ["fkv"] = "Kven", -- Kven Finnish ["frk"] = "Old Frankish", -- Frankish ["gez"] = "Ge'ez", -- Geez ["gju"] = "Gujari", -- Gujari ["gsw"] = "Alemannic German", -- Swiss German ["gul"] = "Gullah", -- Sea Island Creole English ["hak"] = "Hakka", -- Hakka Chinese ["hbo"] = "Biblical Hebrew", -- Ancient Hebrew ["hnd"] = "Hindko", -- Southern Hindko -- ["ikt"] = "Inuvialuk", -- Inuinnaqtun ["kaa"] = "Karakalpak", -- Kara-Kalpak ["khb"] = "Tai Lü", -- Lü ["kmr"] = "Kurmanji Kurdish", -- Northern Kurdish ["kpo"] = "Kposo", -- Ikposo ["krj"] = "Kinaray-a", -- Kinaray-A -- ["ktz"] = "Juǀ'hoan", -- Juǀʼhoan ["lez"] = "Lezgian", -- Lezghian ["liv"] = "Livonian", -- Liv ["lng"] = "Lombardic", -- Langobardic ["mia"] = "Miami-Illinois", -- Miami ["miq"] = "Miskito", -- Mískito ["mix"] = "Mixtec", -- Mixtepec Mixtec ["mni"] = "Meitei", -- Manipuri ["mrj"] = "Hill Mari", -- Western Mari ["mww"] = "White Hmong", -- Hmong Daw ["nds-nl"] = "Dutch Low Saxon", -- Low German -- ["new"] = "Nepal Bhasa", -- Newari ["nso"] = "Northern Sotho", -- Pedi -- ["nwc"] = "Classical Nepal Bhasa", -- Classical Newari, Classical Nepal Bhasa, Old Newari ["ood"] = "O'odham", -- Tohono O'odham ["otk"] = "Old Turkic", -- Old Turkish ["pal"] = "Middle Persian", -- Pahlavi ["pam"] = "Kapampangan", -- Pampanga ["phr"] = "Potwari", -- Pahari-Potwari ["pka"] = "Jain Prakrit", -- Ardhamāgadhī Prākrit -- ["pnb"] = "Punjabi", -- Western Panjabi ["psu"] = "Shauraseni", -- Sauraseni Prākrit ["rap"] = "Rapa Nui", -- Rapanui ["rar"] = "Cook Islands Māori", -- Rarotongan ["rmu"] = "Scandoromani", -- Tavringer Romani ["rom"] = "Romani", -- Romany ["rup"] = "Aromanian", -- Macedo-Romanian ["ryu"] = "Okinawan", -- Central Okinawan ["sdc"] = "Sassarese", -- Sassarese Sardinian ["sdn"] = "Gallurese", -- Gallurese Sardinian ["shp"] = "Shipibo", -- Shipibo-Conibo ["src"] = "Logudorese", -- Logudorese Sardinian ["sro"] = "Campidanese", -- Campidanese Sardinian ["tkl"] = "Tokelauan", -- Tokelau ["tvl"] = "Tuvaluan", -- Tuvalu ["tyv"] = "Tuvan", -- Tuvinian ["vls"] = "West Flemish", -- Vlaams ["wep"] = "Westphalian", -- Westphalien ["xal"] = "Oirat", -- Kalmyk ["xcl"] = "Old Armenian", -- Classical Armenian ["yua"] = "Yucatec Maya", -- Yucateco --<end do-not-edit except to comment out>-- ------------------------------< P R I V A T E _ U S E _ T A G S >---------------------------------------------- ["akk-x-latbabyl"] = "Late Babylonian Akkadian", ["akk-x-midassyr"] = "Middle Assyrian Akkadian", ["akk-x-midbabyl"] = "Middle Babylonian Akkadian", ["akk-x-neoassyr"] = "Neo-Assyrian Akkadian", ["akk-x-neobabyl"] = "Neo-Babylonian Akkadian", ["akk-x-old"] = "Old Akkadian", ["akk-x-oldassyr"] = "Old Assyrian Akkadian", ["akk-x-oldbabyl"] = "Old Babylonian Akkadian", ["alg-x-proto"] = "Proto-Algonquian", -- alg in IANA is Algonquian languages ["ar-x-classic"] = "Classical Arabic", ["ar-x-nabat"] = "Nabataean Arabic", ["ar-x-safaitic"] = "Safaitic", ["art-x-uropi"] = "Uropi", -- art in IANA is Artificial languages ["ast-x-west"] = "Western Asturian", ["ca-x-old"] = "Old Catalan", ["cel-x-combrit"] = "Common Brittonic", -- cel in IANA is Celtic languages ["cel-x-proto"] = "Proto-Celtic", ["ccs-x-proto"] = "Proto-Kartvelian", -- ccs in IANA is Kartvelian languages ["egy-x-demotic"] = "Demotic Egyptian", ["egy-x-late"] = "Late Egyptian", ["egy-x-middle"] = "Middle Egyptian", ["egy-x-old"] = "Old Egyptian", ["et-x-seto"] = "Seto", -- to replace {{Lang-est-sea}} ["fa-x-classic"] = "Classical Persian", ["fiu-x-proto"] = "Proto-Finno-Ugric", -- fiu in IANA is Finno-Ugric languages ["fr-x-frainc"] = "Franc-Comtois", -- to replace {{Lang-fra-frc}} ["fr-x-quebec"] = "Quebec French", ["gem-x-proto"] = "Proto-Germanic", -- gem in IANA is Germanic languages ["gmq-x-proto"] = "Proto-Norse", ["gmw-x-ecg"] = "East Central German", ["gmw-x-proto"] = "Proto-West Germanic", ["grc-x-aeolic"] = "Aeolic Greek", -- these grc-x-... codes are preferred alternates to the non-standard catchall code grc-gre ["grc-x-arcadcyp"] = "Arcadocypriot Greek", ["grc-x-attic"] = "Attic Greek", ["grc-x-biblical"] = "Biblical Greek", ["grc-x-byzant"] = "Byzantine Greek", ["grc-x-classic"] = "Classical Greek", ["grc-x-doric"] = "Doric Greek", ["grc-x-hellen"] = "Hellenistic Greek", ["grc-x-ionic"] = "Ionic Greek", ["grc-x-koine"] = "Koine Greek", ["grc-x-medieval"] = "Medieval Greek", ["grc-x-pamph"] = "Pamphylian Greek", ["grc-x-patris"] = "Patristic Greek", ["grk-x-proto"] = "Proto-Greek", -- grk in IANA is Greek languages ["iir-x-proto"] = "Proto-Indo-Iranian", -- iir in IANA is Indo-Iranian Languages ["inc-x-mitanni"] = "Mitanni-Aryan", -- inc in IANA is Indic languages ["inc-x-proto"] = "Proto-Indo-Aryan", ["ine-x-anatolia"] = "Anatolian languages", ["ine-x-proto"] = "Proto-Indo-European", ["ira-x-proto"] = "Proto-Iranian", -- ira in IANA is Iranian languages ["itc-x-proto"] = "Proto-Italic", -- itc in IANA is Italic languages ["ksh-x-colog"] = "Colognian", -- en.wiki article is Colognian; ksh (Kölsch) redirects there ["la-x-church"] = "Ecclesiastical Latin", ["la-x-classic"] = "Classical Latin", ["la-x-late"] = "Late Latin", ["la-x-medieval"] = "Medieval Latin", ["la-x-new"] = "New Latin", ["la-x-old"] = "Old Latin", ["la-x-ren"] = "Renaissance Latin", ["la-x-vulgar"] = "Vulgar Latin", ["lmo-x-berg"] = "Bergamasque", -- lmo in IANA is Lombard; Bergamasque is a dialect ["lmo-x-cremish"] = "Cremish", -- lmo in IANA is Lombard; Cremish is a dialect ["lmo-x-milanese"] = "Milanese", -- lmo in IANA is Lombard; Milanese is a dialect ["mis-x-ripuar"] = "Ripuarian", -- replaces improper use of ksh in wp_languages ["prg-x-old"] = "Old Prussian", ["roa-x-proto"] = "Proto-Romance", ["sem-x-ammonite"] = "Ammonite", ["sem-x-aramaic"] = "Aramaic", ["sem-x-canaan"] = "Canaanite languages", ["sem-x-dadanit"] = "Dadanitic", ["sem-x-dumaitic"] = "Dumaitic", ["sem-x-egurage"] = "Eastern Gurage", ["sem-x-hasaitic"] = "Hasaitic", ["sem-x-hatran"] = "Hatran Aramaic", ["sem-x-hismaic"] = "Hismaic", ["sem-x-nabat"] = "Nabataean Aramaic", ["sem-x-oldsoara"] = "Old South Arabian", ["sem-x-palmyren"] = "Palmyrene Aramaic", ["sem-x-proto"] = "Proto-Semitic", ["sem-x-taymanit"] = "Taymanitic", ["smi-x-proto"] = "Proto-Samic", -- smi in IANA is Samic languages ["sla-x-proto"] = "Proto-Slavic", -- sla in IANA is Slavic languages ["sq-x-proto"] = "Proto-Albanian", ["trk-x-oldanat"] = "Old Anatolian Turkish", -- to replace {{Lang-1ca}} ["urj-x-proto"] = "Proto-Uralic", -- urj in IANA is Uralic languages ["yuf-x-hav"] = "Havasupai", -- IANA name for these three is Havasupai-Walapai-Yavapai ["yuf-x-wal"] = "Walapai", ["yuf-x-yav"] = "Yavapai", ["xsa-x-himyarit"] = "Himyaritic", ["xsc-x-pontic"] = "Pontic Scythian", -- xsc in IANA is Scythian ["xsc-x-saka"] = "Saka", ["xsc-x-sarmat"] = "Sarmatian", ["zle-x-ruthenia"] = "Ruthenian", -- zle in IANA is East Slavic languages collective; moved to allow rsk for Pannonian Rusyn } --[[--------------------------< A R T I C L E _ L I N K >------------------------------------------------------ for those rare occasions when article titles don't fit with the normal '<language name> language', this table maps language code to article title. Use of this table should be avoided and the use of redirects preferred as that is the long-standing method of handling article names that don't fit with the normal pattern ]] local article_name = { ['aru'] = "Arawá language", -- Aruá (Amazonas State); to avoid Aruá dab page ['arx'] = "Aruá language (Rondônia)", -- Aruá (Rodonia State) overridden to Aruá (Rondonia State); to avoid Aruá dab page ['kue'] = "Kuman language (New Guinea)", -- Kuman (Papua New Guinea); to avoid Kuman dab page ["lij-mc"] = "Monégasque dialect", -- Ligurian as spoken in Monaco ['mbo'] = "Mbo language (Cameroon)", -- Mbo (Cameroon) ['mnh'] = "Mono language (Congo)", -- Mono (Democratic Republic of Congo); see Template_talk:Lang#Mono_languages ['mnr'] = "Mono language (California)", -- Mono (USA) ['mru'] = "Mono language (Cameroon)", -- Mono (Cameroon) ["snq"] = "Sangu language (Gabon)", -- Sangu (Gabon) ["toi"] = "Tonga language (Zambia and Zimbabwe)", -- Tonga (Zambia and Zimbabwe); to avoid Tonga language dab page ["vwa"] = "Awa language (China)", -- Awa (China); to avoid Awa dab page ["xlg"] = "Ligurian language (ancient)", -- see Template_talk:Lang#Ligurian_dab ["zmw"] = "Mbo language (Congo)", -- Mbo (Democratic Republic of Congo) } --[=[-------------------------< R T L _ S C R I P T S >-------------------------------------------------------- ISO 15924 scripts that are written right-to-left. Data in this table taken from [[ISO 15924#List of codes]] last update to this list: 2017-12-24 ]=] local rtl_scripts = { 'adlm', 'arab', 'aran', 'armi', 'avst', 'cprt', 'egyd', 'egyh', 'hatr', 'hebr', 'hung', 'inds', 'khar', 'lydi', 'mand', 'mani', 'mend', 'merc', 'mero', 'narb', 'nbat', 'nkoo', 'orkh', 'palm', 'phli', 'phlp', 'phlv', 'phnx', 'prti', 'rohg', 'samr', 'sarb', 'sogd', 'sogo', 'syrc', 'syre', 'syrj', 'syrn', 'thaa', 'wole', }; --[[--------------------------< T R A N S L I T _ T I T L E S >------------------------------------------------ This is a table of tables of transliteration standards and the language codes or language scripts that apply to those standards. This table is used to create the tool-tip text associated with the transliterated text displayed by some of the {{lang-??}} templates. These tables are more-or-less copied directly from {{special|PermaLink/680078354}}. The standard 'NO_STD' is a construct to allow for the cases when no |std= parameter value is provided. ]] local translit_title_table = { ['abkai'] = { -- Manchu romanization ['default'] = 'Abkai system of romanization', }, ['ahl'] = { ['default'] = 'Academy of the Hebrew Language transliteration', }, ['ala'] = { ['default'] = 'American Library Association – Library of Congress transliteration', }, ['ala-lc'] = { ['default'] = 'American Library Association – Library of Congress transliteration', }, ['batr'] = { ['default'] = 'Bikdash Arabic Transliteration Rules', }, ['bgn/pcgn'] = { ['default'] = 'Board on Geographic Names / Permanent Committee on Geographical Names transliteration', }, ['din'] = { ['ar'] = 'DIN 31635 Arabic', ['fa'] = 'DIN 31635 Arabic', ['ku'] = 'DIN 31635 Arabic', ['ps'] = 'DIN 31635 Arabic', ['tg'] = 'DIN 31635 Arabic', ['ug'] = 'DIN 31635 Arabic', ['ur'] = 'DIN 31635 Arabic', ['arab'] = 'DIN 31635 Arabic', ['default'] = 'DIN transliteration', }, ['eae'] = { ['default'] = 'Encyclopaedia Aethiopica transliteration', }, ['hepburn'] = { ['default'] = 'Hepburn transliteration', }, ['hu'] = { -- Manchu romanization ['default'] = 'Hu system of romanization', }, ['hunterian'] = { ['default'] = 'Hunterian transliteration', }, ['iast'] = { ['default'] = 'International Alphabet of Sanskrit transliteration', }, ['iso'] = { -- when a transliteration standard is supplied ['ab'] = 'ISO 9 Cyrillic', ['ba'] = 'ISO 9 Cyrillic', ['be'] = 'ISO 9 Cyrillic', ['bg'] = 'ISO 9 Cyrillic', ['kk'] = 'ISO 9 Cyrillic', ['ky'] = 'ISO 9 Cyrillic', ['mn'] = 'ISO 9 Cyrillic', ['ru'] = 'ISO 9 Cyrillic', ['tg'] = 'ISO 9 Cyrillic', ['uk'] = 'ISO 9 Cyrillic', ['bua'] = 'ISO 9 Cyrillic', ['sah'] = 'ISO 9 Cyrillic', ['tut'] = 'ISO 9 Cyrillic', ['xal'] = 'ISO 9 Cyrillic', ['cyrl'] = 'ISO 9 Cyrillic', ['cyrs'] = 'ISO 9 Cyrillic', ['ar'] = 'ISO 233 Arabic', ['ku'] = 'ISO 233 Arabic', ['ps'] = 'ISO 233 Arabic', ['ug'] = 'ISO 233 Arabic', ['ur'] = 'ISO 233 Arabic', ['arab'] = 'ISO 233 Arabic', ['he'] = 'ISO 259 Hebrew', ['yi'] = 'ISO 259 Hebrew', ['hebr'] = 'ISO 259 Hebrew', ['el'] = 'ISO 843 Greek', ['grc'] = 'ISO 843 Greek', ['ja'] = 'ISO 3602 Japanese', ['hira'] = 'ISO 3602 Japanese', ['hrkt'] = 'ISO 3602 Japanese', ['jpan'] = 'ISO 3602 Japanese', ['kana'] = 'ISO 3602 Japanese', ['zh'] = 'ISO 7098 Chinese', ['chi'] = 'ISO 7098 Chinese', ['cmn'] = 'ISO 7098 Chinese', ['zho'] = 'ISO 7098 Chinese', -- ['han'] = 'ISO 7098 Chinese', -- unicode alias of Hani? doesn't belong here? should be Hani? ['hans'] = 'ISO 7098 Chinese', ['hant'] = 'ISO 7098 Chinese', ['ka'] = 'ISO 9984 Georgian', ['kat'] = 'ISO 9984 Georgian', ['arm'] = 'ISO 9985 Armenian', ['hy'] = 'ISO 9985 Armenian', ['th'] = 'ISO 11940 Thai', ['tha'] = 'ISO 11940 Thai', ['ko'] = 'ISO 11941 Korean', ['kor'] = 'ISO 11941 Korean', ['awa'] = 'ISO 15919 Indic', ['bho'] = 'ISO 15919 Indic', ['bn'] = 'ISO 15919 Indic', ['bra'] = 'ISO 15919 Indic', ['doi'] = 'ISO 15919 Indic', ['dra'] = 'ISO 15919 Indic', ['gon'] = 'ISO 15919 Indic', ['gu'] = 'ISO 15919 Indic', ['hi'] = 'ISO 15919 Indic', ['hno'] = 'ISO 15919 Indic', ['inc'] = 'ISO 15919 Indic', ['kn'] = 'ISO 15919 Indic', ['kok'] = 'ISO 15919 Indic', ['ks'] = 'ISO 15919 Indic', ['mag'] = 'ISO 15919 Indic', ['mai'] = 'ISO 15919 Indic', ['ml'] = 'ISO 15919 Indic', ['mr'] = 'ISO 15919 Indic', ['ne'] = 'ISO 15919 Indic', ['new'] = 'ISO 15919 Indic', ['or'] = 'ISO 15919 Indic', ['pa'] = 'ISO 15919 Indic', ['pnb'] = 'ISO 15919 Indic', ['raj'] = 'ISO 15919 Indic', ['sa'] = 'ISO 15919 Indic', ['sat'] = 'ISO 15919 Indic', ['sd'] = 'ISO 15919 Indic', ['si'] = 'ISO 15919 Indic', ['skr'] = 'ISO 15919 Indic', ['ta'] = 'ISO 15919 Indic', ['tcy'] = 'ISO 15919 Indic', ['te'] = 'ISO 15919 Indic', ['beng'] = 'ISO 15919 Indic', ['brah'] = 'ISO 15919 Indic', ['deva'] = 'ISO 15919 Indic', ['gujr'] = 'ISO 15919 Indic', ['guru'] = 'ISO 15919 Indic', ['knda'] = 'ISO 15919 Indic', ['mlym'] = 'ISO 15919 Indic', ['orya'] = 'ISO 15919 Indic', ['sinh'] = 'ISO 15919 Indic', ['taml'] = 'ISO 15919 Indic', ['telu'] = 'ISO 15919 Indic', ['default'] = 'ISO transliteration', }, ['jyutping'] = { ['default'] = 'Jyutping transliteration', }, ['mdorff'] = { -- Manchu romanization ['default'] = 'Möllendorff system of romanization', }, ['mlcts'] = { ['default'] = 'Myanmar Language Commission Transcription System', }, ['mr'] = { ['default'] = 'McCune–Reischauer transliteration', }, ['nihon-shiki'] = { ['default'] = 'Nihon-shiki transliteration', }, ['no_std'] = { -- when no transliteration standard is supplied ['akk'] = 'Semitic transliteration', ['sem'] = 'Semitic transliteration', ['phnx'] = 'Semitic transliteration', ['xsux'] = 'Cuneiform transliteration', }, ['pinyin'] = { ['default'] = 'Pinyin transliteration', }, ['rr'] = { ['default'] = 'Revised Romanization of Korean transliteration', }, ['rtgs'] = { ['default'] = 'Royal Thai General System of Transcription', }, ['satts'] = { ['default'] = 'Standard Arabic Technical Transliteration System transliteration', }, ['scientific'] = { ['default'] = 'scientific transliteration', }, ['thdl'] = { ['default'] = 'THL Simplified Phonetic Transcription', }, ['ukrainian'] = { ['default'] = 'Ukrainian National system of romanization', }, ['ungegn'] = { ['default'] = 'United Nations Group of Experts on Geographical Names transliteration', }, ['wadegile'] = { ['default'] = 'Wade–Giles transliteration', }, ['wehr'] = { ['default'] = 'Hans Wehr transliteration', }, ['wylie'] = { ['default'] = 'Wylie transliteration', }, ['yaleko'] = { ['default'] = 'Yale romanization of Korean', }, ['zwpy'] = { ['default'] = 'Tibetan pinyin' }, }; --[[--------------------------< E N G _ V A R >---------------------------------------------------------------- Used at en.wiki so that spelling of 'romanized' (US, default) can be changed to 'romanised' to match the envar specified by a {{Use xxx English}}. This is accomplished by setting |engvar=gb; can, should be omitted in articles that use American English; no need for the clutter. ]] local engvar_sel_t = { -- select either UK English or US English ['au'] = 'gb_t', -- these match IANA region codes (except in lower case) ['ca'] = 'us_t', ['gb'] = 'gb_t', ['ie'] = 'gb_t', ['in'] = 'gb_t', ['nz'] = 'gb_t', ['us'] = 'us_t', -- default engvar ['za'] = 'gb_t' }; local engvar_t = { ['gb_t'] = { ['romanisz_lc'] = 'romanisation', -- lower case ['romanisz_uc'] = 'Romanisation', -- upper case ['romanisz_pt'] = 'romanised', -- past tense }, ['us_t'] = { -- default engvar ['romanisz_lc'] = 'romanization', -- lower case ['romanisz_uc'] = 'Romanization', -- upper case ['romanisz_pt'] = 'romanized', -- past tense } } --[[--------------------------< E X P O R T S >---------------------------------------------------------------- ]] return { this_wiki_lang_tag = this_wiki_lang_tag, this_wiki_lang_dir = lang_obj:getDir(), -- wiki's language direction article_name = article_name, engvar_t = engvar_t, engvar_sel_t = engvar_sel_t, lang_name_table = lang_name_table_t, override = override, rtl_scripts = rtl_scripts, special_tags_table = special_tags_table, translit_title_table = translit_title_table, }; knv71kafthtccnqs78cm6g502iqh9qu Модуль:Unicode data 828 25225 170264 2026-09-24T01:01:34Z Halajkovič 33393 Створена сторінка: local p = {} local floor = math.floor local function errorf(level, ...) if type(level) == "number" then return error(string.format(...), level + 1) else -- level is actually the format string. return error(string.format(level, ...), 2) end end local function binary_range_search(codepoint, ranges) local low, mid, high low, high = 1, ranges.length or require "Module:TableTools".length(ranges) while low <= high do mid = floor((low + high) / 2)... 170264 Scribunto text/plain local p = {} local floor = math.floor local function errorf(level, ...) if type(level) == "number" then return error(string.format(...), level + 1) else -- level is actually the format string. return error(string.format(level, ...), 2) end end local function binary_range_search(codepoint, ranges) local low, mid, high low, high = 1, ranges.length or require "Module:TableTools".length(ranges) while low <= high do mid = floor((low + high) / 2) local range = ranges[mid] if codepoint < range[1] then high = mid - 1 elseif codepoint <= range[2] then return range, mid else low = mid + 1 end end return nil, mid end p.binary_range_search = binary_range_search --[[ local function linear_range_search(codepoint, ranges) for i, range in ipairs(ranges) do if range[1] <= codepoint and codepoint <= range[2] then return range end end end --]] -- Load a module by indexing "loader" with the name of the module minus the -- "Module:Unicode data/" part. For instance, loader.blocks returns -- [[Module:Unicode data/blocks]]. If a module cannot be loaded, false will be -- returned. local loader = setmetatable({}, { __index = function (self, key) local success, data = pcall(mw.loadData, "Module:Unicode data/" .. key) if not success then data = false end self[key] = data return data end }) -- For the algorithm used to generate Hangul Syllable names, -- see "Hangul Syllable Name Generation" in section 3.12 of the -- Unicode Specification: -- https://www.unicode.org/versions/Unicode11.0.0/ch03.pdf -- binary_range_search assumes these are ordered by codepoint. Do not place them in a random order! local name_hooks = { { 0x00, 0x1F, "<control-%04X>" }, -- C0 control characters { 0x7F, 0x9F, "<control-%04X>" }, -- DEL and C1 control characters { 0x3400, 0x4DBF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension A { 0x4E00, 0x9FFF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph { 0xAC00, 0xD7A3, function (codepoint) -- Hangul Syllables local Hangul_data = loader.Hangul local syllable_index = codepoint - 0xAC00 return ("HANGUL SYLLABLE %s%s%s"):format( Hangul_data.leads[floor(syllable_index / Hangul_data.final_count)], Hangul_data.vowels[floor((syllable_index % Hangul_data.final_count) / Hangul_data.trail_count)], Hangul_data.trails[syllable_index % Hangul_data.trail_count] ) end }, -- High Surrogates, High Private Use Surrogates, Low Surrogates { 0xD800, 0xDFFF, "<surrogate-%04X>" }, { 0xE000, 0xF8FF, "<private-use-%04X>" }, -- Private Use -- CJK Compatibility Ideographs { 0xF900, 0xFA6D, "CJK COMPATIBILITY IDEOGRAPH-%04X" }, { 0xFA70, 0xFAD9, "CJK COMPATIBILITY IDEOGRAPH-%04X" }, { 0xFE00, 0xFE0F, function (codepoint) -- Variation Selectors return ("VARIATION SELECTOR-%d"):format(codepoint - 0xFE00 + 1) end}, { 0x13460, 0x143FA, "EGYPTIAN HIEROGLYPH-%04X" }, -- Egyptian Hieroglyphs Extended-A { 0x17000, 0x187FF, "TANGUT IDEOGRAPH-%04X" }, -- Tangut Ideograph { 0x18800, 0x18AFF, function (codepoint) return ("TANGUT COMPONENT-%03d"):format(codepoint - 0x187FF) end }, { 0x18B00, 0x18CDA, "KHITAN SMALL SCRIPT CHARACTER-%04X" }, -- Khitan Small Script { 0x18CFF, 0x18CFF, "KHITAN SMALL SCRIPT CHARACTER-%04X" }, -- Khitan Small Script { 0x18D00, 0x18D20, "TANGUT IDEOGRAPH-%04X" }, -- Tangut Ideograph Supplement { 0x18D80, 0x18DF2, function (codepoint) return ("TANGUT COMPONENT-%03d"):format(codepoint - 0x18A7F) end }, { 0x18E00, 0x19191, "JURCHEN IDEOGRAPH-%04X" }, -- Jurchen { 0x1B170, 0x1B2FB, "NUSHU CHARACTER-%04X" }, -- Nushu { 0x20000, 0x2A6DF, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension B { 0x2A700, 0x2B81E, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension C, D { 0x2B820, 0x2CEAD, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension E { 0x2CEB0, 0x2EBE0, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension F { 0x2EBF0, 0x2EE5D, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension I { 0x2F800, 0x2FA1D, "CJK COMPATIBILITY IDEOGRAPH-%04X" }, -- CJK Compatibility Ideographs Supplement (Supplementary Ideographic Plane) { 0x30000, 0x3134A, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension G { 0x31350, 0x33479, "CJK UNIFIED IDEOGRAPH-%04X" }, -- CJK Ideograph Extension H, J { 0x3D000, 0x3FC3F, "SMALL SEAL CHARACTER-%04X" }, -- Seal { 0xE0100, 0xE01EF, function (codepoint) -- Variation Selectors Supplement return ("VARIATION SELECTOR-%d"):format(codepoint - 0xE0100 + 17) end}, { 0xF0000, 0xFFFFD, "<private-use-%04X>" }, -- Plane 15 Private Use { 0x100000, 0x10FFFD, "<private-use-%04X>" } -- Plane 16 Private Use } name_hooks.length = #name_hooks local name_range_cache local function generate_name(data, codepoint) if type(data) == "string" then return data:format(codepoint) else return data(codepoint) end end --[[ -- Checks that the code point is a number and in range. -- Does not check whether code point is an integer. -- Not used local function check_codepoint(funcName, argIdx, val) require 'libraryUtil'.checkType(funcName, argIdx, val, 'number') if codepoint < 0 or 0x10FFFF < codepoint then errorf("Codepoint %04X out of range", codepoint) end end --]] function p.is_noncharacter(codepoint) -- U+FDD0-U+FDEF and all code points ending in FFFE or FFFF are Unassigned -- (Cn) and specifically noncharacters: -- https://www.unicode.org/faq/private_use.html#nonchar4 return 0xFDD0 <= codepoint and (codepoint <= 0xFDEF or floor(codepoint % 0x10000) >= 0xFFFE) end -- https://www.unicode.org/versions/Unicode11.0.0/ch04.pdf, section 4.8 function p.lookup_name(codepoint) if p.is_noncharacter(codepoint) then return ("<noncharacter-%04X>"):format(codepoint) end if name_range_cache -- Check if previously used "name hook" applies to this code point. and codepoint >= name_range_cache[1] and codepoint <= name_range_cache[2] then return generate_name(name_range_cache[3], codepoint) end local range = binary_range_search(codepoint, name_hooks) if range then name_range_cache = range return generate_name(range[3], codepoint) end local data = loader[('names/%03X'):format(codepoint / 0x1000)] if data and data[codepoint] then return data[codepoint] -- Unassigned (Cn) consists of noncharacters and reserved characters. -- The character has been established not to be a noncharacter, -- and if it were assigned, its name would already been retrieved, -- so it must be reserved. else return ("<reserved-%04X>"):format(codepoint) end end function p.lookup_image(codepoint) local data = loader[('images/%03X'):format(codepoint / 0x1000)] if data then return data[codepoint] end end local planes = { [ 0] = "Basic Multilingual Plane"; [ 1] = "Supplementary Multilingual Plane"; [ 2] = "Supplementary Ideographic Plane"; [ 3] = "Tertiary Ideographic Plane"; [14] = "Supplementary Special-purpose Plane"; [15] = "Supplementary Private Use Area-A"; [16] = "Supplementary Private Use Area-B"; } -- Load [[Module:Unicode data/blocks]] if needed and assign it to this variable. local blocks local function block_iter(blocks, i) i = i + 1 local data = blocks[i] if data then -- Unpack doesn't work on tables loaded with mw.loadData. return i, data[1], data[2], data[3] end end -- An ipairs-type iterator generator for the list of blocks. function p.enum_blocks() local blocks = loader.blocks return block_iter, blocks, 0 end function p.lookup_plane(codepoint) local i = floor(codepoint / 0x10000) return planes[i] or ("Plane %u"):format(i) end function p.lookup_block(codepoint) local blocks = loader.blocks local range = binary_range_search(codepoint, blocks) if range then return range[3] else return "No Block" end end function p.get_block_info(name) for i, block in ipairs(loader.blocks) do if block[3] == name then return block end end end function p.is_valid_pagename(pagename) local has_nonws = false for cp in mw.ustring.gcodepoint(pagename) do if (cp == 0x0023) -- # or (cp == 0x005B) -- [ or (cp == 0x005D) -- ] or (cp == 0x007B) -- { or (cp == 0x007C) -- | or (cp == 0x007D) -- } or (cp == 0x180E) -- MONGOLIAN VOWEL SEPARATOR or ((cp >= 0x2000) and (cp <= 0x200A)) -- spaces in General Punctuation block or (cp == 0xFFFD) -- REPLACEMENT CHARACTER then return false end local printable, result = p.is_printable(cp) if not printable then return false end if result ~= "space-separator" then has_nonws = true end end return has_nonws end local function manual_unpack(what, from) if what[from + 1] == nil then return what[from] end local result = {} from = from or 1 for i, item in ipairs(what) do if i >= from then table.insert(result, item) end end return unpack(result) end local function compare_ranges(range1, range2) return range1[1] < range2[1] end -- Creates a function to look up data in a module that contains "singles" (a -- code point-to-data map) and "ranges" (an array containing arrays that contain -- the low and high code points of a range and the data associated with that -- range). -- "loader" loads and returns the "singles" and "ranges" tables. -- "match_func" is passed the code point and either the data or the "dots", and -- generates the final result of the function. -- The varargs ("dots") describes the default data to be returned if there wasn't -- a match. -- In case the function is used more than once, "cache" saves ranges that have -- already been found to match, or a range whose data is the default if there -- was no match. local function memo_lookup(data_module_subpage, match_func, ...) local dots = { ... } local cache = {} local singles, ranges return function (codepoint) if not singles then local data_module = loader[data_module_subpage] singles, ranges = data_module.singles, data_module.ranges end if singles[codepoint] then return match_func(codepoint, singles[codepoint]) end local range = binary_range_search(codepoint, cache) if range then return match_func(codepoint, manual_unpack(range, 3)) end local range, index = binary_range_search(codepoint, ranges) if range then table.insert(cache, range) table.sort(cache, compare_ranges) return match_func(codepoint, manual_unpack(range, 3)) end if ranges[index] then local dots_range if codepoint > ranges[index][2] then dots_range = { ranges[index][2] + 1, ranges[index + 1] and ranges[index + 1][1] - 1 or 0x10FFFF, unpack(dots) } else -- codepoint < range[index][1] dots_range = { ranges[index - 1] and ranges[index - 1][2] + 1 or 0, ranges[index][1] - 1, unpack(dots) } end table.sort(cache, compare_ranges) end return match_func(codepoint) end end -- Get a code point's combining class value in [[Module:Unicode data/combining]], -- and return whether this value is not zero. Zero is assigned as the default -- if the combining class value is not found in this data module. -- That is, return true if character is combining, or false if it is not. -- See https://www.unicode.org/reports/tr44/#Canonical_Combining_Class_Values for -- more information. p.is_combining = memo_lookup( "combining", function (codepoint, combining_class) return combining_class and combining_class ~= 0 or false end, 0) function p.add_dotted_circle(str) return (mw.ustring.gsub(str, ".", function(char) if p.is_combining(mw.ustring.codepoint(char)) then return '◌' .. char end end)) end local lookup_control = memo_lookup( "control", function (codepoint, ccc) return ccc or "assigned" end, "assigned") p.lookup_control = lookup_control function p.is_assigned(codepoint) return lookup_control(codepoint) ~= "unassigned" end function p.is_printable(codepoint) local result = lookup_control(codepoint) return (result == "assigned") or (result == "space-separator"), result end function p.is_whitespace(codepoint) local result = lookup_control(codepoint) return (result == "space-separator"), result end p.lookup_category = memo_lookup( "category", function (codepoint, category) return category end, "Cn") local lookup_script = memo_lookup( "scripts", function (codepoint, script_code) return script_code or 'Zzzz' end, "Zzzz") p.lookup_script = lookup_script function p.get_best_script(str) -- Check type of argument, because mw.text.decode coerces numbers to strings! require "libraryUtil".checkType("get_best_script", 1, str, "string") -- Convert HTML character references (including named character references, -- or character entities) to characters. str = mw.text.decode(str, true) local scripts = {} for codepoint in mw.ustring.gcodepoint(str) do local script = lookup_script(codepoint) -- Ignore "Inherited", "Undetermined", or "Uncoded" scripts. if not (script == "Zyyy" or script == "Zinh" or script == "Zzzz") then scripts[script] = true end end -- If scripts does not contain two or more keys, -- return first and only key (script code) in table. if not next(scripts, next(scripts)) then return next(scripts) end -- else return majority script, or else "Zzzz"? end function p.is_Latin(str) require "libraryUtil".checkType("get_best_script", 1, str, "string") str = mw.text.decode(str, true) -- Search for the leading bytes that introduce the UTF-8 encoding of the -- code points U+0340-U+10FFFF. If they are not found and there is at least -- one Latin-script character, the string counts as Latin, because the rest -- of the characters can only be Zyyy, Zinh, and Zzzz. -- The only scripts found below U+0370 (the first code point of the Greek -- and Coptic block) are Latn, Zyyy, Zinh, and Zzzz. -- See the codepage in the [[UTF-8]] article. if not str:find "[\205-\244]" then for codepoint in mw.ustring.gcodepoint(str) do if lookup_script(codepoint) == "Latn" then return true end end end local Latn = false local i = 0; -- indexer for use in error messages for codepoint in mw.ustring.gcodepoint(str) do i = i + 1; -- bump the indexer local script = lookup_script(codepoint) if script == "Latn" then Latn = true elseif not (script == "Zyyy" or script == "Zinh" or script == "Zzzz") then return false, i -- abandon as not Latn; identify the offending character's position end end return Latn, (not Latn and i) or nil -- when <Latn> false, return offending charactor's position as second return value; nil else end -- Checks that a string contains only characters belonging to right-to-left -- scripts, or characters of ignorable scripts. function p.is_rtl(str) require "libraryUtil".checkType("get_best_script", 1, str, "string") str = mw.text.decode(str, true) -- Search for the leading bytes that introduce the UTF-8 encoding of the -- code points U+0580-U+10FFFF. If they are not found, the string can only -- have characters from a left-to-right script, because the first code point -- in a right-to-left script is U+0591, in the Hebrew block. if not str:find "[\214-\244]" then return false end local result = false local rtl = loader.scripts.rtl for codepoint in mw.ustring.gcodepoint(str) do local script = lookup_script(codepoint) if rtl[script] then result = true elseif not (script == "Zyyy" or script == "Zinh" or script == "Zzzz") then return false end end return result end --[[--------------------------< I S _ R T L _ F R A M E >------------------------------------------------------ external entry from an {{#invoke:}} to determine if a string of text is rtl. Strips html and html-like tags so that those tags don't corrupt the is-rtl-is-not-rtl determination; this added for the cases where the rtl text has <br /> tags. ]] function p.is_rtl_frame (frame) local str = frame.args[1]; -- get the string from the {{#invoke:}} frame str = str:gsub ('%b<>', ''); -- strip any html and html-like tags return p.is_rtl (str); -- return if whatever remains rtl; false else end local function get_codepoint(args, arg) local codepoint_string = args[arg] or errorf(2, "Parameter %s is required", tostring(arg)) local codepoint = tonumber(codepoint_string, 16) or errorf(2, "Parameter %s is not a code point in hexadecimal base", tostring(arg)) if not (0 <= codepoint and codepoint <= 0x10FFFF) then errorf(2, "code point in parameter %s out of range", tostring(arg)) end return codepoint end local function get_func(args, arg, prefix) local suffix = args[arg] or errorf(2, "Parameter %s is required", tostring(arg)) suffix = mw.text.trim(suffix) local func_name = prefix .. suffix local func = p[func_name] or errorf(2, "There is no function '%s'", func_name) return func end -- This function allows any of the "lookup" functions to be invoked. The first -- parameter is the word after "lookup_"; the second parameter is the code point -- in hexadecimal base. function p.lookup(frame) local func = get_func(frame.args, 1, "lookup_") local codepoint = get_codepoint(frame.args, 2) local result = func(codepoint) if func == p.lookup_name then -- Prevent code point labels such as <control-0000> from being -- interpreted as HTML tags. result = result:gsub("<", "&lt;") end return result end function p.is(frame) local func = get_func(frame.args, 1, "is_") -- is_Latin and is_valid_pagename take strings. if func == p.is_Latin or func == p.is_valid_pagename or func == p.is_rtl then return (func(frame.args[2])) else -- The rest take code points. local codepoint = get_codepoint(frame.args, 2) return (func(codepoint)) -- Adjust to one result. end end function p.lookup_kCantonese(codepoint) local data = loader[('Unihan/kCantonese/%02X'):format(floor(codepoint / 0x1000))] if data then return data[codepoint] end end return p qsurfs20jboj5ejuj5ps85xjotbbrt3