C Sharp: Versiyalar orasidagi farq

Vikipediya, ochiq ensiklopediya
Kontent oʻchirildi Kontent qoʻshildi
k →‎Misol: kichik o'zgarishlar
Qator 20: Qator 20:


<!--interwikis -->
<!--interwikis -->
С# тили тарихи
Компьютер тиллари ўз-ўзидан эмас, балки ўзаро бир-бирига боғлиқликда мавжуд бўлади. Ҳар қандай янги тил у ёки бу шаклда олдинги яратилган тилларнинг хоссаларини ўзига мерос қилиб олади, яъни кетма-кетлик принципи амалга оширилади. Натижада битта тилнинг имкониятлари бошқалари томонидан фойдаланилади (масалан, янги хусусиятлар мавжуд контекстга бирлаштирилади, тилнинг эски тузилишлари эса ўчириб юборилади). Компьютер тилларининг эволюцияси шундай тарзда рўй беради ва дастурлаш маҳорати такомиллаштирилади.
С# тили юқоридагилардан истисно эмас, у бошқа дастурлаш тилларининг кўплаб фойдали имкониятларини мерос қилиб олди ва дунёда энг кўп қўлланиладиган иккита компьютер тиллари – Си, С++, шунингдек Java тили билан узвий боғлиқдир. С# ни тушуниш учун мазкур боғлиқлик табиатини аниқлаб олиш керак, шунинг учун олдин биз ушбу уч тилнинг ривожланиш тарихи тўғрисида тўхталиб ўтамиз.
С тили 1972 йилда Нью-Джерси штатининг Мюррей-хилл шаҳрида Bell Laboratories компаниясининг тизимли дастур тузувчиси Дэннис Ричи томонидан яратилган. Бу тил ўзини шунчалик яхши кўрсатдики, охир оқибатда унда Unix операцион тизимларининг 90% ядро кодлари ёзилди (олдин қуйи даражадаги тил ассемблерда ёзилган). С нинг вужудга келишидан олдинроқ яратилган тиллардан, Pascal улардан энг машҳури ҳисобланади, етарли даражада муваффақиятли фойдаланилган, лекин айнан С тили дастурлашнинг замонавий даври бошланишини белгилаб берди.
1960 йилларда дастурлаш технологияларидаги структуравий дастурлашларнинг пайдо бўлишига олиб келган инқилобий ўзгаришлар С тилини яратиш учун асосий имкониятларни белгилаб берди. Структуравий дастурлашларнинг пайдо бўлишига қадар катта дастурларни ёзиш қийин бўлган, сатр кодлари миқдорининг ошиши сабабли дастурларнинг ўтиш жойлари чалкаш массаларига айланиб кетишига олиб келади. Структуравий тиллар дастур тузувчи инструментарийсига шартли операторларни, локал ўзгарадиган тартибларни ва бошқа мукаммаллаштиришларни қўшиб бу муаммони ҳал қилди. Шундай тарзда нисбатан катта дастурларни ёзиш имконияти вужудга келди.
Айнан С тили куч, элегантлик ва маънодорликни ўзида муваффақиятли бирлаштирган биринчи структуравий тил бўлди. Унинг бўлиши мумкин бўлган хатолар масъулиятини тилга эмас дастур тузувчи зиммасига юклайдиган принциплар билан инобатга олган ҳолда синтаксисдан фойдаланишдаги қисқалик ва осонлик каби хусусиятлари тезда кўплаб тарафдорларини топди.
Бугунги кунда биз мазкур сифатларни ўз ўзидан англашиладиган деб ҳисоблаймиз, лекин С да биринчи маротаба дастур тузувчига зарур бўлган ажойиб янги имкониятлар мужассамлаштирилган. Натижада 1980 йиллардан бошлаб С структуравий дастурлаш тиллари орасида энг кўп фойдаланиладиганларидан бири бўлиб қолди.
Бироқ, дастурлашнинг ривожлантириш чораларига кўра бунданда каттароқ дастурларни қайта ишлаш муаммоси келиб чиқмоқда. Лойиҳа коди маълум бир ҳажмга етган заҳоти (унинг рақамли аҳамияти дастур, дастур тузувчи, фойдаланилган инструментларга боғлиқ бўлади, лекин тахминан 5000 сатр кодлари назарда тутилаяпти) С-дастурларини тушуниш ва кузатиб боришда қийинчиликлар юзага келади.
ОЙД нинг вужудга келиши ва С++ тилининг яратилиши
1970 йиллар охирида кўплаб лойиҳалар С структуравий дастурлаш тили ёрдамида қайта ишлаш учун осон бўлган энг юқори ҳажмга эришган. Энди буларга янгича муносабат талаб қилина бошланди ва ушбу муаммони ҳал этиш учун дастур тузувчига катта ҳажмдаги дастурлар билан ишлаш имконини берувчи объектга йўналтирилган дастурлаш (ОЙД) яратилди. Ҳамонки, ўша вақтда С энг оммабоп тил бўлишига қарамасдан ОЙД ни қўллаб-қувватламади, унинг объектга йўналтирилган (кейинчалик С++ деб аталган) версиясини яратиш зарурати туғилди.
Бу версия ўша Bell Laboratories компаниясининг ходими Бьярн Страустрап томонидан 1979 йил бошида ишлаб чиқилган. Дастлаб янги тил “С синфлар билан” деган ном олди, лекин 1983 йилда С++ деб қайта номланган. У ўзида С тилини тўла қамраб олади (яъни, С С++ учун пойдевор бўлиб хизмат қилади) ва объектга йўналтирилган дастурлашни қўллаб-қувватлаш учун мўлжалланган янги имкониятларни намоён қилади. Аслида С++ С тилининг объектга йўналтирилган версияси ҳисобланади, шунинг учун С ни билувчи дастур тузувчи учун С++ да дастурлашга ўтишда янги тилни эмас, балки фақатгина ОЙД нинг янги концепциясини ўрганиш кифоя қилади.
С++ тили узоқ вақт мобайнида сифатга эьтибор бермай, фақат миқдор ошириш, ҳажмни кенгайтириш жиҳатидан ривожланди ва соя остида қолиб кетди. 1990 йиллар бошида у оммавий равишда қўлланила бошланди ва катта ютуқларга эришди, ўн йилликнинг охирида эса дастурий таъминотни қайта ишлашда энг кенг фойдаланиладиган ва бугунги кунда ҳам пешқадамлик қилаётган тилга айланди.
Шуни англаш муҳимки, С++ ни ишлаб чиқилиши янги дастурлаш тилини яратишга интилиш ҳисобланмайди, балки фақатгина етарли даражада муваффақиятли тилни такомиллаштираяпти ва тўлдираяпти. Бундай қараш, ҳозирда ҳам компьютер тилларини ривожлантиришнинг янги йўналишларида қўлланилаяпти.

8-Noyabr 2018, 04:27 dagi koʻrinishi

C# (talaffuzi: si sharp) dasturlash tili Microsoft korporatsiyadan obyekt moʻljallangan dasturlash tilidir. U .NET texnologiyasi bilan reliz kelishdi, keyingi ECMA va ISO standartlarini ham oladi.

Misol

using System;

namespace AssalomuAlaykum {
    class Program {
        static void Main(string[] args) {
            Console.WriteLine("Hello, world!");
        }
    }
}


С# тили тарихи Компьютер тиллари ўз-ўзидан эмас, балки ўзаро бир-бирига боғлиқликда мавжуд бўлади. Ҳар қандай янги тил у ёки бу шаклда олдинги яратилган тилларнинг хоссаларини ўзига мерос қилиб олади, яъни кетма-кетлик принципи амалга оширилади. Натижада битта тилнинг имкониятлари бошқалари томонидан фойдаланилади (масалан, янги хусусиятлар мавжуд контекстга бирлаштирилади, тилнинг эски тузилишлари эса ўчириб юборилади). Компьютер тилларининг эволюцияси шундай тарзда рўй беради ва дастурлаш маҳорати такомиллаштирилади. С# тили юқоридагилардан истисно эмас, у бошқа дастурлаш тилларининг кўплаб фойдали имкониятларини мерос қилиб олди ва дунёда энг кўп қўлланиладиган иккита компьютер тиллари – Си, С++, шунингдек Java тили билан узвий боғлиқдир. С# ни тушуниш учун мазкур боғлиқлик табиатини аниқлаб олиш керак, шунинг учун олдин биз ушбу уч тилнинг ривожланиш тарихи тўғрисида тўхталиб ўтамиз. С тили 1972 йилда Нью-Джерси штатининг Мюррей-хилл шаҳрида Bell Laboratories компаниясининг тизимли дастур тузувчиси Дэннис Ричи томонидан яратилган. Бу тил ўзини шунчалик яхши кўрсатдики, охир оқибатда унда Unix операцион тизимларининг 90% ядро кодлари ёзилди (олдин қуйи даражадаги тил ассемблерда ёзилган). С нинг вужудга келишидан олдинроқ яратилган тиллардан, Pascal улардан энг машҳури ҳисобланади, етарли даражада муваффақиятли фойдаланилган, лекин айнан С тили дастурлашнинг замонавий даври бошланишини белгилаб берди. 1960 йилларда дастурлаш технологияларидаги структуравий дастурлашларнинг пайдо бўлишига олиб келган инқилобий ўзгаришлар С тилини яратиш учун асосий имкониятларни белгилаб берди. Структуравий дастурлашларнинг пайдо бўлишига қадар катта дастурларни ёзиш қийин бўлган, сатр кодлари миқдорининг ошиши сабабли дастурларнинг ўтиш жойлари чалкаш массаларига айланиб кетишига олиб келади. Структуравий тиллар дастур тузувчи инструментарийсига шартли операторларни, локал ўзгарадиган тартибларни ва бошқа мукаммаллаштиришларни қўшиб бу муаммони ҳал қилди. Шундай тарзда нисбатан катта дастурларни ёзиш имконияти вужудга келди. Айнан С тили куч, элегантлик ва маънодорликни ўзида муваффақиятли бирлаштирган биринчи структуравий тил бўлди. Унинг бўлиши мумкин бўлган хатолар масъулиятини тилга эмас дастур тузувчи зиммасига юклайдиган принциплар билан инобатга олган ҳолда синтаксисдан фойдаланишдаги қисқалик ва осонлик каби хусусиятлари тезда кўплаб тарафдорларини топди. Бугунги кунда биз мазкур сифатларни ўз ўзидан англашиладиган деб ҳисоблаймиз, лекин С да биринчи маротаба дастур тузувчига зарур бўлган ажойиб янги имкониятлар мужассамлаштирилган. Натижада 1980 йиллардан бошлаб С структуравий дастурлаш тиллари орасида энг кўп фойдаланиладиганларидан бири бўлиб қолди. Бироқ, дастурлашнинг ривожлантириш чораларига кўра бунданда каттароқ дастурларни қайта ишлаш муаммоси келиб чиқмоқда. Лойиҳа коди маълум бир ҳажмга етган заҳоти (унинг рақамли аҳамияти дастур, дастур тузувчи, фойдаланилган инструментларга боғлиқ бўлади, лекин тахминан 5000 сатр кодлари назарда тутилаяпти) С-дастурларини тушуниш ва кузатиб боришда қийинчиликлар юзага келади. ОЙД нинг вужудга келиши ва С++ тилининг яратилиши 1970 йиллар охирида кўплаб лойиҳалар С структуравий дастурлаш тили ёрдамида қайта ишлаш учун осон бўлган энг юқори ҳажмга эришган. Энди буларга янгича муносабат талаб қилина бошланди ва ушбу муаммони ҳал этиш учун дастур тузувчига катта ҳажмдаги дастурлар билан ишлаш имконини берувчи объектга йўналтирилган дастурлаш (ОЙД) яратилди. Ҳамонки, ўша вақтда С энг оммабоп тил бўлишига қарамасдан ОЙД ни қўллаб-қувватламади, унинг объектга йўналтирилган (кейинчалик С++ деб аталган) версиясини яратиш зарурати туғилди. Бу версия ўша Bell Laboratories компаниясининг ходими Бьярн Страустрап томонидан 1979 йил бошида ишлаб чиқилган. Дастлаб янги тил “С синфлар билан” деган ном олди, лекин 1983 йилда С++ деб қайта номланган. У ўзида С тилини тўла қамраб олади (яъни, С С++ учун пойдевор бўлиб хизмат қилади) ва объектга йўналтирилган дастурлашни қўллаб-қувватлаш учун мўлжалланган янги имкониятларни намоён қилади. Аслида С++ С тилининг объектга йўналтирилган версияси ҳисобланади, шунинг учун С ни билувчи дастур тузувчи учун С++ да дастурлашга ўтишда янги тилни эмас, балки фақатгина ОЙД нинг янги концепциясини ўрганиш кифоя қилади. С++ тили узоқ вақт мобайнида сифатга эьтибор бермай, фақат миқдор ошириш, ҳажмни кенгайтириш жиҳатидан ривожланди ва соя остида қолиб кетди. 1990 йиллар бошида у оммавий равишда қўлланила бошланди ва катта ютуқларга эришди, ўн йилликнинг охирида эса дастурий таъминотни қайта ишлашда энг кенг фойдаланиладиган ва бугунги кунда ҳам пешқадамлик қилаётган тилга айланди. Шуни англаш муҳимки, С++ ни ишлаб чиқилиши янги дастурлаш тилини яратишга интилиш ҳисобланмайди, балки фақатгина етарли даражада муваффақиятли тилни такомиллаштираяпти ва тўлдираяпти. Бундай қараш, ҳозирда ҳам компьютер тилларини ривожлантиришнинг янги йўналишларида қўлланилаяпти.