C Шарп

From Vikipediya

C# (Си Шарп — деб талаффуз қилинади) лексик жиҳатдан кенгайтирилган, императив, декларатив, функсионал, умумий, обектга йўналтирилган (синфга асосланган) ва компонентларга йўналтирилган дастурлаш фанларини ўз ичига олган умумий мақсадли, кўп парадигмали дастурлаш тили. У 2000-йилда Миcрософт томонидан .НЕТ ташаббуси доирасида ишлаб чиқилган ва кейинчалик Эcма (ЭCМА-334) ва ИСО (ИСО / ИЭC 23270: 2018) томонидан халқаро стандарт сифатида тасдиқланган.

Мисол[edit | edit source]

Console.WriteLine("Salom, dunyo!");

C# тили тарихи[edit | edit source]

Компютер тиллари ўз-ўзидан эмас, балки ўзаро бир-бирига боғлиқликда мавжуд бўлади. Ҳар қандай янги тил у ёки бу шаклда олдинги яратилган тилларнинг хоссаларини ўзига мерос қилиб олади, яъни кетма-кетлик принсипи амалга оширилади. Натижада битта тилнинг имкониятлари бошқалари томонидан фойдаланилади (масалан, янги хусусиятлар мавжуд контекстга бирлаштирилади, тилнинг эски тузилишлари эса ўчириб юборилади). Компютер тилларининг эволюцияси шундай тарзда рўй беради ва дастурлаш маҳорати такомиллаштирилади. C# тили юқоридагилардан истисно эмас, у бошқа дастурлаш тилларининг кўплаб фойдали имкониятларини мерос қилиб олди ва дунёда энг кўп қўлланиладиган иккита компютер тиллари — Cи, C++, шунингдек Жава тили билан узвий боғлиқдир. C# тили 1972-йилда Ню-Джерси штатининг Мюррей-хилл шаҳрида Белл Лабораториэс компаниясининг тизимли дастур тузувчиси Деннис Ричиэ томонидан яратилган. Бу тил ўзини шунчалик яхши кўрсатдики, охир оқибатда унда Уних операцион тизимларининг 90 % ядро кодлари ёзилди (олдин қуйи даражадаги тил ассемблерда ёзилган). C# нинг вужудга келишидан олдинроқ яратилган тиллардан, (Пасcал улардан энг машҳури ҳисобланади), етарли даражада муваффақиятли фойдаланилган, лекин айнан C# тили дастурлашнинг замонавий даври бошланишини белгилаб берди. 1960-йилларда дастурлаш технологияларидаги структуравий дастурлашларнинг пайдо бўлишига олиб келган инқилобий ўзгаришлар C# тилини яратиш учун асосий имкониятларни белгилаб берди. Структуравий дастурлашларнинг пайдо бўлишига қадар катта дастурларни ёзиш қийин бўлган, сатр кодлари миқдорининг ошиши сабабли дастурларнинг ўтиш жойлари чалкаш массаларига айланиб кетишига олиб келади. Структуравий тиллар дастур тузувчи инструментарийсига шартли операторларни, локал ўзгарадиган тартибларни ва бошқа мукаммаллаштиришларни қўшиб бу муаммони ҳал қилди. Шундай тарзда нисбатан катта дастурларни ёзиш имконияти вужудга келди. Айнан C# тили куч, элегантлик ва маънодорликни ўзида муваффақиятли бирлаштирган биринчи структуравий тил бўлди. Унинг бўлиши мумкин бўлган хатолар масъулиятини тилга эмас дастур тузувчи зиммасига юклайдиган принсиплар билан инобатга олган ҳолда синтаксисдан фойдаланишдаги қисқалик ва осонлик каби хусусиятлари тезда кўплаб тарафдорларини топди. Бугунги кунда биз мазкур сифатларни ўз ўзидан англашиладиган деб ҳисоблаймиз, лекин С да биринчи маротаба дастур тузувчига зарур бўлган ажойиб янги имкониятлар мужассамлаштирилган. Натижада 1980 йиллардан бошлаб С структуравий дастурлаш тиллари орасида энг кўп фойдаланиладиганларидан бири бўлиб қолди. Бироқ, дастурлашнинг ривожлантириш чораларига кўра бунданда каттароқ дастурларни қайта ишлаш муаммоси келиб чиқмоқда. Лойиҳа коди маълум бир ҳажмга етган заҳоти (унинг рақамли аҳамияти дастур, дастур тузувчи, фойдаланилган инструментларга боғлиқ бўлади, лекин тахминан 5000 сатр кодлари назарда тутилаяпти) С-дастурларини тушуниш ва кузатиб боришда қийинчиликлар юзага келади.

ОЙДнинг вужудга келиши ва C++ тилининг яратилиши[edit | edit source]

1970 йиллар охирида кўплаб лойиҳалар С структуравий дастурлаш тили ёрдамида қайта ишлаш учун осон бўлган энг юқори ҳажмга эришган. Энди буларга янгича муносабат талаб қилина бошланди ва ушбу муаммони ҳал этиш учун дастур тузувчига катта ҳажмдаги дастурлар билан ишлаш имконини берувчи обектга йўналтирилган дастурлаш (ОЙД) яратилди. Ҳамонки, ўша вақтда С энг оммабоп тил бўлишига қарамасдан ОЙД ни қўллаб-қувватламади, унинг обектга йўналтирилган (кейинчалик C++ деб аталган) версиясини яратиш зарурати туғилди. Бу версия ўша Белл Лабораториэс компаниясининг ходими Бриан Страуструп томонидан 1979-йил бошида ишлаб чиқилган. Дастлаб янги тил „C синфлар билан“ деган ном олди, лекин 1983-йилда C++ деб қайта номланган. У ўзида C тилини тўла қамраб олади (яъни, C C++ учун пойдевор бўлиб хизмат қилади) ва обектга йўналтирилган дастурлашни қўллаб-қувватлаш учун мўлжалланган янги имкониятларни намоён қилади. Аслида C++ C тилининг обектга йўналтирилган версияси ҳисобланади, шунинг учун C ни билувчи дастур тузувчи учун C++ да дастурлашга ўтишда янги тилни эмас, балки фақатгина ОЙД нинг янги консепсиясини ўрганиш кифоя қилади. C++ тили узоқ вақт мобайнида сифатга этибор бермай, фақат миқдор ошириш, ҳажмни кенгайтириш жиҳатидан ривожланди ва соя остида қолиб кетди. 1990 йиллар бошида у оммавий равишда қўлланила бошланди ва катта ютуқларга эришди, ўн йилликнинг охирида эса дастурий таъминотни қайта ишлашда энг кенг фойдаланиладиган ва бугунги кунда ҳам пешқадамлик қилаётган тилга айланди. Шуни англаш муҳимки, C++ ни ишлаб чиқилиши янги дастурлаш тилини яратишга интилиш ҳисобланмайди, балки фақатгина этарли даражада муваффақиятли тилни такомиллаштираяпти ва тўлдираяпти. Бундай қараш, ҳозирда ҳам компютер тилларини ривожлантиришнинг янги йўналишларида қўлланилаяпти.