Вікіпедія 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.16 first-letter Медіа Шпеціална Діскузія Хоснователь Діскузія з хоснователём Вікіпедія Діскузія ку Вікіпедії Файл Діскузія ку файлу MediaWiki Діскузія ку MediaWiki Шаблона Діскузія ку шаблонї Поміч Діскузія ку помочі Катеґорія Діскузія ку катеґорії TimedText TimedText talk Модуль Обговорення модуля Подія Обговорення події 17. децембер 0 107 168747 144256 2026-08-25T17:55:51Z Igor Kercsa 5504 мала оправа 168747 wikitext text/x-wiki {{День рока}} '''17. децембер''' — 351. [[день]] рока (352. в [[Переступный рік|переступнім роцї]]) в [[Ґреґоріаньскый календарь|ґреґоріаньскім календарю]]. До кінце рока оставать {{день|14}}. == Подїї == == Народили ся == * [[1525]] — [[Джованні Пєрлуїджі да Палестріна]], італьянськый композитор, єдин из май великых поліфоністу епохы Ренесанса. == Вмерли == * [[1830]] — [[Сімон Болівар]], венезуельскый ґенерал і політік. *[[1957]] — [[Дороті Лі Сеєрс]], анґліцька писателька, перекладачка, лінґвістка. {{Commons|December 17}} mnd0c9kmroyewcapi97yykoarfqv6je 1987 0 238 168745 161434 2026-08-25T17:33:03Z Igor Kercsa 5504 доповненя 168745 wikitext text/x-wiki {{Навіґація про рокы|1987}} {{Рік ся зачінав|1987}} == Подѣи == * [[20. децембер]] — затопив ся [[Филиппины|филиппинскый]] траект ''[[Донья Пас]]'' зоз понад 4300 пасажерами, што ся стало найвекшов морсков катастрофов мирного часу в истории. == Уродили ся == * [[17. януар]] — [[Усик Олександр Олександрович]], українськый професійный боксер. Чемпіон світа в першуй тяжкуй вазї. * [[20. авґуст]] — [[Крістіна Пелакова]] — словеньска співачка. == Умерли == * [[23. януар]] — [[Луі де Фюнес]] — французькый філмовый актор. * [[22. фебруар]] — [[Енді Варгол]] — америцькый умелець русиньского походжіня. * [[14. марец]] — [[Иван Мацинскый]], [[поет]], [[литературознатель]], [[перекладатель]], [[Публицистика|публициста]], [[педагог]] и сполоченско-културный активиста [[Пряшовскый край|Пряшовского региона]] [[Словакия|Словакии]]. * [[6. апріль|6. апрѣль]] — [[Александер Фединець]], [[дохтор]]-хирург, закладатель закарпатской школы хирургох. * [[29. септембер]] — [[Янко Чеман]], [[Словацкый язык|словацкый]] [[писатель]] [[Войводина|Войводины]]. {{Commons|September 29}} * [[4. новембер]] — [[Андрѣй Коцка]], [[Подкарпатска Русь|подкарпатскый]] [[малярь]] * [[6. децембер]] — [[Йосиф Жупан]], украинскый [[писатель]], [[педагог]], [[автор]] учебникох про националны меншины. {{Commons|1987}} r6g3zsceg35czd9ut2aadav3aysshh5 6. апріль 0 332 168744 136537 2026-08-25T17:30:58Z Igor Kercsa 5504 доповненя 168744 wikitext text/x-wiki {{День рока}} '''6. апріль''' — 96. [[день]] рока (97. в [[Переступный рік|переступнім роцї]]) в [[Ґреґоріаньскый календарь|ґреґоріаньскім календарю]]. До кінце рока оставать {{день|269}}. == Подѣи == == Уродили ся == * [[1483]] — [[Рафаел]], італскый малярь і архітектор флорентьской школы. * [[1953]] — [[Александер Зозуляк]], [[новинарь]], выдаватель, русинскый културный працовник, [[малярь]] == Умерли == * [[885]] — [[Святый Мефодий]], перекладатель Святого Письма до славянчины, патрон Европы и Моравии. * [[1520]] — [[Рафаел]], італскый малярь і архітектор флорентьской школы. * [[1528]] — [[Албрехт Дюрер]], малярь, ґрафік і теоретік уменя. * [[1971]] — [[Іґор Стравіньскый]], російскый композітор * [[1987]] — [[Александер Фединець]], [[дохтор]]-хирург, закладатель закарпатской школы хирургох. {{Commons|April 6}} mz6ihjtcsimwgjleajyzrf3yep1q2m3 Обєктово орьєнтоване проґрамованя 0 904 168759 156163 2026-08-26T06:54:39Z Rue323 31002 168759 wikitext text/x-wiki '''Обєкто́во орьєнто́ване проґрамо́ваня''' (скорочоване на ''OOP'', з анґліцького '''object-oriented programming''') є [[методіка]] вывоя [[Софтвер|софтверу]], основана на наступных ідеях, концепціях: == Концепція == * ''Обєкты'' – єднотвливы елементы моделованой реаліты (як дата, так повязану функчность) суть в проґрамі зґрупованы до [[Ентіта (математіка)|ентіт]], званых обєкты. обєкты собі памятають свій статус і навонка додавають ''операції'' (доступны як методы про кликаня). * ''Абстракція'' – [[проґраматор]], ці тыж [[Компютеровый проґрам|проґрам]], котрый створює, може абстраговати од дакотрых детайлів роботы єднотливый обєктів. Каждый обєкт працує як [[Чорна скринька (кібернетіка)|чорна скринька]], котра годна выконовати становлены дїї і комуніковати з околіцёв, без того жебы пожадовала знаня способу, котрым днука працує. * ''Капсулація'' – ґарантує, же обєкт не може прямо приступовати до „внутрїшностей“ іншых обєктів, што бы могло вести к неконзістенції. Каждый обєкт з вонкашнёго погляду сприступнює ''інтерфейс'', за помочі котрого (і нияк іншак) ся з обєктом працує. * ''Складаня'' – Обєкт може обсяговати іншы обєкты. * ''Делеґованя'' – Обєкт може хосновати службы іншых обєктів так, же їх пожадать о проведжіна операції. * ''Дїдиня'' – обєкты суть орґанізованы стромовым способом, коли обєкты даякой сорты можуть ''дїдити'' з іншой сорты обєктів, чім переберають їх споснобности, ку котрым лем додавають свої властны росшырїня. Тота ідея ся звычайно імплементує за помочі роздїлїня обєктів до ''клас'', причім каждый обєкт є інштанціов становленок класы. Кажда класа пак може дїдити ід іншой класы (в дакотрых языках проґрамованя і з пару іншых клас). * ''[[Поліморфізм]]'' – одказованый обєкт ся веде на основі того, якой класы є інштанціов. Кідь пару обєктів додавать такый самый інтерфейс, працує ся з нима тым самым способом, але їх конкретне хованя ся одрізнять залежно од їх імплементації. В поліморфізму условного дїдинём тото значіть, же на місце, де є чекана інштанція даякой класы, можеме досадити і інштанцію хоцякой єй підкласы, бо інтерфейс підкласы є підмножинов інтерфейсу класы. В поліморфізму безусловного дїдинём старчіть, кідь ся інтерфейсы (або їх пожадованы части) в різных класах згодують, пак суть взаємно поліморфны. {{Стыржень}} [[Катеґорія:Проґрамованя]] 6uhwectr9z8l7dzg52cskdfpsvhxjf9 1893 0 2169 168746 143947 2026-08-25T17:40:09Z Igor Kercsa 5504 мала оправа 168746 wikitext text/x-wiki {{Навіґація про рокы|1893}} {{Рік ся зачінав|1893}} == Подѣи== * [[11. фебруар]] — [[Янош Чонка]] и [[Донат Банки]] запатентовали карбуратор. * [[25. апріль|25. апрѣля]] — остаткы поета [[Николоз Бараташвили|Николоза Бараташвили]] перевезли з [[Ганджа|Ганджи]] в [[Азербайджан]]ѣ до [[Тбилиси|Тифлиса]] и святочно погребли при великой зглотѣ народа. == Уродили ся == * [[25. май]] — [[Иван Мондок]], [[учитель]], [[новинарь]], политичный дѣятель [[Подкарпатска Русь|Подкарпатской Руси]]. * [[8. юн]] — [[Мария Пуйманова]], [[Чесько|чешска]] [[писатель]]ка и [[новинарь]]ка. *[[13. юн]] — [[Дороті Лі Сеєрс]], анґліцька писателька, перекладачка, лінґвістка. * [[19. юл]] — [[Владимир Маяковскый]], ведучый русскый [[поет]] [[Октоброва револуция|револуции 1917]] и первого пореволучного периода, [[Футуризм|футуриста]]. * [[16. септембер]] — [[Алберт Сент-Дьердьи]], [[Мадяре|мадярскый]] [[Медик|дохтор]] и [[Биохемия|биохемик]], [[Нобелова награда|Нобелов лавреат]] * [[26. децембер]] — [[Мао Цзедун]], лидер [[Кітайска Народна Републіка|Китайской Народной Републикы]]. == Умерли == * [[13. юн]] — [[Владимир Хыляк]], русинскый [[писатель]], [[етнограф]], [[Грекокатолицка Церковь|грекокатолицкый]] священик. * [[6. новембер]] - [[Петро Ілліч Чайковскый]], російскый музичный складатель. {{Commons|1893}} sz37hyzyiyt23rewvw9qya70wj40q60 13. юн 0 2296 168742 143946 2026-08-25T17:27:12Z Igor Kercsa 5504 доповненя 168742 wikitext text/x-wiki {{День рока}} '''13. юн''' — 164. [[день]] рока (165. в [[Переступный рік|переступнім роцї]]) в [[Ґреґоріаньскый календарь|ґреґоріаньскім календарю]]. До кінце рока оставать {{день|201}}. == Подѣи == == Уродили ся == * [[1831]] — [[Джеймс Клерк Максвелл]], фізік. *[[1893]] — [[Дороті Лі Сеєрс]], анґліцька писателька, перекладачка, лінґвістка. * [[1897]] — [[Александер Фединець]], [[дохтор]]-хирург, закладатель закарпатской школы хирургох. * [[1959]] — [[Валерий Падяк]], выдаватель, русинскый дѣятель културы. == Умерли == * [[1850]] — [[Юрай Палкович (професор)|Юрай Палкович]], словацкый [[поет]], [[професор]], [[писатель]], [[драматик]], [[новинарь]], народный будитель [[Словаци|Словакох]] * [[1893]] — [[Владимир Хыляк]], русинскый [[писатель]], [[етнограф]], [[Грекокатолицка Церковь|грекокатолицкый]] священик. {{Commons|June 13}} rvtmifll5tqiufyk7t0w6o96jlj8ssr 1957 0 2469 168748 143949 2026-08-25T17:56:30Z Igor Kercsa 5504 мала оправа 168748 wikitext text/x-wiki {{Навіґація про рокы|1957}} == Подѣи == * [[4. октобер]] — [[СССР]] отворив добу [[Козмонавтика|козмонавтикы]] выпущѣньом на [[Орбита|орбиту]] первого [[штучный сателит|штучного сателита]] [[Земля (планета)|Земли]]. == Уродили ся == * [[6. януар]] — [[Юлиан Надь]], [[писатель]] и [[новинарь]]. * [[31. януар]] — [[Петер Шворц]], словацкый [[историк]], универзитный [[професор]]. * [[25. октобер]] — [[Михаил Капраль]], [[Мадярщина|мадярскый]] [[Языкознательство|языкознатель]], [[Славистика|слависта]]. == Умерли == * [[19. май]] — [[Кондратович, Ириней|Ириней Кондратович]], священник, историк, писатель, новинарь, културный и церковный дѣятель [[Підкарпатьска Русь|Подкарпатской Руси]]. *[[17. децембер]] — [[Дороті Лі Сеєрс]], анґліцька писателька, перекладачка, лінґвістка. [[Катеґорія:Рокы]] ksdrh726xzn4hssbvzwqwysd07sew7n 1897 0 2489 168743 129730 2026-08-25T17:29:09Z Igor Kercsa 5504 доповненя 168743 wikitext text/x-wiki {{TOCright}} {{Навіґація про рокы|1897}} {{Рік ся зачінав|1897}} == Подѣи == == Уродили ся == * [[17. януар]] — [[Александер Хира]], [[Мукачовска грекокатолицка епархия|епископ Мукачовскый]], Папскый прелат. ректор Ужгородской духовной семинарии. * [[28. януар]] (16.01 [[Юл. кал.|Юл.кал.]]) — [[Валентин Катаев]], [[Россия|русскый]] [[СССР|совѣтскый]] [[писатель]], [[поет]] и [[драматик]], [[новинарь]]. * [[24. апріль|24. апрѣль]] — [[Василь Гренджа-Донскый]], украинскый писатель Чехословакии. * [[13. юн]] — [[Александер Фединець]], [[дохтор]]-хирург, закладатель закарпатской школы хирургох. * [[25. децембер]] — [[Іван Новак]], русиньскый поет, прозаік. гуморіста і сатірік, комедіоґраф. == Умерли == * [[20. марец]] — [[Аполлон Майков]], [[Русскый язык|русскый]] [[поет]] [[Катеґорія:Рокы]] * [[8. апріль|8. апрѣль]] — [[Гайнрих фон Штефан]], реформатор [[пошта|пошты]], закладатель [[Свѣтова поштова уния|''Свѣтовой поштовой унии'']]. kw01zrp7owx4vkxu9guzu324dakmgu3 Шаблона:Cite journal 10 20471 168755 139796 2026-08-25T22:43:50Z Halajkovič 33393 Вилучено перенаправлення на [[Шаблона:Citation]] 168755 wikitext text/x-wiki <includeonly>{{#invoke:Citation/CS1|citation |CitationClass=journal }}</includeonly><noinclude> {{documentation}} </noinclude> 9fcytsszanq7xbwi3p28zsneear9938 Діскузія з хоснователём:Rue323 3 21882 168760 165679 2026-08-26T09:40:53Z Gazdadev 36573 /* Сірєноґірьовый */ нова секція 168760 wikitext text/x-wiki == Поміч == Добрый день/ночі! В порівняню з остатныма за послїднїй час хоснователями вы єдина хоснователька в русиньскій Вікіпедії, котра пише в середнім 1-2 статї в день. Можуть быти хыбы, але головне їх оправити. Вы уж мате велику практіку ку написаню статей, і іщі до їх перекладу. Єднім сі, же буде тяжко вшыток змінити, векшына часть статей (приближно ≈90%) во Вікіпедії стоїть на містї, вандалізм, вытвореня пустых статей, даколи мате почутя, же тота Вікіпедія є якымсь анархістьскым містом, подля іншых експеріментів, актіва не є практічно, потребно штось міняти. Ці хотїли бы вы зі мнов сполупрацовати і полїпшыти сітуацію в русиньскій Вікіпедії? Кедь хочете помочі, напиште свою соціалну мрежу (discord, telegram, gmail), жебы могти з вами контактовати. [[Хоснователь:Constraque|Constraque]] ([[Діскузія з хоснователём:Constraque|діскусія]]) 21:10, 16 септембра 2024 (CEST) :Telegram: @Ruszinok_Orosz (Анґеліна Палаташъ) [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 10:28, 17 септембра 2024 (CEST) == Правопис == Найновшы правила правопису 2019 (Плїшкова, Копорова, Ябур) https://www.unipo.sk/public/media/39244/FINAL-lexika%2008-06-2021_1.pdf на с. 229 подають правилны формы: Молдаване, молдавскый. [[Хоснователь:Igor Kercsa|Igor Kercsa]] ([[Діскузія з хоснователём:Igor Kercsa|діскусія]]) 19:53, 14 септембра 2024 (CEST) :Я бы м сама не против перемінити тоту назву (ге и автор статі @[[Хоснователь:Іван Романеску|Іван Романеску]] айбо кідь ї переменовати та обнулять ся елемент Вікіданы.) [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 20:08, 14 септембра 2024 (CEST) == Бронька == Добрый вечур. Маю до вас пару просьб у дотычности до статі [[Бронька]]. 1. Не нападайте на новых учасникув. Опытні учасникы мают помагати новачкам из оформленьом, а не наказовати їм лишити Вікіпедію. Хыбы роблять ушыткі, так само и вы. Кедь маєте што вповісти конструктивного, хоснуйте сторунку дискусії. 2. На Русинськуй Вікіпедії є неформалноє правило етикета — языковый варіант ся мінят лем при значному доповненю статі. Добре, што додали сьте вікі-форматованя, айбо язык статі варта было не кывати. Не кажу вже за тото, што додали сьте у статю языкові хыбы, котрі так само кось мусить правити. 3. Інформацію на Вікіпедії мусай пудтвержовати жерелами. На переписі населеня Украйины 2001. року русины ся не раховали (тым булше верховинці и долиняне). Из головы, на «хлопськый розум» сяк писати не слобудно, тото нарушат основні правила Вікіпедії. Кедь хочете написати за хыбы украйинського переписа, тото ся має робити в статі за сам перепис (из жерелами). Тоту саму проблему виджу у многых статях из вашов участьов. [[Хоснователь:Engelseziekte|Engelseziekte]] ([[Діскузія з хоснователём:Engelseziekte|діскусія]]) 00:57, 15 октобра 2024 (CEST) :За нападаня праві сь те, кідь ись те годні та за языкові хыбы ми кажіть, бо ге ся каже Вік живи — Вік учи ся. (Надіву ся вы не будете раховати хоснованя Ӯ, Ю̄ за хыбу)). [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 13:56, 15 октобра 2024 (CEST) == Непудтверджені народности у селах == Доброго здоровля! Вижу ож маєте тенденцію у многі населені пункты в Пудкарпатьови додавати в інформацію за населеня (спиравучи ся на перепис 2001. рока) удмітку за Русинув Долинян / Верьховинцюв и так дале. У переписови за 2001. гуд я таку інформацію не найшов. Долинян авадь Верьховинцюв у исписови ниє, руно у тому переписови не пише, ож там живут русины. Є інформація за метеринськый язык, но не за народность. Будьте добрі, дайте жерело на таку інформацію, бо инчак тото треба буде поутирати гет. Вікіпедія має быти містом про фактичну інформацію. [[Хоснователь:Michaelkoosha|Michaelkoosha]] ([[Діскузія з хоснователём:Michaelkoosha|діскусія]]) 15:51, 18 октобра 2024 (CEST) :Графа иппен за Русинӯв и етнос котрый там жиє не спирать ся на перепис 2001 року, не мож раховати усьых містных Русинами авадь Украйинцями, тому така доста теоретична графа бо многі люде там годни ся раховати Русинами но не быти записаными, так записано же докӯть не буде ясность ситуації из Русинами и Украйинцями у Пудкарпатёви. И при тому тяжко розділити по розділам по языкови и нації бо у переписови окрем варошӯв и подакотрых сел звідано леш язык, а у дакотрых даже такых даных ниє. :[[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 08:11, 19 октобра 2024 (CEST) ::D [[Хоснователь:Michaelkoosha|Michaelkoosha]] ([[Діскузія з хоснователём:Michaelkoosha|діскусія]]) 15:52, 19 октобра 2024 (CEST) ::Проблематика переписа 2001. рока нам ясна, на сюв Вікі нитко не чинит ся, ож там была подана сугубо правдива інформація. Руно так знаєме, ож наша чилядь має проблемы из репрезентаційов тай самовызначіньом. ::Айбо у статях пишете ож "ставом на 2001. гӯд там жиє ..." тай подаєте ціфры из того переписа, но дописуєте д тым ціфрам свою інформацію, котрої в тому жерелови ниє. На Вікіпедії сяк чинити не мож, сесе є маніпулація інформаційов. А маніпулація інформаційов тото не добрі, даже кидь ся чинит на благо русинського народа. Гаткуйте за тым, обы писати у статях фактічну інформацію, а не свої придумкы, бодай сут и дуже благі. ::Буде май продуктівно, кидь напишете може окрему публикацію за проблематику переписа 2001. рока, тай чом ся на подані там податкы не мож повностю сполїгати. А вжек у ґрафі за населеня у сих селах мож ся удкликати на тоту публикацію. Помирькуйте над такым варіантом. [[Хоснователь:Michaelkoosha|Michaelkoosha]] ([[Діскузія з хоснователём:Michaelkoosha|діскусія]]) 15:56, 19 октобра 2024 (CEST) ::На Вікіпедії має місто лем пудтвержена інформація, а не теоретична. Вижу, ож раз дале робите тоту саму хыбу в новых статях. Не іґноруйте правила Вікіпедії. За нарушеня правил Вас будуть годні заблоковати. [[Хоснователь:Engelseziekte|Engelseziekte]] ([[Діскузія з хоснователём:Engelseziekte|діскусія]]) 16:07, 19 октобра 2024 (CEST) :::Добрі, прислухаву ся, у контекстови Пудкарпатя. [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 22:58, 19 октобра 2024 (CEST) ::::Уважайте, будьте добрі, як товмачите, бо сохтуєте некоректно товмачити з украйинської вікіпедії статі за села. На украйинськуй вікіпедії, у розділох за быватилюв села ся давут податкы з списованя 2001. рока, айбо за '''материнськый язык''', што не є ідентично '''націоналному составови''', ги тото подаєте вы. ::::'''Напримір:''' ::::укр. [[:uk:Іванівці_(Дністровський_район)|Іваніцві (Дністровський район)]]: ''Розподіл населення за рідною мовою за даними перепису 2001 року: '''исписок языкув''''' - исе коректна інформація. ::::вашоє [[Ивановци (Дністровськый район)]]:'' У селі на 2001 рӯк живе 3237 людий, из них: '''исписок націоналностий''''' - исе '''укривлена''' інформація. ::::Сякі неточности сут дораз у доґдеєднуй вашуй статі. Волієте написати єдну читаву статю за три дны, ги вусям адсякых за єден динь. Щи раз вас прошу уважати на коректну подачу інформації, биріт исе ги послідньоє варованя. ::::P.S. у нормах русинського языка ся назывкы сякого филя кунчавут на -ці (авадь -цї, кидь хоснуєте ї на мнягчиня). Поз. [https://www.academia.edu/73965907/%D0%9A%D0%B0%D1%80%D0%BF%D0%B0%D1%82%D0%BE%D1%80%D1%83%D1%81%D0%B8%D0%BD%D1%81%D1%8C%D0%BA%D1%96_%D0%BF%D0%BE%D1%81%D0%B5%D0%BB%D0%B5%D0%BD%D1%8F_%D0%9B%D1%96%D1%88%D1%82%D0%B0_%D1%81%D0%B5%D0%BB_%D0%B8_%D0%B2%D0%B0%D1%80%D0%BE%D1%88%D1%83%D0%B2_%D1%83_%D0%A6%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%BD%D1%83%D0%B9_%D0%95%D0%B2%D1%80%D0%BE%D0%BF%D1%96_%D0%B4%D0%B5_%D0%B4%D0%BD%D0%B5%D1%81%D1%8C_%D0%B1%D1%8B%D0%B2%D0%B0%D0%B2%D1%83%D1%82%D1%8C_%D0%B2%D0%B0%D0%B4%D1%8C_%D0%B4%D0%B0%D0%BA%D0%BE%D0%BB%D1%8B_%D0%B1%D1%8B%D0%B2%D0%B0%D0%BB%D0%B8_%D0%9A%D0%B0%D1%80%D0%BF%D0%B0%D1%82%D0%BE%D1%80%D1%83%D1%81%D0%B8%D0%BD%D1%8B_%D0%A1%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C_%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB_%D0%9A%D0%B0%D0%BF%D1%80%D0%B0%D0%BB%D1%8C_Budapest_2021_96_c| Карпаторусинські поселеня. Михаил Капраль]. Т.є. назывка бы мала быти Иванувці. [[Хоснователь:Gramo Džukić|Gramo Džukić]] ([[Діскузія з хоснователём:Gramo Džukić|діскусія]]) 11:02, 21 октобра 2024 (CEST) :::::Добрі, я уж адде поняла ож воліву за сутку айбо велику статю затовмачити [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 16:35, 21 октобра 2024 (CEST) == Проблемні статі == Добрый день. Маєте специфічный стиль роботы, котрый часто не йде проєктови на хосен. Мусай май гадковати на кваліту. Тяжко найти хоть єдну вашу статю, котра бы удповідала стандартам Вікіпедії. Долу подаю хыбашні приміры '''лем за послідньый час'''. Треба, обы сьте їх направили. На жаль, из вашыми темпами тото нико другый не встигне захарити. Аж дале будете лишати статі в такому стані, дуйде до санкцій а(вадь) стераня низкоквалітных статей. Аж будете мати даякі вопросы, можете їх писати туй. * Статі, де хыблять референції: [[Сято]], [[Концово]], [[Ліхтенштейні]], [[Боснякы у Сербиї]], [[Круче]], [[Северный Опасный Риф]], [[Парасельскі островы]], [[Керкена]], [[Гайове (Кропивницькый район)]], [[Велика Бийгань]], [[Варіхівці]], [[Лендєл, Золтан Золтанович]], [[Фоча (субреґіон)]], [[Плужіне]], [[Ульцинь (община)]], [[Бар (Чорна Гора)]], [[Салч]], [[Ряпідь]], [[Вая (варош)]], [[Туймазы]], [[Тісаашвань]], [[Капушаньскі Клячаны]], [[Плоскый Потӯк]], [[Оградзаны]], [[Череёвци]], [[Балатонфӯред]], [[Ульцинь]], [[Реч (Чорна Гора)]], [[Сукобін]], [[Вареш]], [[Само]], [[По̄ляна (Хустськый район)]], [[По̄ляна]], [[Німшин]], [[Ґастроентеролоґія]], [[Щербовець]], [[Главный град Подґориця]], [[Баркасово]], [[Ивановци (Дністровськый район)]], [[Доболц]], [[Фертешолмаш]], [[Метех]], [[Велика (Чорна Гора)]], [[Гусине (община)]], [[Гусине]], [[Дубы (Хустськый район)]], [[Жанна Луиза Калман]], [[Шкуратовци]], [[Чабановка (Ужгородьскый район)]], [[Фонтан]], [[Пчолы]], [[Мерешор]], [[Украйинці у Туркменістанови]], [[Дніпро (варош)]], [[Гуняді]], [[Вала]], [[Плав (община)]], [[Общины Чорной Горы]], [[Владимир (Чорна Гора)]], [[Козаковка (Болеховська вароська рада)]], [[Черна (Украйина)]], [[Їржі Драгош]], [[УПА-Запад]], [[Угерскоє Градіштє]], [[Словеньска Волова]], [[Угерскоє Градіштє (окрес)]], [[Кривый (Хустськый район)]], [[Малый Раковиць]], [[Торкы]], [[Голубінка]], [[Колониці (Лемковина)]], [[Яблонкы]], [[Сімеркы]], [[Нижня Солотвина]], [[Музей археолоґії Батурина]], [[Дубровка (Тячовскый район)]], [[Брчко]], [[Бискӯв]], [[Telegram]], [[Згары]], [[Нижньый Дубовиць]], [[Бенедековци]], Свалявка, Біласовиця, Меммінґен, Мальдівы на літньых дітвацькых Олімпійськых играх 2014, Медьє, Камерун, Велика Украйина, Намюр, Жудец, Герцовци, Ӱ (кирилиця), Збойник, Букӯвцёво, Ракош, Пудгорб, Добош Торта, Кузьмино (Украйина), Завосіно, По̄ляна (Самбӯрськый район), Лімна, Хотиньскый район, Учіха Саске * Статі з покажеными референціями: [[Адміністративноє діленя Сербиї]], [[Боснякы у Сербиї]], [[Улиця Гулака-Артемовського (Львӯв)]], [[Колекторна улиця]], [[Вооружені силы Украйины]], [[Оріховиця]], [[Вестфілд (Вісконсин)]], [[Само]], [[Німшин]], [[Баркасово]], [[Ивановци (Дністровськый район)]], [[Фертешолмаш]], [[Жанна Луиза Калман]], [[Фонтан]], [[Мерешор]], [[Дніпро (варош)]], [[Лемкӯвськоє письмо]], [[Тарантиньска Вікіпедія]], [[Білгородьска область]], [[Босняцька Вікіпедія]], [[Русиньскый язык у Мадярщині]], [[Велика Украйина]], [[Пудгорб]], [[Червоноє (Ужгородьскый район)]], [[Зарічноє (Стрыйськый район)]] * Недотовмачені статі: [[Боснякы у Сербиї]], [[Общины Чорной Горы]], [[Лемкӯвськоє письмо]], [[Русиньскый язык у Мадярщині]], [[Колач]] * Стыржні без хосенного змісту: [[С́]], [[Турі]], [[2026 (значеня)]], [[Міліція Южной Осетії]], [[С (кирилиця)]], [[Кал]], [[Парціум]], [[Боб (значеня)]], [[Дрисляк]], [[Балта]], [[Р (буква)]], [[Ӥ]], [[3 (число)]], [[Чорный (цвіт)]], [[Гвӯзд]] [[Хоснователь:Engelseziekte|Engelseziekte]] ([[Діскузія з хоснователём:Engelseziekte|діскусія]]) 10:45, 4 новембра 2024 (CET) :добре [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 11:05, 4 новембра 2024 (CET) :Но наприклад [[Сято]] што у тӯв статі є не добрі? [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 21:36, 4 новембра 2024 (CET) :Тай чим не добрі суть референції из статі [[Ліхтенштейні]] [[Хоснователь:Бойкыня Босорканя|Бойкыня Босорканя]] ([[Діскузія з хоснователём:Бойкыня Босорканя|діскусія]]) 21:53, 4 новембра 2024 (CET) ::У статі [[Сято]] уся інформація без референцій. Маєте там лем довгый список жерел, котрый сьте скопіровали з другої Вікіпедії. Котрі з тых жерел мают потвержовати тоту інформацію? ::У статі [[Ліхтенштейні]] не є референцій за число и етнічный склад населеня, першу споминку. Уся специфічна інформація має мати пуд собов якісь жерела. [[Хоснователь:Engelseziekte|Engelseziekte]] ([[Діскузія з хоснователём:Engelseziekte|діскусія]]) 19:40, 9 новембра 2024 (CET) :Доброго здоровля, @[[Хоснователь:Rue323|Rue323]]. Ба ци плануєте захарьовати йсі статі? Булшина (аж не вшыткі) так ся и лишат у такому стані, як ото было у новембрі 2024, айбо попри вто чогось доста активно ся занимаєте створіньом новых. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 20:35, 14 мая 2025 (CEST) ::буде учинено [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:53, 14 мая 2025 (CEST) :::Добрый день, якый там проґрес по управленю сих статий? Вижу, ож уже чините нові, из такыма ипен проблемами, хоть из исписа горі дотеперь такоє гибы булша часть не похарена. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 13:59, 26 мая 2025 (CEST) ::::Добрый день. Та коли тото буде учинено? Видко, ож умісто захарьованя свойих екзістувучых статий, чините нові. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 16:23, 18 юнія 2025 (CEST) :::::Перебачте, но, я вам не будилник оповіщати коли буде учинено, по мірі часу проблемны статі койых богужаль направду много, преобразовуву главным образом через добавліня Удкликовань и управлінь хыб, што вы видко не видите, и чим вам хыбить ож я написав АЖ 2 нові статі за місяць? Они пусті? Без Удкликованя? ци што из ними не так, што вам у них хыбить? Я розуміву ваш потяг «усовершенити и учинити нашу Вікі прикладом про наслідованя» но ото ся не чинить через «ыыы, пак коли будуть статі, нич не чиниш, лымпак, учинив 2 НОВІ (!) статі? Но ты нетрібен» (исе я приклад навӯг), статі управляву я, их автор и бӯлш практично нико, я не єден туй участник котрый мать проблемны статі койых я у свӯй час не знавучи так ге днись што є Вікіпедія начинив много, я не подобно хосновачови @[[Хоснователь:Gazeb|Gazeb]] , я го не виню у чомусь, можек у нёго штось ся стало та не годен управити и привести у порядок без приуменшіня бӯлше дас двох тысяч свойых статий, абсолутно пустых, неквалітных и напросто безхосенных, котрых вӯн судя по числови и датам «штампа» наштамповав ге на ботофермі, давайте не чинити из сёго конфлікт, из уважінём [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:19, 18 юнія 2025 (CEST) ::::::Ото вы чините из сього конфлікт. Я ид вам ся звертаву супокуйно, без силных емоцій, тай вы можете так само удповідати. ::::::Gazeb мусів учинити повно куртых стыржнюв позад того, ож на його плечі упало заданя дасти русинськуй Вікіпедії старт. Ун мусів&nbsp;— и, так розуміву, чинив тото практично сам&nbsp;— написати зачаткові статі, обы проєкт уйшов из інкубатора. Ун по тому щи довгый час старав ся як муг держати порядок на сюй Вікіпедії тай по можности уліпшовати свої статі. Не мусите рувняти себе из ним. ::::::Айно, ваші нові статі таги булшина вашых старых часто не обсягувут референції и, пудозріваву, копірувут ся из другых Вікіпедій типа украйинської, на котрых тоже учасникы знавут іґноровати правила за жерела. Ник.&nbsp;ищи [[Вікіпедія:Портал комуніты#c-Flipdot-20250607101400-Сліпоє копірованя статий из украйинської В|сю голузку у Порталі комуніты]]. ::::::Сяк вы не лиш шкодите другым вікіпедіштам, котрі бдут мусіти за вами харити, айбо и обычным хосновачам, котрі узьмут на віру непровірену інформацію, скопіровану хотьде. ::::::<blockquote>''Я розуміву ваш потяг «усовершенити и учинити нашу Вікі прикладом про наслідованя» но ото ся не чинить через «ыыы, пак коли будуть статі, нич не чиниш, лымпак, учинив 2 НОВІ (!) статі? Но ты нетрібен» (исе я приклад навӯг), статі управляву я, их автор и бӯлш практично нико […]''</blockquote> ::::::Айно, я уліпшуву статі тай не все пилуву чинити нові. Тото видко з мої історії редаґовань. Вас я цырмаву за ваші неквалітні статі, бо вы їх пообіцяли поуправляти, айбо вмісто того продовжуєте таку поведінку, за котру вас уже поваровали. ::::::Ваші проблемні статі не управляє „булш практично нико“ зато, бо їх є дуже повно, обы їх довести до нормалного виду, треба вчинити повно змін авадь такой переписати; и за тот час, докідь кось побирує єдну управити, вы щи такі пять такых сотворите. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 18:14, 18 юнія 2025 (CEST) :Доброго здоровля, @[[Хоснователь:Rue323|Rue323]]. Вижу, ож изась створюєте нові статі. Хотів бым вам нагадати за сесь испис вашых статий проблемнов кваліты. Бульш ги рук теперь вас попросили з нима дашто вчинити, и почти рувно рук теперь обіцяли сьте ся, ож ото буде вчинено. Пролистав єм быв ваші недавні нові статі, и, хоть они уже хоть мавут по дакулько жерел и написані май невтрално ги старі, у них так само ся просліжує тенденція давати тверджіня без жерел. :Мало того, я вижу, ож вы вносите правкы у старі свої статі, айбо вмісто реалных змін вы бульшинов просто міняєте ортоґрафію тай іґноруєте тоты проблемы, котрі вам были пудняли у сих дискусіях. :Я періодично захожу тай переписуву продукты вашої бурної, айбо, на бану, не домак продуктивної діялности. Из майблагыми намірами хочу вам максимално културно вповісти&nbsp;— ци не могли бысьте перестати плодити мені и другым редакторам лишню роботу з захарьованя? Будьте добрі, займіт ся реалным уліпшеньом того, што сьте, перебачте, самі наштамповали. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 17:35, 24 мая 2026 (CEST) ::Честованый пане Петре! ::Я ціню вашу справедливу критику, котра напрамлена на то жебы поліпшити до ныні пӱллоє становище нашого проєкта Русинська Вікіпедія, и конкретно мої статі. Робота по переробці Богужаль справді пӱллых и масовых статий из перерывами айбо иде. Кідь говорити за резултаты, на многых статях справді ге вы удмітили, дані жрідла (што для тых статий є новинка), прикладом успішного на мою думку руняно из аналоґовыми Вікі, и спередошньым ёго видом перероблінём статі мож навести статю [[Діл]] вадь даякі другі статі, их не много и не бӱлшина, но они суть, Вікі уже точно не буде гӱрше ге было у 2012 ([[Хоснователь:Gazeb|Gazeb]]), Глубина нашої Вікі сягла ужек 11 што про наш проєкт направду новый рекорд... ::Так што не журіть ся, вшытко буде добрі! ::Из уважінём [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 22:14, 25 мая 2026 (CEST) ::А ищи м єдно не порозумів. Самі же кажете ож мої статі стали ліпше ге были, и ге вижу не кываєте их ґлобално. Но при тӱм кажете ''“ци не могли бысьте перестати плодити мені и другым редакторам лишню роботу з захарьованя”'' де я ї пложу? Я зовміщаву писаня новых и доста квалітных статий из дописанём старых мойых и не леш мойых котрі такыми не суть. У чӱм проблем? Я щи раз кажу, вы си придумуєте проблем на пустӱм місті, статі ся старі перероблювуть по єдна? Йо. Нові уж домак май квалітні ся пишуть што є не менш важно? Так иппен Йо. ::Из уважінём [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 23:01, 25 мая 2026 (CEST) :::Ваші стандарты кваліты майжень не дуже ся збігавут из стандартами кваліты, котрі ся типово хоснувут про Вікіпедію. Вы так и дале продовжуєте чинити практично тото самоє, што чинили рук, два рокы сперед тым: конвеєром творите нові статі, кладете до них по пару жерел „про галочку“ (''[[Архей]]'', ''[[Протерозой]]'', ''[[Драґыня]]'', наприклад), бо у них ся лишат повно непудтверженых жерелами тверджінь. :::И то з натяжков, бо за послідньый час, як я уже написав, дуже многі з вашых „дописовань“ и „перероблінь“ ото просто заміна „ӯ“ на „ӱ“ и другоє подобноє правописноє переливаня з пустого в порожньоє&nbsp;— імітація бурної діялности, уповім прямо. :::Тото, ож вы теперь обще даєте жерела, тото ''мінімум'', котрый ся має ''чинити'', а не уровень „домак май квалітных [статий]“. :::И будьте добрі, не переводіт тему на тото, як Вікіпедія узирала у 2012, при Gazeb, ищи при дакому. И не апелуйте до тяжкого стану Вікіпедії, бо ипен ваші дії у сьому трафункови тото часть проблемы. Говориме за тото, ож вы начинили проблемных статий и, дуставши просьбу товдышнього модератора захарити тот хайдер, успішно ї дале іґноруєте. :::——— :::А теперь учиню мало наглядный приклад. Я першека узяв и тыцькнув у пять трафунковых статий из исписа: [[Плав (община)]], [[Telegram]], [[Боснякы у Сербиї]], [[Лемкӯвськоє письмо]], [[Оріховиця]]. Чотыри з тых пяти статий ся не кывали вами уд 2024.&nbsp;року; [[Telegram]] ся мало того, ож не кывав вами уд 2024.&nbsp;року, та щий тоту статю до єї днешнього, мало май прийнятного ставу довюг ''я''. :::Того може не переводіт тему, не розказуйте мені, ож я придумуву проблемы на пустому місті (кідь вам уже кулько&nbsp;— четверо и бульше хосновачув писали за єдно и тото самоє?), а удкладіт ґомбичку „Створити нову статю“ и поправляйте тоты, котрых єсьте уже начинили преповно? Тото бде на мою гадку многым май важный крок у бук уліпшеня Вікіпедії ги нові такі самі курті статі з мінімалным держаньом правил. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 03:08, 26 мая 2026 (CEST) Привіт! Можно б ви помоглі створити статтю про пісню "[[:tt:Пермь_—_город_на_Каме|Перм' - місто на Камі]]"? В цієї пісні є джерела, але я дуже погано розумію ваш язик. [[Хоснователь:Tyloxs|Tyloxs]] ([[Діскузія з хоснователём:Tyloxs|діскусія]]) 20:16, 4 януара 2025 (CET) :Мож, на якому языкови вам май удобно говорити? [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 20:57, 4 януара 2025 (CET) ::Рускый [[Хоснователь:Tyloxs|Tyloxs]] ([[Діскузія з хоснователём:Tyloxs|діскусія]]) 20:59, 4 януара 2025 (CET) :::Хорошо, какова ценность данная статья представляет для Русинской Википедии и Википедии в целом? [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 09:12, 5 януара 2025 (CET) ::::Статья «Пермь — город на Каме» представляет значительную ценность для Русинской Википедии и Википедии в целом, так как она освещает культурный и географический аспекты Перми через призму музыкального произведения. Песня, созданная NITron, не только отражает уникальные черты города, такие как его расположение на реке Каме, транспортный узел, природные богатства Урала и Пермского края, но и способствует популяризации локальной культуры в глобальном контексте. Для Русинской Википедии это возможность расширить контент, связанный с русскоязычной культурой, а для Википедии в целом — обогатить знания о региональных особенностях России. [[Хоснователь:Tyloxs|Tyloxs]] ([[Діскузія з хоснователём:Tyloxs|діскусія]]) 09:51, 5 януара 2025 (CET) :::::Предоставьте файл или ссылку на данную «песню» [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 11:32, 5 януара 2025 (CET) ::::::https://audiodevil.ru/tracks/NITron+%E2%80%93+%D0%9F%D0%B5%D1%80%D0%BC%D1%8C+-+%D0%B3%D0%BE%D1%80%D0%BE%D0%B4+%D0%BD%D0%B0+%D0%9A%D0%B0%D0%BC%D0%B5/ Название "NITron – Пермь - город на Каме" [[Хоснователь:Tyloxs|Tyloxs]] ([[Діскузія з хоснователём:Tyloxs|діскусія]]) 12:36, 5 януара 2025 (CET) :::::::Фу, [[Хоснователь:Rue323|Rue323]] ([[Діскузія з хоснователём:Rue323|діскусія]]) 17:26, 23 януара 2025 (CET) == Thank you for being a medical contributors! == <div lang="en" dir="ltr" class="mw-content-ltr"> {| style="background-color: #fdffe7; border: 1px solid #fceb92;" |rowspan="2" style="vertical-align: middle; padding: 5px;" | [[File:Wiki Project Med Foundation logo.svg|130px]] |style="font-size: x-large; padding: 3px 3px 0 3px; height: 1.5em;" |'''The 2024 Cure Award''' |- | style="vertical-align: middle; padding: 3px;" |In 2024 you '''[[mdwiki:WikiProjectMed:WikiProject_Medicine/Stats/Top_medical_editors_2024_(all)|were one of the top medical editors in your language]]'''. Thank you from [[m:WikiProject_Med|Wiki Project Med]] for helping bring free, complete, accurate, up-to-date health information to the public. We really appreciate you and the vital work you do! Wiki Project Med Foundation is a [[meta:Wikimedia_thematic_organizations|thematic organization]] whose mission is to improve our health content. '''[[meta:Wiki_Project_Med#People_interested|Consider joining for 2025]]''', there are no associated costs. Additionally one of our primary efforts revolves around translating health content. We invite you to '''[https://mdwiki.toolforge.org/Translation_Dashboard/index.php try our new workflow]''' if you have not already. Our dashboard automatically [https://mdwiki.toolforge.org/Translation_Dashboard/leaderboard.php collects statistics] of your efforts and we are working on [https://mdwiki.toolforge.org/fixwikirefs.php tools to automatically improve formating]. |} Thanks again :-) -- [[mdwiki:User:Doc_James|<span style="color:#0000f1">'''Doc James'''</span>]] along with the rest of the team at '''[[m:WikiProject_Med|Wiki Project Med Foundation]]''' 07:24, 26 януара 2025 (CET) </div> <!-- Повідомлення надіслано користувачем Doc James@metawiki з використанням списку розсилки на сторінці у https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Top_Other_Language_Editors_2024&oldid=28172893 --> == Статї із хыбами == Майже всї ваші статї требуют доробкы, практічно у всьых не є удкликань, даякых проблемы із шаблонами, даякі ґраматічнї хыбы, будьте добре перевірте свої статї, дайте удкликаня і повысталяйте шаблны. А ще рекомендовано не хосновати сімбол "ю̄". Придержуйтеся у свойых статях аполітічности тай правил вікі. Се лиш уд хоснователя @[[Хоснователь:Rue323|Rue323]](туй практічно всї ваші статї). А сут іще статї уд @Іван Романеску, котрі не є у симу списку: * Недотомачинї статї: [[Гвӯзд]], [[Кумыс]], [[87 (число)]], [[УПА-Запад]], [[Руски новини]] * Не є шаблону(БД Держстату Украйины, Переклад, Стыржень, Село Україны, языковый шаблон) авадь проблема із шаблнами: [[Р (буква)]], [[Быстрый (приток Боржавы)]], [[Н]], [[Ґуґол]], [[Балта]], [[Гвӯзд]], [[Дрисляк]], [[Парціум]], [[Шпация]], [[Протоиєрей]], [[Меммінґен]], [[Гай (окрес Кошиці-околиця)]], [[Ропчиці]], [[Думен (гора)]], [[Ваґаш]], [[Баня]], [[87 (число)]], [[Хорольска яма]], [[Лазы (Украйина)]], [[1 (число)]], [[С́]], [[Еріх Муравскый]], [[Нова Ястрябка]], [[Монґолы]], [[20278 Цілейган]], [[Велика (Чорна Гора)]], [[Дибянкы]], [[Фрамнас (Норрботен)]], [[Гусине (община)]], [[М]], [[Доболц]], [[Цвітова (Калуськый район)]], [[Дивосело]], [[Йорґ Крон]], [[Варош (село)]], [[Збойник]], [[Тарпа]], [[Монастыриць (Закарпатьска область)]], [[Реч (Чорна Гора)]], [[Метех]], [[Штрібро]], [[Украйиньскоє (Хмільницькый район)]], [[Терново]], [[Димедрол]], [[Неум (община)]], [[Босняцька Вікіпедія]], [[Кілва (острӯв)]], [[Боркут]], [[Мурино (Ленінградьска область)]], [[Кочевци]], [[Прошовиці]], [[Біловарци]], [[Любінь (Любліньскоє воєводство)]], [[Фонтинясы]], [[Руня (Украйина)]],[[Перекрестный]], [[Ідліб (провінція)]],[[Болгары у Росії]], [[Фоча (субреґіон)]], [[Роверета]], [[Сібінь]], [[Намюр]], [[Хустиць (село)]], [[Керкена]], [[Руські Геёвци]], [[Віпчоє]], [[Ґерінґсдорф]], [[Приполярный]], [[Донецькый район]], [[Вулканешты (варош)]],(туй дале будут іти лиш тоты де із референціями бульш-менш нормално) [[Емірат]], [[Гавіржов]], [[Уйрек]], [[Кстово]], [[Бурятьскый язык]], [[Гыд (компютерный червак)]] * Покаженї статї: [[Кочевци]] * Гія референцій(проблема із референціями є у всьых статях, не лиш із сего пункта): [[Ґуґол]], [[Балта]], [[Гвӯзд]], [[Ваґаш]], [[87 (число)]], [[Хорольска яма]], [[С́]], [[Еріх Муравскый]], [[Нова Ястрябка]], [[20278 Цілейган]], [[Велика (Чорна Гора)]], [[Дибянкы]], [[Фрамнас (Норрботен)]], [[Гусине (община)]], [[М]], [[190 до н. е.]], [[Валя-Сяке (Сатмар)]], [[Доболц]], [[Цвітова (Калуськый район)]], [[Дивосело]], [[Йорґ Крон]], [[Варош (село)]], [[Збойник]], [[Тарпа]], [[Монастыриць (Закарпатьска область)]], [[100000 (число)]], [[Реч (Чорна Гора)]], [[Метех]], [[Украйиньскоє (Хмільницькый район)]], [[Терново]], [[Димедрол]], [[Ярь]], [[Неум (община)]], [[Мер]], [[Дрельє]], [[Босняцька Вікіпедія]], [[Приморьск (Калінінґрадьска область)]], [[Великоє Солдатьскоє]], [[Малацкы]], [[Бішево (Коміжа)]], [[Менлі Гот Спрінґс (Аляска)]], [[Пустоє (хутор)]], [[Чорный (цвіт)]], [[Мінет]], [[Міліція Южной Осетії]], [[Кілва (острӯв)]], [[По̄ляна]], [[Ӥ]], [[Сукобін]], [[Шатер]], [[Боркут]], [[Гусине]], [[Голубінка]], [[Літо]], [[Прошовиці]],[[Коштіуй]], [[Magyar Jogpárt]], [[Анкоридж]], [[Біловарци]], [[Бискӯв]], [[Вінковоє]], [[Хеб]], [[Грынява]], [[Яловоє]], [[Любінь (Любліньскоє воєводство)]], [[Ростовятиця]], [[Капушаньскі Клячаны]], [[Ракош]], [[По̄ляна (Самбӯрськый район)]], [[Нижньый Дубовиць]], [[Керестур]], [[4 (число)]], [[Руня (Украйина)]],[[Перекрестный]], [[Перекрестный]], [[Земплінські Гамры]], [[Міхалкова (окрес Зволен)]], [[Пудпӯльноє]], [[Колут]], [[Ясінь (село)]], [[Курьска область]], [[Пригӯдь]], [[Яблоновка (Хустськый район)]], [[Згары]], [[Колониці (Лемковина)]], [[Палинка]], [[Сібінь]], [[Добош Торта]], [[Кутлаш]], [[Домбокы]], [[Бенедековци]], [[Хустиць (село)]],[[2026]], [[Ардово]], [[Ялова (Турція)]], [[Керкена]], [[Словеньска Волова]],[[Крынкы (Херсоньска область)]], [[Угерскоє Градіштє]], [[Круче]], [[Максимець]], [[Яблонов (Мукачовськый район)]],[[Плужіне]], [[Жупа Ґемер]], [[Руські Геёвци]], [[Віпчоє]], [[Приполярный]], [[Донецькый район]], [[Главный град Подґориця]], [[Берегы (повіт Татраньскый)]], [[Вая (варош)]], [[Пудгорб]], [[Герцовци]], [[Труська]], [[Свалявка]], [[Туймазы]], [[Вӯльхӯвка (Хустськый район)]], [[Їржі Драгош]], [[Птичье]], [[Лікіцары]], [[Жетысуська область]], [[Колекторна улиця]], [[Оградзаны]], [[Плав (община)]], [[Дунковиця]], [[Туря По̄ляна]], [[Череёвци]], [[Турійськ]], [[Лімна]], [[Гайове (Кропивницькый район)]], [[Ряпідь]], [[Мыта]], [[Туричкы]], [[Суха (Украйина)]], [[Феріче (Бігор)]], [[Вестфілд (Вісконсин)]], [[Демичі]], [[Вала]], [[Валаликы]], [[Дмитрӯвка (Горловськый район)]],[[Ульцинь]], [[Смерть|Сімер]], [[Перевалы]], [[Ліхтенштейні]], [[Хотиньскый район]], [[Дубровка (Тячовскый район)]], [[Кривый (Хустськый район)]], [[Межовоє (Покровськый район)]], [[Зубриця]], [[Жудец]], [[Волосянка (Закарпатьска область)]], [[Завадка (Самбӯрьскый район)]],[[Велика Паладь]], [[Жанна Луиза Калман]], [[Петровка (Закарпатьска область)]], [[Запсонь]], [[Мідяниця]], [[Меджуречье (Рудо)]], [[Учіха Саске]], [[Тарантиньска Вікіпедія]], [[Надькапош]], [[Поточок]], [[Руськоє (Закарпатьска область)]], [[Руська]], [[Відродженя (Покровськый район)]], [[Руські Комаровци]], [[Кузьмино (Украйина)]],[[Ґаничі]], [[Котор (община)]], [[Московська ґубернія]], [[Стужиця]], [[Рекіты]], [[Соленоє (Покровськый район)]], [[Концово]], [[Буркут (Украйина)]], [[Сумськый район (1923—2020)]], [[Келімане]], [[Ватра Дорней]], [[Салч]], [[Серноє]], [[Соленоє (Тячовськый район)]], [[Заднёє]], [[Забродь (Ужгородьскый район)]], [[Комарно (Словеньско)]], [[Нижня Солотвина]], [[Орява]],[[Новобарово]], [[Переможноє (Львӯвська область)]], [[Щербовець]], [[Шаркадь]], [[Плоскый Потӯк]], [[Владимир (Чорна Гора)]], [[Велика Розтока]], [[Баранинці]], [[Херсоньскый район]], [[Хмільник (Закарпатьска область)]], [[Кальник (Мукачовскый район)]], [[Вареш]], [[Сільце (Закарпатьска область)]], [[Медьє]], [[Збины]], [[Исаї]], [[Дубы (Хустськый район)]], [[Сарата (Чернівецька область)]], [[Чабановка (Ужгородьскый район)]], [[Леово]], [[Богоявленка (Донецька область)]], [[Недзиця]], [[Сімеркы]],[[Родникова Гута]], [[Волова (Верховиньскый район)]], [[Кідёш]], [[Стрілецькоє (Яворовскый район)]], [[По̄ляна (Хустськый район)]],[[Верхо̄винці]], [[Глубокоє (Ужгородьскый район)]], [[Осінь]], [[Копач]], [[Страмтура]], [[Ѓ]], [[Ольшаны (Закарпатьска область)]], [[Бӯзінґен-ам-Гохрин]], [[Верхо̄вина Быстра]], [[Ольховци-Лазы]], [[Кошмак]], [[Малый Раковиць]], [[Шкуратовци]], [[Дубрӯвка (Ужгородьскый район)]], [[Овцебык]], [[Вооружені силы Украйины]], [[Горяны (Ужгород)]], [[Само]], [[Дрокія]], [[Сутоморе]], [[Ровненьскый район]], [[Очеретино]], [[Мала Розтока]], [[Велика Бакта]], [[Клехӯвка]], [[Есень]], [[Сарвасов]], [[Малоє Попово]], [[Мочола]], [[Мізоч]], [[Шышловци]], [[Червоноє (Ужгородьскый район)]], [[Будва (община)], Галабор, [[Косӯвськый аеродром]], Соловка, Малі Ґеёвці, [[Асфальт]], Гуняді, [[Німицька инвазия у Люксембурґ]], Костанайська область, [[Инстасамка]], Руська Кучава, Вирьхні Реметы, Діомід (Аляска), Колач, Гомок, Адміністративноє діленя Сербиї, Парасельскі островы, Компас, Кишинёв (муніципій), Лужкы (Калуськый район), Світлогорьск (Гомельска область), Литовська Републіка (1918—1940), Мальдівы на літньых дітвацькых Олімпійськых играх 2014, Батёво, Тісаашвань, Гомельска область, Актюбіньска область, Мокра (Украйина), Костёва, Ряба Орда, Орда, Яблонкы, Посада Рыботицька, Telegram, Липа (Калуськый район), Верховина (варощик),Козаковка (Болеховська вароська рада), Туранци, Берліньска конференція (1884), Соледар, Ділок (Мукачовськый район), Северный Опасный Риф, Завосіно, Кагул (варош), Кухче, Павшино (Украйина), Шымкент, Шом (Украйина), Минай, Травы, Балигород (ґміна), Німшин, Липовиць (Ужгородьскый район), Восстаня Маджі-Маджі, Ульцинь (община), Злынка (Росія), Вітебьска область, Ландскруна, Бряньск, Оріховиця, Торкы, Сойм подкарпатьскых русинов, Великый Ходак, Балатонфӯред, Мінск Світ, Ганё (острӯв), Брестьска область, Кривоє (Тячӯвськый район), Чома, Сент-Пол (Аляска), Жденёво, Знаменьскоє (Чечня), Фертешолмаш, Пасіка (Закарпатьска область), Гребля (Закарпатьска область), Султанат Кілва, Чорногорци у Републіці Серьбскӯв, Алеппо (провінція), Фантастика, Костёва Пастіль, Соломоново, Населеный пункт, Воловиця (Берегӯвськый район), Украйинці у Туркменістанови, Крымськоє ханство, Ключарькы, Телеханы, Клей, Старомлиновка, Вӯрцбурґ, Баркасово, Мерешор, Меноніты, Нюфаундленд и Лабрадор, Суботӯв, Кучава, Бар (Чорна Гора), Пудкарпатьска краёва орґанізація КПЧ, Зволен, Верба (Дубеньскый район), Мужіёво, Неґровець, Костопӯль, Жнятино, Лемкӯвськоє письмо, Крайня Мартинка, Беґендяцька Пастіль, Кобакы, Проблема, Шейх Хасіна, Гута (Ужгородьскый район), Заболотноє (Закарпатьска область), Смига, Тур, Зимно, Удділеня, Копачі, Кобалевиця, Петров, Алексій Леонідович, Вышково, Літл Рок, Ґеча, Дешковиця, Жупа Мараморош (Чехословеньско), Летичӯв, Гродненьска область, Неветленфолу, Здолбунӯв, Санремо, Мангыстауська область, Мессіна, Велика Украйина, Тверьска ґубернія, Кызылорда, Авдіёвка, Еґипетьскі піраміды, Венеція, Сято, Загатя, Подобовець, Ґалісія, Річка (Хустськый район), Климовиця,Смологовиця, Ґёдёллё, Западноказахстаньска область, Чорный Потӯк (Хустськый район), Вараш, Локӯть (село), Чорнобыльска зона удчуджіня, Выходнофризькый язык, Выходнофризькый язык, Карагандыньска область, Сухый (Хустськый район), Брчко, Кольчино, Черна (Украйина), Жамбыльска область, Боснякы у Сербиї, Скотарьскоє, Общины Чорной Горы, Богаревиця, Сіґма Бой (в статї не хоснуются бульшость удкликань), Василёвка (варош), Дістрикт Люблін, Аляска, Ґастроентеролоґія, Концентракы Кременчука, Давыд-Городок, УПА-Запад, Пчолы, Поліся, Лодзькоє воєводство, Сарны, GPS, Бетлегем, Ґрунт, Брест, Кертовина, Нижньый Студеный, Уйгурьскый язык, Кетьскый язык, Руски новини, Кобрин, Тропарь Пасхы, Гуляйполе. * неправильна назва:[[2026 (значеня)]], [[Боб (значеня)]], [[Турі]], [[Шаш (значеня)]], [[Ліхтенштейн (значеня)]], [[Торкы (значеня)]], [[Колониці (Лемковина)]], [[Руські Геёвци]], [[Руські Комаровци]], [[Асфальт]], Вітебьска область, Украйина (значеня), Руда (значеня). * Вызир статї авадь недописана статя:[[Малацкы]], [[Курьска область]], [[Кайла (Румыния)]], [[Порноґрафія]], [[Грабово (Томпоєвци)]],[[Слобожане]], [[Косӯвськый аеродром]], [[Колач]], Мангыстауська область. * Ґраматічні хыбы авадь порушіня правил Вікі: [[Менлі Гот Спрінґс (Аляска)]], [[Анкоридж]], [[Ґрамота 1404. року]]. [[Хоснователь:LYTMAN|LYTMAN]] ([[Діскузія з хоснователём:LYTMAN|діскусія]]) 22:33, 25 марца 2025 (CET) :Є цїлком інтересно, ці ся тот проблем із хыбныма статями вырїшыть в найблизшій добі, або бы сьме мали дати хоснователёви (@[[Хоснователь:Rue323|Rue323]]) веце часу на ёго вырїшыня? [[Хоснователь: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>]]) 23:08, 19 мая 2026 (CEST) == Пруйшлі нікнеймы тай алтернативный акаунт == Про архівні цілі тай обы не было путанины, сесь хосновач (Rue323) быв май давно знамый пуд нікнеймом Бойкыня Босорканя и має алтернативный акаунт [[Хоснователь:Иван Романеску|Иван Романеску]]. [[Хоснователь:Flipdot|Flipdot]] ([[Діскузія з хоснователём:Flipdot|діскусія]]) 03:34, 6 фебруара 2026 (CET) == Сірєноґірьовый == Колии [[Хоснователь:Gazdadev|Gazdadev]] ([[Діскузія з хоснователём:Gazdadev|діскусія]]) 11:40, 26 авґуста 2026 (CEST) hpx9pkwr68lpzawzeq246wapib5rqeq Очеретино 0 22579 168749 153266 2026-08-25T18:00:12Z Halajkovič 33393 removed [[Category:Населены пункты подля алфавиту]] using [[Help:Gadget-HotCat|HotCat]] 168749 wikitext text/x-wiki '''Очере́тино''' ([[Російскый язык|рус]]. Очеретино) ([[Україньскый язык|укр]]. Очеретине) — [[Мѣстечко|варощик]] у [[Покровськый район|Покровськӯм районови]], [[Донецька область|Донецькой области]], [[Україна|Украйины]]. [[Мѣстечко|Варощик]] из [[5. май|5 мая]] [[2024]] року окупіроватый ВС РФ. {{НП}} == Історія == [[Мѣстечко|Варощик]] основаный у [[1880]] році. До [[1917]] року быв [[Тиґла|тиґляный]] [[завод]]. == Обывательство == У [[Мѣстечко|варощикови]] на [[2001]] рӯк живе 4068 людий, из них подля языка: {| class="wikitable sortable" !Язык !Число !Процент |- |[[Російскый язык|руськый]] |2218 |54.52% |- |[[Україньскый язык|украйиньскый]] |1817 |44.67% |- |[[Арменьскый язык|армяньскый]] |10 |0.25% |- |[[Циганськый язык|циганськый]] |9 |0.22% |- |[[Нїмецькый язык|німицькый]] |3 |0.07% |- |[[Білоруськый язык|білоруськый]] |2 |0.05% |- |[[Польскый язык|польскый]] |1 |0.02% |- |[[Румуньскый язык|румыньскый]] |1 |0.02% |- |инні |7 |0.18% |- class="sortbottom" !Усёго |4068 |100% |} == Реліґія == У Очеретино є Сято-Илліньскый храм Авдіёвського благочиня Донецькой епархії [[Україньска православна церьков (Московскый патріархат)|Украйиньской Православной Церкви МП]]. == Знамі Родаци == * [[Кириченко, Иван Василёвич|Кириченко Иван Василёвич]] ([[1916]]—[[2000]])&nbsp;— украйиньскый живописець. * [[Подушкоя Зиновій Ґриґорович|Подушко Зиновій Ґриґорович]] ([[1887]]—[[1963]])&nbsp;— [[Малярство|художник]], офіцер Армады [[Україньска людова републіка|УНР]] == Удкликованя == {{Reflist}} * [http://bse.sci-lib.com/article085999.html Большая Советская Энциклопедия] {{Ref-ru}} * [https://web.archive.org/web/20140313105053/http://ukrssr.ru/Donezkaja.obl/JAsinovatskij.rajon/Oczeretino.html ІМСУ] [[Катеґорія:Населены пункты]] [[Катеґорія:Населены пункты Украины]] [[Катеґорія:Населены пункты Донецькой области]] [[Катеґорія:Населены пункты подля країны]] [[Катеґорія:Покровскый район]] ld640vipznlp62lwibt290xf1i4rk3f C++ 0 22777 168758 166429 2026-08-26T06:48:20Z Rue323 31002 168758 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 [[С++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=Ocober 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/>[[Русиньскый язык|русин.]] '''Сі из класами'''»), из тых часу язык ся дуже розвойив. Из [[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>"[https://www.iso.org/standard/83626.html ISO/IEC 14882:2024]". International Organization for Standardization. Retrieved 21 October 2020</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]] |- |Язык [[Бы (язык прґрамованя)|Бі]] (оріґінална розробка [[Томпсон, Кен|Томпсона]] пуд [[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/>[[Язык проґрамованя C++]]<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>Б. </cite><cite>Страуструп. Язык программирования C++. Раздел 1.6</cite></div> Шпеціялным трафунком є безименный простур имен. Вшиткі имена, описані в нему, доступні лем у біжнуй єденици транслаційи і мавут локалноє скапчаня. Простур имен <code>std</code> має у собі штандартні бібліотекы 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>тіпы даных C++ із сайта [https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Microsoft] https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170</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 </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{{Dead link|date=September 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. Доданый у [[С++11|С++ 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>.Тіп доданый у [[С++20]]. |- | rowspan="2" |<code>'''char16_t'''</code> |2 байт(16 біт) | rowspan="2" |<code>char16_t ch16 = u'あ';</code> |- |Зотвореный діля роботы з [[UTF-16]]. Має літерал <code>u</code>.Тіп доданый у [[С++11]]. |- | rowspan="2" |<code>'''char32_t'''</code> |4 байт(32 біт) | rowspan="2" |<code>char32_t ch32 = U'😊';</code> |- |Зотвореный діля роботы з [[UTF-32]].Має літерал <code>U</code>.Тіп доданый у [[С++11]]. |- | colspan="3" |'''Цілочисилні знакові<ref name=":1">тіпы даных C++ із сайта [https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170 Microsoft] https://learn.microsoft.com/uk-ua/cpp/cpp/data-type-ranges?view=msvc-170</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</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-³⁸ до ± 3.4×10³⁸. |- | rowspan="2" |<code>'''double'''</code> |8 байт (64 біт) | rowspan="2" |<code>double d = 3.141592653589793;</code> |- |Має 15 ~ 16 дисятковых цифер, Хоснує ся діля сокочіня чисел из плававучов крапков, и серидньов бізувностьов, май часто діля роботы з [[Дробы (математіка)|дробами]]. Діяпазон уд ±2.23×10-³º⁸ до ±1.80×10³º⁸. |- | rowspan="2" |<code>'''long double'''</code> |10-16 байт (80 ~ 128 біт) | rowspan="2" |<code>long double ld = 3.1415926535897932385L;</code> |- |Має 18-19 дисяткових цифер. Хоснує ся діля научных убчислинь, має высоку бізувность. Діяпазон ±3.36×10-⁴⁹³²-4932 до ±1.18×10⁴⁹³². |- | colspan="3" |'''Лоґічні<ref name=":1" />''' |- | rowspan="2" |<code>'''bool'''</code><ref>bool тіп даных https://learn.microsoft.com/en-gb/cpp/cpp/bool-cpp?view=msvc-170</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>false тіп даных https://learn.microsoft.com/en-gb/cpp/cpp/false-cpp?view=msvc-170</ref> | rowspan="2" |Сінонім до 0, означат бріхню, хоснує ся про <code>'''bool'''</code>. | rowspan="2" |<code>'''bool f = false;'''</code> |- |- | rowspan="2" |<code>'''true'''</code><ref>true тіп даных https://learn.microsoft.com/ru-ru/cpp/cpp/true-cpp?view=msvc-170</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>''' |Знаковый тіп, котрый робит діяпазон хоть якої цілочисленної змінної уд -(2n-1) до 2n-1-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 до 2n (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> еквівалентный. * [[Переубтерьханя функций|Переубтирьханя функцій]]: функція з єдным имньом може мати рузноє число и рузні по тіпу арґументы. Наприклад:<source lang="cpp"> void Print(int x); void Print(double x); void Print(int x, int y); </source> :: Частным трафунком переубтирьханя функцій мож лічити [[переубтерьханя оператору|переубтирьханя оператору]]. * Механізмом шаблону Дінамічный поліморфізм реалізує ся помочов [[Віртуалні методы|віртуалных методу]] тай іерархійи наслідованя. Поліморфным у 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>. Наприклад:<source lang="cpp"> class Matrix { friend Matrix Multiply(Matrix m1, Matrix m2); }; </source>Туйкы функція <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++)|Правило трьох]]). <div class="ts-Конец_цитаты-source"><source 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}; }; </source></div>Конструктор выкликає ся діля иніціяліційи обєкта (удповідного тіпа) при його зотворіньови, а деструктор — діля зрушіня обєкта. Клас може мати пару конструктору, айбо деструктор може мати лем єден. Конструкторы в 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 додали ся слідувучі возможности: * Додана бібліотека &#x3C;regex&#x3E;, реалізувуча всьымиприйняті механізмы гляданя тай пудстановкы з помочов реґуларных выразу. * Додана пудпора многопоточности. * Атомарні операційи. * 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>Б. </cite><cite>Страуструп. Язык проґрамованя C++. Розділ 1.6</cite></div> Невзиравучи на дакотрі знані хыбы языка '''Сі''', '''Бярне Страуструп''' выбрав його за основу, бо «у '''Сі''' є свої проблемы, айбо тоты же проблемы бы мав и розвоєный уд нула язык, а проблемы '''Сі''' нам знані». Окром того, то дало можность скоро зотворити пирьвый прототіп компілатора ('''cfront'''), котрый лем перетовмачовав додані сінтаксічні елементы на оріґіналный '''Сі'''. Из поступом розвоя '''C++''' до него додали инакі можности, котрі зробили непотребными дакотры конструкційи '''Сі'''. Позад сего не раз было звіданя за то, убы удказати ся уд сполочности языку и зняти старі конструкційи. Но тым не май мало сполочность была засокочена, того што: * '''Засокочено еґзістувучый код''', написаный на '''Сі''', убы го мож было прямо перенести у '''C++'''; * '''Не гія наново вчити проґрамісту''', котрі вже знали '''Сі''' (йим лем гія довчити нові возможности '''C++'''); * '''Выключина путанина''' меже языками при йих рокашному хоснованьова («аж два языкы хоснувут ся в рокаши, йих розділы мавут быти авадь мінімалні, авадь такі грубі, убы языкы не мож было спутати»). === Нові возможности === <source lang="cpp" line="1"> 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}; }; </source>Нові возможности 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>, а розмір тых тіпу ся убыкло удрузнят.<source lang="cpp"> #include <stdio.h> int main() { printf("%s\n", (sizeof('a') == sizeof(char)) ? "C++" : "C"); return 0; } </source> === Средства 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''' авадь '''[[С++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!]], котра выводит извістку в [[Інтерфейс командного рядка|консол]], хоснувучи штандартну бібліотеку, и окончує ся.<source lang="cpp"> #include <iostream> // Імпортуєме всі убявліня у просторови имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </source> === Приклад № 2 === Типирішньый C++ позволяє рішати май легкым способом и май тяжкі задачі. Тот приклад, окроме другого, показує хоснованя контийнеру з штандартної бібліотекы шаблону ([[Штандартна бібліотека шаблону|STL]]).<source 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; } } </source> У тум прикладі, про простоты, імпортувут ся вшиткі имена з простора имен <code>std</code>. Но в реалных проґрамах так робити ся не рекомендує, бо можут зотворити ся конфлікты имен, кой рузні бібліотекы мавут єднакі назвы обєкту. Язык позволяє імпортовати окримв обєкты з простора имен, же бы лем тоты, котрі дійсно гія, были доступні у кодови без явного зазначіня <code>std::</code>.<source lang="cpp">namespace Foo { const int x = 5; } const int y = Foo::x;</source><source lang="cpp"> #include <vector> int main() { using std::vector; vector<int> my_vector; } </source>У 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|ссылка=https://www.researchgate.net/publication/221025927_DSL_implementation_in_MetaOCaml_template_Haskell_and_C|ref=Czarnecki, O’Donnell, Striegnitz, Taha|издание=|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|тітул=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/>[[Steelman]]<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="haskell2">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>рішіня моделної задачи на Аді дало код, што быв приблизно на 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.|ссылка=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|тітул=Advantages and Disadvantages of Conservative Garbage Collection}} (удкликаня із {{книга |автор=[[Реймонд, Ерік]]. |заглавие=Искусство программирования для Unix |год=2005 |страницы=357 |страниц=544 |isbn=5-8459-0791-8 |тітул=Искусство программирования для Unix }})</ref>, котрі твирдят, же проґрамішты на Сі тратят около 30-40 % сполочного часа розробкы (не рахувучи выпраліня хыб) на кроманьованя тямов, сполочна ефектівность розробнику<ref name="haskell3">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> Сі тай C++ є зрунима. У низкоруньовум проґрамованьови грубинська часть новых возможностю C++ ся оказує нехоснована позад збулшіня режійных выдатку: віртуалні функційи жадавут дінамічноє вызначіня актуалної адресы (RVA), шаблоны ведут до розширіня кода й понижіня возможностю оптімізаційи, [[бібліотека часа оконаня]] (RTL) є велика, а удказ уд ниї лишат многх возможностю C++ (хоть бы позад недоступности операцій <code>new</code>/<code>delete</code>). У выслідках проґраміштови мусай убграничити ся на функціонал, унаслідованый уд Сі, што робит хоснованя C++ безцілным: ''Єдиный способ мати добрый, ефектівный, низкоруньовый іипортованый C++ зводит ся д тому, убы ся убграничити ся вшисткым тым, котроє є легко доступноє в Сі. А убграничіня проєкта границями Сі буде значити, же го не выметати, и же буде доступно много проґрамішту, котрі добрі розумівут низкоруньові особенности й не удказувут ся уд них позад дурної моды на «обєктні модели».'' ''… коц ефектівность є пирьвошорна, «ліпшины» C++ будут грубов хыбов.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс,_Лінус|Лінус Торвалдс]],<ref name="autogenerated1" /></cite></div> === C++ и функціоналні тай скріптові языкы === У єдному експеріментови<ref name="haskell">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> скріптові й функціоналны языкы, особенно [[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">{{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>, на основі аналіза коло 80 рішінь, написаных доброволцями, были здобыті, в часности, слідувучі выслідкы: * Perl, Python, Rexx, Tcl забезпечили удвоє булшу быстроту розробкы, гий C, C++ и Java, причому одержаный код быв так само удвоє май куртым. * Проґрамы на скріптовых языках хосновали приблизно удвоє булше тямы, ги C/C++. == Крітіка == <source 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; } } </source> === За крітіку C++ у цілому === Майчасті крітікы не противоставлявут C++ якомусь другому конкретному языкови, а повідавут, же удказ уд хоснованя єдного языка, што має много недостатку, в хосен декомпозіційи проєкта на пудзадачі, котрі рішавут ся на рузных языках, майбулш пудходящых про них, робит розробку не таков бабрачнов при єдночаснум пудвышіньови показнику [[Квалітность проґрамованя|квалітности проґрамованя]]<ref name="languageorient2">{{статья|заглавие={{iw|Language Oriented Programming}}|автор=Martin Ward|год=1994|ссылка=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|тітул={{iw|Language Oriented Programming}}|выдавательство=Computer Science Department, Science Labs}}</ref><ref name="Hudak_DSL2">{{статья|заглавие=|автор=Paul Hudak|издательство=Department of Computer Science, Yale University|ссылка=|тітул=Modular Domain Specific Languages and Tools|выдавательство=Department of Computer Science, Yale University}}</ref>. Из тої самої причины крітікує ся й засокочіня сполочливости з Сі: аж частина задачі жадат низкоруньовых возможностю, май розумно бы было вынести ю у окрему пудсістему й написати ю на Сі. Свою очеридь, побучникы C++ твирдят, же забераня технічных и орґанізацічных проблем межеязыкового сполочнодіїня позад хоснованя єдного універзалного языка взамін дакулькых шпеціялізованых є май вижно, гий хыбованя того універзалного языка. То єсть, сама широкость возможностю C++ оправдує хыбы каждої из возможности; в тум числови й хыбы, унаслідовані выд Сі, оправдані перевагами сполочности (див. [[C++#Філозофія C++|горі]]). Такым способом, тоты самі особенности C++ – обєм, чажкость, [[еклектічность]] и невыразна цільова карина хоснованя – побучниками ся розцінює ся ги «головна перевага», а крітіками – ги «головный недостаток». === Крітіка оремых елементу й концепцій === ==== Контрола за повожіньом ==== Ідеолоґія языка змішує «контрол за повожіньом» из «контролов за ефектівностю»: прінціп «не платиш за то, што не хоснуєш» ➤ предпокладає, же засобованя повного контрола проґрамішта над вшиткым, што ся діє в проґрамі на доста малому руни, є потребным и достаным про достиганя высокої ефектівности кода. У дійсности про грубі проґрамы то не так: коли низкоруньова оптімізація кладе ся на ґорґуші проґрамішта, котру квалічный компілатор [[Предметно-орьєнтованый язык проґрамованя|предметово-орьєнтованого]] языка бы зробив ліпше, тото веде лем до збулшіня обєма кода, до май чажкого процеса розробкы й до знижіня порозумілости й тестуйимости кода. Тым способом, прінціп «не платити за то, што не хоснуєш» в реалности не дає такых жаданых переваг в ефектівности, айбо казит квалітность проґрамы. ==== Компонентноє й обєктово-орьєнтованоє проґрамованя ==== За думаньом [[Алан Кей|Алана Кея]], обєктова модела «<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|ref=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 копирайт и список изданий]}}</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="autogenerated12">{{cite web|url=http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918|title=Открытая переписка gmane.comp.version-control.git от 06.09.2007|archiveurl=https://web.archive.org/web/20131209133259/http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918|archivedate=2013-12-09|accessdate=2013-08-05|deadlink=yes}}</ref> крітікує 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|тітул=Domain-Specific Languages|выдавательство=Department of Computer Science, Rice University|ref=http://www.cs.rice.edu/~taha/publications/conference/icces08.pdf}}</ref><ref>{{статья|заглавие=|автор=Lugovsky V.S.|год=2008|ссылка=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=http://arxiv.org/abs/cs/0409016v1}}</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=http://www.rsdn.ru/?article%2Fcpp%2FXXtraps64bit.xml}}</ref>. За думков [[Лінус Торвалдс|Лінуса Торвалдса]], убы засобовати портованость на C++, сумарно д Сі, проґрамішт мусит убграничити ся возможностями C++, котрі перебрані из Сі<ref name="autogenerated13">{{cite web|url=http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918|title=Открытая переписка gmane.comp.version-control.git от 06.09.2007|archiveurl=https://web.archive.org/web/20131209133259/http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918|archivedate=2013-12-09|accessdate=2013-08-05|deadlink=yes}}</ref>. Штандарт має много елементу, котрі сут вызначені ги «implementation-defined» (наприклад, розмір указатиля на методы класу в рузных компілаторах кывавут ся в розмірі уд 4 д 20 байтам<ref>{{статья|заглавие=Указатели на функции-члены и реализация самых быстрых делегатов на C++|автор=Don Clugston, CSG Solar Pty Ltd (Перевод: Денис Буличенко)|издательство=RSDN Magazine #6-2004|ссылка=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/>»). ; === Извышні й небезпичні возможности === ==== Устройині стрества убхода убграничінь ==== Язык має засобы, котрі позволявут проґрамістови порушати задані у конкретному припаді прінціпы проґрамованя. Наприклад, модіфікатор <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/>». ==== Проблемы переубтирьханя ==== <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=http://www.ddj.com/cpp/184403053|рік=януарь 1995}}</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]]|ref=http://www.ddj.com/cpp/184401381|рік=януарь 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]].<source lang="cpp"> #include <iostream> // Імпортує всі оголошіня у просторі имен "std" у ґлобалный простур имен. using namespace std; int main() { cout << "Hello, world!" << endl; return 0; } </source> ==== Ефектівноє кроманьованя тямов ==== Обязаность по ефектівному кроманьованю тямов лежит ґорґушах розробника й зависит уд умілости розробника. Діля автоматічного кроманьованя тямов у C++ традічно ся хоснувут так называні «розумні указатилі», особенноє же кроманьованя тямов меншит ефектівность самых проґрамішту. Многочисилні реалізаційи [[Харіня мусора (проґрамованя)|харіня мусора]], такых, ги штатічный [[Кроманёваня тамов на основі реґіону|вывуд реґіону]], не примінні діля C++ проґрам (май точно, то требує реалізаційи повирьх языка C++ інтерпретатора нового языка, силно инакого уд C++ и в булшости обєктівных особенностю, й у сполочнуй ідеолоґійи) из причины неубходимости прямого доступа д [[Абстрактно сінтаксічне дерево|абстрактно сінтаксічному дереву]]. === Резултатівность === Зоудношіня фактору резултатівности з затратами на розробку, а так само сполочну култівовану в сполоченстві проґрамішту дісціпліну й културу проґрамованя важно брати до увагы заказникам, котрі выберавут язык C++ (ай, значит, тых, котрі волівут тот язык розробникам) про реалізацію задуманых ними проєкту, а так само людьом, што зачинавуть учити ся проґрамованьови, особливо з жаданьом проґрамовати про свої потребности. ==== Квалітность и култура проґрамованя ==== Прінціп C++ «''не наязовати „добрый“ штіл проґрамованя''» перечит промысловому пудходу д проґрамованьови, в котрому головну роль мавут [[квалічность проґрамного засобованя|квалітность проґрамного засобованя]] й возможность допровуда кода не лем автором, ай другыми, й котрый май выгодні языкы, што мінімізувут вплыв [[Людьскый фактор|людського фактора]], то значит якраз «''наязувут „добрый“ штил проґрамованя''», хоть такі языкы можут мати веце высокый поруг входжіня. Еґзістує думка, же волішность хосноватиля C++ (при можности выбирати алтернатівні языкы) уймовость характерізує професійні возможности проґрамішта. Наприклад, [[Лінус Торвалдс]] каже, же позітівна думка кандідату за C++ є про него крітерійом удсіва: ''C++ — кошмарный язык. Його робит ищи веце кошмарным тот факт, же много не доста ґрамотных проґрамішту го хоснувут… Удкрыто кажучи, и кідь ниє аниякых причин выберати Сі, кроме того, убы держати C++-проґрамішту подале, то й лем тот аргумент буде доста важным основаньом про хоснованя Сі.'' ''…Я прийшов до вывода, же дійсно зачну выгнати каждого, тко выбере вести розробку проєкта на C++, а не на Сі, убы тот чилядник не загубив проєкт, у котрый я прилученый.''<div class="ts-Конец_цитаты-source">— <cite>[[:ru:Торвалдс,_Лінус|Лінус Торвалдс]],<ref name="autogenerated1" /></cite></div> ==== Управліня выправленого ==== Неперерывна еволуція языка побужує (а часом и змушує) проґрамісту раз за разом міняти ужек удлажений код — то не лем дорожит розробку, ай и несе різік увожіня до ужек удладженого кода новых хыб. Наприклад, кідь иззачинаня зворотна сполочность из Сі была єдным из базовых прінціпу C++, уд [[1999|1999 року]] Сі перестав быти пудмножинов C++, так што ужек удладженый код на Сі не може быти хоснованый в проєктови на C++ без измініня. ==== Чажкость подля самої тяжкости ==== C++ є окресленый його аполоґетами гий «маймоцный» и''менно позад того'', хоснує небезпечні і взайимно-противні можности. За думаньом [[Ерік Реймонд|Еріка Реймонда]], то робит язык сам по собі основов про личноє самостверджіня проґрамішту, перероблявучи процес розробкы на самоціль. ''Проґрамішты — то часто яркі люди, котрі ся гордять … свойов можностьов справлятися з чажкостями й шіковно убходити ся з абстракціями. Часто ся перед собов змагати, пробувучися выяснити, ко може зотворити «майзапутані й майфайні чажкости». … Суперникы мнят, же мусят змагати ся з чужыми «прикрашаньоми» тым, же додадут свої. Доста скоро «масивна ґырча» стане индустріялным штандартом, и всі зачнут хосоновати грубі, переповнині хыбами проґрамы, котрі не можут убрадити онь йих творцю.'' ''…Такый пудход може убернути ся псотов, як проґрамішты реалізувут прості речі чажкыми способами лем зато, же йих знавут и умівут йих хосновати.'' — <cite>[[:ru:Реймонд,_Ерік|Ерік Реймонд]] в </cite> ==== Саботаж ==== <div class="ts-Конец_цитаты-source">Зафіксовані трафункы, коли лайдацькі програмішты, хоснувучи силну контекстну зависимость C++ и недостаток возможностю удслідили макровызначіня компілатором, помалили розробку проєкта, коли написали єдно-два лишні, формално коректні з никаня компілатора, шорикы кода, айбо коли впровадили через то чажко выявителну, знівыдкы проявлявучу ся хыбу. Наприклад:</div><source lang="cpp">#define if(a) if(rand())</source><source lang="cpp">#define j i</source>У [[Чистота языка проґрамованя|языках из доказанов коректностьов]], онь из розвоєными макросредствами, нанести шкоду подобным способом не мож. ==== Ненадійность продукта ==== Невыправдана бивнота побучных ефекту у спойині з недостатком контролы з бока сістемы часа оконаня языка и слабов сістемов тіпу робит проґрамы на C++ вразливыми до непередвиденых фаталных порух (сполочнознамі «падіня» з оповістками ги «Access violation», «Pure virtual function call» авадь «Проґрама оконала недопустиму операцію й буде заперта»), што выключує хоснованя C++ у трафункови грубых требовань д удказостойкости. Кроме того, то щи додатково збулшує тримліня самого процеса розробкы. ==== Менеджмент проєкту ==== перечислині высше факторы роблят чажкость менеджмента проєкту на C++ єднов из самых высоких у индустрійи розроботкы [[Проґрамове забеспечіня|ПЗ]]. Джеймс Коґґінґс, котрый чотыри годы быв ведучым колонкы в ''The C++ Report'', дават такоє поясніня: ''— Проблема є в тому, же проґрамішты, котрі робили в ООП, експеріментовали з кровозмішаными аплікаціями й были націлині на низкый уровинь абстракційи. Наприклад, уни стройили класы, гий «зязаный список», взамін «интерфийс хосноватиля», авадь «зарі радіяційи», вадь «моделы з конченых елементу». Шкода што, стройна провірка тіпу, котра помагає проґраміштам C++ убходити хыбы, у тому самому часі учажит строїня грубых обєкту з малых.'' — <cite>[[:ruе:Брукс,_Фредерік|Ф. Брукс]], [[:ruе:Мітічный_чоловіко-місяць|Мітічный чоловіко-місяць]]</cite> == Вплыв и алтернатівы == [[Файл:C_Cpp_compare.png|праворуч|міні|Проґрама «<nowiki/>[[Hello, world!]]<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=http://www.cs.rice.edu/~taha/publications/conference/padl02.pdf}}</ref><ref>{{Cite web|url=http://www.cs.rice.edu/~taha/publications/|title=Walid Taha|lang=en|website=School of Engineering Rice University|date=|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|ref=http://rsdn.ru/?article%2Fphilosophy%2FSyntacticSugar.xml|рік=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|website=|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 |ответственный=Тов. із англ |выданя=3-е выданя|місто={{СПб}}; {{М}} |выдавательство=[[Невский диалект]] — [[Біном (выдавательстьво)|Біном]] |рік=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. <!-- Соавтор книги "B. Kernighan and P.J. Plauger. The Elements of Programming Style" (McGraw-Hill, 1988) ISBN 0070342075. --> | выданя = [[Dr. Dobb's Journal]] | рік = Октобер, 1993 | ref = Plauger }} * {{книга |тітул=The Unix-Haters Handbook |одказ=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. | одказ = 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 | одказ = 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 |access-date= |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 - Convert builin-mailinfo.c }} [[Катеґорія:С++]] [[Катеґорія:Языкы проґрамованя]] [[Катеґорія:Статя написана мараморошськым ґваром]] [[Катеґорія:Сі самаравучі языкы проґрамованя]] [[Катеґорія:Высокорунёві языкы проґрамованя]] [[Катеґорія:Языкы проґрамованя із особным кроманёванём тямов]] 0op02069qwrc7dc6naz66gs0znbtelc Ротшілдове 0 22873 168757 160863 2026-08-26T06:33:57Z CommonsDelinker 9283 Replacing Haus_der_Rothschilds_in_der_frankfurter_Judengasse.jpg with [[File:Haus_der_Rothschilds_in_der_Frankfurter_Judengasse.jpg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#FR3|Criterion 3]] (obvio 168757 wikitext text/x-wiki {{Діалект|Пряшівскый діалект русиньского языка|пряшівскым діалектом|пряшівскый}} [[File:Haus der Rothschilds in der Frankfurter Judengasse.jpg|right|thumb|Дім во франкфуртьскім ґето, выдкы Ротшілдове походять]] '''Ро́тшілдове''' ({{lang-de|Rothschild}}) — дінастія жыдовскых фінанчників родом з [[Нїмецько|Нїмецька]]. Протягом часу впливали і впливають в многых економічных і бізнісовых областях, меджі іншым в інвестічнім банковництві і винарьстві. Тота родина нїмецькых Ашкеназьскых [[Жыде|Жыдів]], родом з Франкфурту над Моганом, в 18. столїтї розшырила своє дїятельство по цїлій [[Европа|Европі]] і дакотры з них здобыли ракуськы і британьскы шляхтьскы тітулы. == Походжіня == Основателём дінастії Ротшілдовых є Маєр Амшел Ротшілд (первістным меном Маєр Амшел Бауер, 23. фебруара 1744, Франкфурт над Моганом — 19. септембра 1812, ту так само). Скусеность в области фінанчництва здобыв у банкового роду Оппенгаймів в [[Ганновер|Гановерї]] (часть той розконарёвой родины ся усадила ай в [[Прага|Празї]], поз. наприклад верхнёго рабіна Давіда Оппенгайма). По смерти своёго отця Мозеса Амшела Бауера в наслїдство одышов ёго бізніс во франкуртьскім ґето і переменовав ся на Маєра Амсела Ротшілда подля червеного щіта, котрый вісїв перед отцёвскым домом. Поступом часу ся став дуже впливовым і богатым фінанчником, і вдяка тому, же став адміністратором великого маєтку ландґрафа Вільяма I. Гесеньского. Маєр Амшел Ротшілд 29. авґуста 1770 ся оженив з Ґутеле Шнапперовов (1753—1849), вєдно мали пять сынів і пять дочок. Свою фінанчну імперію розшырив ай за граніцї Нїмецька тым, же своїх сынів послав до пяты міст в різных европскых країнах, жебы там заложили бізнес (Франкфурт над Моганом, [[Відень]], [[Лондон]], [[Неапол]], [[Паріж]]). В припадї неприязной сітуації в єдній країнї сі мали братя взаємно помагати, што ся реално робили і цїлый жывот вузко сполупрацовали; каждый з них заложив новый конарь родинї на своёй новой отцюзнинї. Родинне богатство мало быти заховане через договорены свадьбы меджі братами і сестрами з першого або другого колїна, глава родины мала зістати во Франкфуртї. В 2005 роцї Маєр Амшел Ротшілд быв вызначеный часописом Forbes за седьмого найвпливного бізнесмена вшыткых часів і як "основателя меджінародного фінанчництва".<ref>{{Cite web|title=The Twenty Most Influential Businessmen Of All Time|url=http://2005/07/29/most-influential-businessmen-cx_mn_0729bizmenintro|vydavateľ=Forbes|access-date=2019-04-30|lang=en|first=Edited By Michael|last=Noer}}</ref> == Ґалерія == <gallery> Файл:MayerRothschild.jpg|Маєр Амшел Ротшілд Файл:Amschel Mayer Rothschild.jpg|Амшел Маєр Ротшілд Файл:Salomon Rothschild.jpg|Соломон Маєр Файл:Nathan Rothschild.jpg|Натан Маєр Ротшілд, Файл:Carl Mayer Rothschild.jpg|Калман Маєр Файл:James de Rothschild (1792-1868).jpg|Джеймс Маєр Ротшілд Файл:Walter Rothschild.jpg|Волтер Ротшілд Файл:Guy de Rothschild 1964.jpg|Ґі де Ротшілд Файл:David de Rothschild01.JPG|Давід Рене де Ротшілд Файл:Photo of David de Rothschild.jpg|Девід Маєр де Ротшілд </gallery> == Референції == {{reflist}} == Література == * {{Cite book|last=Comay|first=Joan|last2=Cohn-Sherbok|first2=Lavinia|тітул=Who's Who in Jewish History: After the Period of the Old Testament|выдаватель=Routledge|місто=[[Лондон|London]]|рік=2002|isbn=978-0415260305|počet strán=407|url=http://books.google.cz/books?id=0FTQQQBXHMQC&printsec=frontcover#v=onepage&q&f=false|lang=анґліцькый}} [[Катеґорія:Ротшілдове]] auju7c1rr4j73149xl4ie3065gnq8qu Шаблона:Особа проста/doc 10 24160 168750 166967 2026-08-25T18:54:43Z Igor Kercsa 5504 доповненя 168750 wikitext text/x-wiki {{Documentation subpage}} <!-- РЕДАГУЙТЕ ДОКУМЕНТАЦИЮ ШАБЛОНА НИЖЕ СЕГО РЯДКА --> {{Особа проста |Имя=Максимильен Робеспьер |Имя_оригиналне=''фр.'' Maximilien François Marie Isidore de Robespierre |Категория_склада=Maximilien de Robespierre |Образчик=[[File:Robespierre.jpg|230px]] |Образчика_подпис=Робеспьер од непознатого маляря, ок.1790 |Чинность=Адвокат, дѣятель Великой французской револуции |Уроджѣня={{Birth date|1758|05|06}} |Мѣсто_роджѣня=Аррас, Па-де-Кале, Франция |Упокоеня={{Death date and age|1794|07|28|1758|05|06}} |Мѣсто_смерти=Париж, Франция |Причина_смерти=гилотинованя |Мѣсто_погребу=Париж, Cimetière des Errancis, братскый гроб }} Тоту шаблону хоснуйте, кедь маете проблемы з шаблонов ''[[Шаблона:Особа|Особа]]'' (се копия станом на рок 2017) ==Примѣр хоснованя шаблона== <pre> {{Особа проста |Имя=Максимильен Робеспьер |Имя_оригиналне=''фр.'' Maximilien François Marie Isidore de Robespierre |Категория_склада=Maximilien de Robespierre |Образчик=[[File:Robespierre.jpg|230px]] |Образчика_подпис=Робеспьер од непознатого маляря, ок.1790 |Чинность=Адвокат, дѣятель Великой французской револуции |Уроджѣня={{Birth date|1758|05|06}} |Мѣсто_роджѣня=Аррас, Па-де-Кале, Франция |Упокоеня={{Death date and age|1794|07|28|1758|05|06}} |Мѣсто_смерти=Париж, Франция |Причина_смерти=гилотинованя }} </pre> ==О шаблонах про датум== <pre> У нежиючой особы хоснуеме пару шаблон: * {{Birth date|YYYY|MM|DD}} * {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (первѣй датум смерти) У жиючой особы хоснуеме шаблону: * {{Birth date and age|YYYY|MM|DD}} </pre> ==Иншы параметры== * Ширина инфорамы 250px. Кедь образчик буде мати векшу ширину, з ним ся росширить и рама. <includeonly> <!-- ДОДАВАЙТЕ КАТЕГОРИИ НИЖЕ СЕГО РЯДКА --> [[Катеґорія:Инфорамы]] {{DEFAULTSORT:Особа проста}} </includeonly> [[Катеґорія:Инфорамы]] hl1ch3dq5akszgf6j4ephypvaz5lezn 168751 168750 2026-08-25T19:02:15Z Igor Kercsa 5504 доповненя 168751 wikitext text/x-wiki {{Documentation subpage}} <!-- РЕДАГУЙТЕ ДОКУМЕНТАЦИЮ ШАБЛОНА НИЖЕ СЕГО РЯДКА --> {{Особа проста |Имя=Максимильен Робеспьер |Имя_оригиналне=''фр.'' Maximilien François Marie Isidore de Robespierre |Категория_склада=Maximilien de Robespierre |Образчик=[[File:Robespierre.jpg|230px]] |Образчика_подпис=Робеспьер од непознатого маляря, ок.1790 |Чинность=Адвокат, дѣятель Великой французской револуции |Уроджѣня={{Birth date|1758|05|06}} |Мѣсто_роджѣня=Аррас, Па-де-Кале, Франция |Упокоеня={{Death date and age|1794|07|28|1758|05|06}} |Мѣсто_смерти=Париж, Франция |Причина_смерти=гилотинованя |Мѣсто_погребу=Париж, Cimetière des Errancis, братскый гроб }} Тоту шаблону хоснуйте, кедь маете проблемы з шаблонов ''[[Шаблона:Особа|Особа]]'' (се копия станом на рок 2017) ==Примѣр хоснованя шаблона== <pre> {{Особа проста |Имя=Максимильен Робеспьер |Имя_оригиналне=''фр.'' Maximilien François Marie Isidore de Robespierre |Категория_склада=Maximilien de Robespierre |Образчик=[[File:Robespierre.jpg|230px]] |Образчика_подпис=Робеспьер од непознатого маляря, ок.1790 |Чинность=Адвокат, дѣятель Великой французской револуции |Уроджѣня={{Birth date|1758|05|06}} |Мѣсто_роджѣня=Аррас, Па-де-Кале, Франция |Упокоеня={{Death date and age|1794|07|28|1758|05|06}} |Мѣсто_смерти=Париж, Франция |Причина_смерти=гилотинованя |Мѣсто_погребу=Париж, Cimetière des Errancis, братскый гроб }} </pre> ==О шаблонах про датум== <pre> У нежиючой особы хоснуеме пару шаблон: * {{Birth date|YYYY|MM|DD}} * {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (первѣй датум смерти) У жиючой особы хоснуеме шаблону: * {{Birth date and age|YYYY|MM|DD}} </pre> ==Иншы параметры== * Ширина инфорамы 250px. Кедь образчик буде мати векшу ширину, з ним ся росширить и рама. <includeonly> <!-- ДОДАВАЙТЕ КАТЕГОРИИ НИЖЕ СЕГО РЯДКА --> [[Катеґорія:Инфорамы]] {{DEFAULTSORT:Особа проста}} </includeonly> [[Катеґорія:Инфорамы]] 7vqii9p8cuweqore2v9bdwppvlb7c3o Модуль:Official website 828 24905 168752 2026-08-25T22:33:41Z Halajkovič 33393 Створена сторінка: local makeUrl = require('Module:URL')._url local p = {} -- Wrapper for pcall which returns nil on failure. local function quickPcall(func) local success, result = pcall(func) if success then return result end end -- Gets the rank for a Wikidata property table. Returns 1, 0 or -1, in -- order of rank. local function getRank(prop) local rank = prop.rank if rank == 'preferred' then return 1 elseif rank == 'normal' then return 0 elseif rank ==... 168752 Scribunto text/plain local makeUrl = require('Module:URL')._url local p = {} -- Wrapper for pcall which returns nil on failure. local function quickPcall(func) local success, result = pcall(func) if success then return result end end -- Gets the rank for a Wikidata property table. Returns 1, 0 or -1, in -- order of rank. local function getRank(prop) local rank = prop.rank if rank == 'preferred' then return 1 elseif rank == 'normal' then return 0 elseif rank == 'deprecated' then return -1 else -- No rank or undefined rank is treated as "normal". return 0 end end -- Finds whether a Wikidata property is qualified as being in English. local function isEnglish(prop) local ret = quickPcall(function () for i, lang in ipairs(prop.qualifiers.P407) do if lang.datavalue.value['numeric-id'] == 1860 then return true end end return false end) return ret == true end -- Fetches the official website URL from Wikidata. local fetchWikidataUrl fetchWikidataUrl = function(qid) -- Get objects for all official sites on Wikidata. local websites = quickPcall(function () local id = qid or mw.wikibase.getEntityIdForCurrentPage() return mw.wikibase.getAllStatements(id, 'P856') end) -- Clone the objects in case other code needs them in their original order. websites = websites and mw.clone(websites) or {} -- Add the table index to the objects in case it is needed in the sort. for i, website in ipairs(websites) do website._index = i end -- Sort the websites, first by highest rank, and then by websites in the -- English language, then by the website's original position in the -- property list. When we are done, get the URL from the highest-sorted -- object. table.sort(websites, function(ws1, ws2) local r1 = getRank(ws1) local r2 = getRank(ws2) if r1 ~= r2 then return r1 > r2 end local e1 = isEnglish(ws1) local e2 = isEnglish(ws2) if e1 ~= e2 then return e1 end return ws1._index < ws2._index end) local url = quickPcall(function () return websites[1].mainsnak.datavalue.value end) -- Cache the result so that we only do the heavy lifting once per #invoke. fetchWikidataUrl = function () return url end return url end -- Render the URL link, plus other visible output. local function renderUrl(options) if not options.url and not options.wikidataurl then if options.suppress_error then return '' end local qid = options.qid or mw.wikibase.getEntityIdForCurrentPage() local result = '<strong class="error">' .. 'No URL found. Please specify a URL here or add one to Wikidata.' .. '</strong>' if qid then result = result.. ' [[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' end return result end local ret = {} ret[#ret + 1] = string.format( '<span class="official-website">%s</span>', makeUrl(options.url or options.wikidataurl, options.display) ) if options.wikidataurl and not options.url then local qid = mw.wikibase.getEntityIdForCurrentPage() if qid then ret[#ret + 1] = '[[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/' .. qid .. '#P856|Edit this at Wikidata]]' end end return table.concat(ret, ' ') end -- Render the tracking category. local function renderTrackingCategory(url, wikidataurl) if mw.title.getCurrentTitle().namespace ~= 0 then return '' end local category if not url and not wikidataurl then category = 'Official website missing URL' elseif not url and wikidataurl then return '' elseif url and wikidataurl then if url:gsub('/%s*$', '') ~= wikidataurl:gsub('/%s*$', '') then category = 'Official website different in Wikidata and Wikipedia' end else category = 'Official website not in Wikidata' end return category and string.format('[[Category:%s]]', category) or '' end function p._main(args) local url = args[1] or args.URL or args.url local wikidataurl = fetchWikidataUrl(args.qid) local formattedUrl = renderUrl{ url = url, wikidataurl = wikidataurl, display = args[2] or args.name or 'Official website', qid = qid } return formattedUrl .. renderTrackingCategory(url, wikidataurl) end function p._url(args) local qid = args.qid local wikidataurl = fetchWikidataUrl(qid) local formattedUrl = renderUrl{ suppress_error = 1, wikidataurl = wikidataurl, qid = qid } local warning = "" if wikidataurl == nil then local generateWarning = require('Module:If preview')._warning warning = generateWarning({ "No official website ([[wikidata:Property:P856|P856]]) found in wikidata. Nothing will be displayed." }) end return formattedUrl .. warning end function p.main(frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:Official website' }) return p._main(args) end -- New entrypoint for Template:Official URL function p.url(frame) local args = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:Official URL' }) return p._url(args) end return p 8swla2zmjh9yfkteo35cdgfff9ui6ba Шаблона:Official website 10 24906 168753 2026-08-25T22:34:29Z Halajkovič 33393 Створена сторінка: <includeonly>{{#invoke:Official website|main}}{{#invoke:Check for unknown parameters|check|showblankpositional=1|unknown={{main other|1=[[Category:Pages using Official website with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Official website]] with unknown parameter "_VALUE_"|1|2|URL|url|name}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> 168753 wikitext text/x-wiki <includeonly>{{#invoke:Official website|main}}{{#invoke:Check for unknown parameters|check|showblankpositional=1|unknown={{main other|1=[[Category:Pages using Official website with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Official website]] with unknown parameter "_VALUE_"|1|2|URL|url|name}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> kt3e2mvx6fpqh8sworf90p599xfs7ku Шаблона:Офіціална сторінка 10 24907 168754 2026-08-25T22:35:16Z Halajkovič 33393 Напрямлїня на [[Шаблона:Official website]] 168754 wikitext text/x-wiki #redirect [[Шаблона:Official website]] 0493t5k24flwmruamq2eqge4om0p7w2 Шаблона:Cite magazine 10 24908 168756 2026-08-25T22:45:43Z Halajkovič 33393 Створена сторінка: <includeonly>{{#invoke:Citation/CS1|citation |CitationClass=magazine }}</includeonly><noinclude> {{documentation}} </noinclude> 168756 wikitext text/x-wiki <includeonly>{{#invoke:Citation/CS1|citation |CitationClass=magazine }}</includeonly><noinclude> {{documentation}} </noinclude> ihdnkvb90c6voz3z3uc97mmw5bytrkw