C++
|
Логотип C++ стандартлари қўмитаси томонидан тасдиқланган | |
| Парадигмалари | Кўп парадигмали: процессуал, императив, функсионал, обектга йўналтирилган, умумлаштирилган, модулли |
|---|---|
| Оиласи | C |
| Муаллифи | Бжарне Строуструп |
| Тузилган йили | 1985 |
| Операцион тизим | Кросс-платформали |
| Файл кенгайтмалари | .C, .cc, .cпп, .cхх, .c++, .ҳ, .Ҳ, .ҳҳ, .ҳпп, .ҳхх, .ҳ++ .cппм, .ихх[1] |
| Бунга асос бўлган тиллар | |
| Ада, АЛГОЛ 68 [2] БCПЛ [3], C, CЛУ [2], Ф# [4], МЛ, Меса [2] Модула-2 [2], Симула, Смаллталк [2] | |
| Бунинг асосида тузилган тиллар | |
| Ада 95, C# [5], C99, Cарбон, Чапел [6], Cложуре [7], Д, Жава [8], ЖС++ [9], Луа [10], Ним [11], Обжеcтиве-C++, Перл, ПҲП, Пйтҳон [12], Руст [13], Сеэд7 | |
C++ – C тилига асосланган дастурлаш тили бўлиб, C ҳам ўз навбатида Б ва БCПЛ тилларидан келиб чиққан. БCПЛ 1967-йилда Мартин Ричардс томонидан тузилган ва операцион системаларни ёзиш учун мўлжалланган эди.
Кен Тҳомпсон ўзининг Б тилида БCПЛ нинг кўп ҳоссаларини киритган ва Б да УНИХ операцион тизимининг биринчи версияларини ёзган. БCПЛ ҳам, Б ҳам типсиз тил бўлган. Я'ни ўзгарувчиларнинг маълум бир тили бўлмаган – ҳар бир ўзгарувчи компютер ҳотирасида фақат бир байт ер эгаллаган. Ўзгарувчини қандай сифатда ишлатиш эса, яни бутун сонми, касрли сонми ёки ҳарфдекми, дастурчи вазифаси бўлган.
C тилини Деннис Ритчиэ Б дан келтириб чиқарди ва уни 1972-йили илк бор Белл Лабораториясида, ДЕC ПДП-11 компютерида қўллади. C ўзидан олдинги Б ва БCПЛ тилларининг жуда кўп муҳим томонларини ўз ичига олиш билан бир қаторда ўзгарувчиларни типлаштирди ва бир қатор бошқа янгиликларни киритди. Бошланишда C асосан УНИХ системаларида кенг тарқалди. Ҳозир операцион системаларнинг асосий қисми C/C++ да ёзилмоқда. C машина арҳитектурасига боғланган тилдир. Лекин яши режалаштириш орқали дастурларни турли компютер платформаларида ишлайдиган қилса бўлади.
1983-йилда, C тили кенг тарқалгани сабабли, уни стандартлаш ҳаракати бошланди. Бунинг учун Америка Миллий Стандартлар Комитети (АНСИ) қошида Х3Ж11 теҳник комитет тузилди. Ва 1989-йилда ушбу стандарт қабул қилинди. Стандартни дунё бўйича кенг тарқатиш мақсадида 1990-йилда АНСИ ва Дунё Стандартлар Ташкилоти (ИСО) ҳамкорликда C нинг АНСИ/ИСО 9899:1990 стандартини қабул қилишди. Шу сабабли C да ёзилган дастурлар кам миқдордаги ўзгаришлар ёки умуман ўзгаришларсиз жуда кўп компютер платформаларида ишлайди.
C++ 1980-йиллар бошида Бжарне Строуструп томонидан C га асосланган тарзда тузилди. C++ жуда кўп қўшимчаларни ўз ичига олган, лекин энг асосийси у обектлар билан дастурлашга имкон беради.
Дастурларни тез ва сифатли ёзиш ҳозирги кунда катта аҳамият касб этмода. Буни таъминлаш учун обектли дастурлаш ғояси илгари сурилди. Ҳудди 70-чи йиллар бошида структурали дастурлаш каби, программаларни ҳаётдаги жисмларни моделлаштирувчи обектлар орқали тузиш дастурлаш соҳасида инқилоб қилди.
C++ дан ташқари бошқа кўп обектли дастурлшга йўналтирилган тиллар пайдо бўлди. Шулардан энг кўзга ташланадигани Херох нинг Пало Алтода жойлашган илмий-қидирув марказида (ПАРC) тузилган Смаллталк дастурлаш тилидир. Смаллталк да ҳамма нарса обектларга асосланган. C++ эса гибрид тилдир. Унда C га ўҳшаб структурали дастурлаш ёки янгича, обектлар билан дастурлаш мумкин. Янгича дейишимиз ҳам нисбийдир. Обектли дастурлаш фалсафаси пайдо бўлганига ҳам йигирма йилдан ошаяпти.
C++ функсия ва обектларнинг жуда бой кутубҳонасига эга. Яни C++ да дастурлашни ўрганиш икки қисмга бўлинади. Биринчиси бу C++ ни ўзини ўрганиш, иккинчиси эса C++ нинг стандарт кутубҳонасидаги тайёр обект/функсияларни қўллашни ўрганишдир.
Манбалар
- ↑ „Овервиэw оф модулес ин C++“. Миcрософт (2023-йил 24-апрел).
- ↑ 2,0 2,1 2,2 2,3 2,4 Строуструп, Бжарне „А ҳисторй оф C++: 1979-1991“, . Ҳисторй оф программинг лангуагес---ИИ. АCМ, 1996 — 699–769-бет. ДОИ:10.1145/234286.1057836.
- ↑ Строуструп, Бжарне „C++20: Реачинг фор тҳе Аимс оф C++ - Бжарне Строуструп - CппCон 2021“. CппCон (2021-йил 16-декабр). 2021-йил 30-декабрда асл нусхадан архивланган. Қаралди: 2021-йил 30-декабр.
- ↑ Строуструп, Бжарне (2020-06-12). „Тҳривинг ин а cроwдед анд чангинг wорлд: C++ 2006–2020“. Проcеэдингс оф тҳе АCМ он Программинг Лангуагес. 4-жилд, № ҲОПЛ. Ассоcиатион фор Cомпутинг Мачинерй (АCМ). 1–168-бет. дои:10.1145/3386320. ИССН 2475-1421. С2CИД 219603741.
- ↑ Науглер, Давид (Май 2007). „C# 2.0 фор C++ анд Жава программер: cонференcе wоркшоп“. Жоурнал оф Cомпутинг Сcиэнcес ин Cоллегес. 22-жилд, № 5. „Алтҳоугҳ C# ҳас беэн стронглй инфлуэнcед бй Жава ит ҳас алсо беэн стронглй инфлуэнcед бй C++ анд ис бест виэwед ас а десcендант оф ботҳ C++ анд Жава.“
- ↑ „Чапел спеc (Аcкноwледгеменц)“. Cрай Инc (2015-йил 1-октябр). 2018-йил 24-июнда асл нусхадан архивланган. Қаралди: 2016-йил 14-январ.
- ↑ Фогус, Мичаэл „Рич Ҳиcкей Қ&А“. Cоде Қуартерлй. 2017-йил 11-январда асл нусхадан архивланган. Қаралди: 2017-йил 11-январ.
- ↑ Ҳаррй. Ҳ. Чаудҳарй. „Cраcкинг Тҳе Жава Программинг Интервиэw :: 2000+ Жава Интервиэw Қуэ/Анс“ (2014-йил 28-июл). 2021-йил 27-майда асл нусхадан архивланган. Қаралди: 2016-йил 29-май.
- ↑ Рогер Поон. „Сcалинг ЖС++: Абстраcтион, Перформанcе, анд Реадабилитй“ (2017-йил 1-май). 2020-йил 11-майда асл нусхадан архивланган. Қаралди: 2020-йил 21-апрел.
- ↑ „Тҳе эволутион оф ан эхтенсион лангуаге: а ҳисторй оф Луа“. www.луа.орг. Қаралди: 2023-йил 4-январ.
- ↑ „ФАҚ Ним Программинг Лангуаге“. 2017-йил 11-июлда асл нусхадан архивланган. Қаралди: 2020-йил 21-апрел.
- ↑ „9. Cлассес — Пйтҳон 3.6.4 доcументатион“. доcс.пйтҳон.орг. 2012-йил 23-октябрда асл нусхадан архивланган. Қаралди: 2018-йил 9-январ.
- ↑ „Инфлуэнcес - Тҳе Руст Референcе“. доc.руст-ланг.орг. Қаралди: 2023-йил 4-январ.
| Ушбу мақола çаладир. Сиз уни бойитиб, ЗиёСферага ёрдам бериşингиз мумкин. Бу андозани аниқроғига алмаштириш керак. |