Версия
|
Спецификация
|
Йили
|
.NET Framework
|
Visual Studio
|
ECMA
|
ISO/IEC
|
Microsoft
|
C# 1.0
|
Декабрь 2002
|
Апрель 2003
|
Январь 2002
|
Январь 2002
|
.NET Framework 1.0
|
Visual Studio .NET (2002)
|
C# 1.2
|
Октябрь 2003
|
Апрель 2003
|
.NET Framework 1.1
|
Visual Studio .NET 2003
|
C# 2.0
|
Июнь 2006
|
Сентябрь 2006
|
Сентябрь 2005
|
Ноябрь 2005
|
.NET Framework 2.0
|
Visual Studio 2005
|
C# 3.0
|
|
Август 2007
|
Ноябрь 2007
|
.NET Framework 3.5
|
Visual Studio 2008
|
C# 4.0
|
Апрель 2010
|
Апрель 2010
|
.NET Framework 4
|
Visual Studio 2010
|
C# 5.0
|
Июнь 2013
|
Август 2012
|
.NET Framework 4.5
|
Visual Studio 2012
|
C# 6.0
|
|
Июль 2015
|
Июль 2015
|
.NET Framework 4.6
|
Visual Studio 2015
|
C# 7.0
|
|
Март 2017
|
Март 2017
|
.NET Framework 4.6
|
Visual Studio 2017
|
1.2. С# тилининг асосий хусусиятлари:
NET Framework синфларини тўлиқ 100% ишлатиш, объектли дастурлаш ва синфларни тўла қўллаш, авлод қолдириш, инкапсуляция, полиморфизм ва виртуализация усулларини қўллаш, операторларни қайта юклаш ва виртуал функцияларни яратиш ва фойдаланиш;
Асосий ва қўшимча типларнинг тўла тўплами ва яратиш имконияти;
интеграциялашган XML-хужжатларни автоматик генерация қилиш имконияти;
Динамик тақсимланган хотирани автоматик тозалаш.
Синфлар ва усулларни алоҳида атрибутлар билан белгилаб қўйиш имконияти, яъни айрим усул ва синфлар фақатгина текшириш(отладка) режимида компильяция қилинади.
Windows API га осон мурожаат қилиш имконияти;
Хотирага ва кўрсаткичларга зарурат туғилганда тўғридан-тўғри мурожаат қилиш имконияти;
VB хусусият ва ходисаларни қўллаб қувватлаш;
Динамик WEB - саҳифларни яратиш(ASP.NET) ва ҳ.
Дастурлаш тилларининг турли компаниялар томонидан қиёсий рейтинги(2016 йил)
Дастурлаш тилларининг TIOBE Software компанияси томонидан тузилган рейтинги.
RedMonk аналитик компаниясининг рейтинги
Ушбу компания ўзининг рейтингини GitHub тармоғидан фойдалани даражасига кўра белгилайди. GitHub – бу битта проектни бир неча киши томонидан яратилаётганда уларни синхронизация қилиб бориш учун мўлжалланган хостинг сервис.
JavaScript
Java
PHP
Python
C#,
C++
Ruby
CSS
C
Objective-C
Shell
R
Perl
Scala
Go
Haskell
Swift
Matlab
Visual Basic
Clojure
IEEE Spectrum рейтинги
1.3. Net Framework платформаси ва CLR
Барча дастур ёзишга мўлжалланган воситалар, ёзилган дастурни тўғирловчи, машина кодига ўтказувчи, текширувчи, созловчи ва ишга туширувчи қобиқ дастур ёки дастурлаш тили сифатида қаралади. Дастур ёзишга мўлжалланган дастурий восита қуйидагилардан ташкил топган бўлиши мумкин:
дастур кодини киритишга ва тўғирлашга мўлжалланган матнли редактор;
дастурлаш тилидан компьютер тушунадиган тил машина кодига ўтказувчи комппилятор ёки интерпретатор;
ёзилган дастурни текширувчи ва ишга туширувчи;
дастур ёзишда кўп марта фойдаланилувчи қисм дастурлар ёки элементларни(функция, проседура ва ҳ.) ўз ичига олувчи кутубхона;
ёрдам тизими ва бошқа элементлар;
Visual Studio.NET мажмуаси дастур ёзиш учун бир нечта дастурлаш тиллари(C#, VB.NET, C++ и J#, F#) учун муқобил ишлаш, тўғирлаш, компиляция қилиш, текшириш, созлаш ва ишга тушириш имконини берувчи дастурий воситалар мажмуини тақдим этади.
Дастурлашга мўлжалланган платформа дейилганда дастур ёзишга мўлжалланган воситалардан фарқли равишда у фақат битта эмас балки бир нечта дастур ёзиш воситаларига мўлжалланган дастурий восита тушунилади. Ана шундай платформалардан бири бу .NET платформасидир (.NET FrameWork ёки dotnet деб ҳам аталади).
.NET платформаси очиқ тизим ҳисобланиб, юқорида номлари келтирилган дастурлаш тилларида бошқа дастурлаш тилларида ҳам фойдаланиш мумкин. .NET платформаси таркибига кирувчи дастурлаш тилларини ўзаро муқобил ишлашини таъминлаш учун дастур кодларини бир хил тилга ўтказиш-компиляция қилиш талаб этилади. Лекин платформа дастурий кодни айнан тўғридан тўғри машина кодига эмас, балки операцион тизим ёки компьютерга боғлиқ буйруқлардан иборат бўлмаган оралиқ тил ҳисобланувчи CIL -(Common Intermediate Language, ёки шунчаки IL) кодга ўтказади. Ушбу тилга ўгирилган дастурий код CLR(Common Language Runtime)деб номланувчи тизим ёрдамида ишга туширилади ёки интерпретация қилинади.
CLR ни ихтиёрий операцион тизим учун реализация қилиш мумкин. Бунинг учун .NET FrameWork (ёки dotnet)ни ўрнатиш талаб этилади.
CIL кодидаги дастур ишга туширилганда CLR тизими CIL кодидаги дастурни конкрет процессоручун шу заҳоти бажарилувчи машина буйруқларига ўтказувчи JIT(just in time)-компиляторини ишга туширади. Ушбу компильятор CIL кодидаги дастурни айни дамда қайси қисми бажарилиши лозим бўлса ўша қисмини компиляция қилади. Дастурнинг кодининг ҳар бир қисми бир марта компильяция қилинади ва кейинчалик фойдаланиш учун кешда сақланади. Шу сабабли .NET платформасидан фойдаланиб ёзилаган дастурий кодлар биринчи марта ишга туширилаётганда бир оз юкланиши қийин кечади.
Компилятор ишга туширишда фойдаланиш учун компиляция қилинган файл сифатида кенгайтмаси exe ёки dll бўлган файлни бизга тақдим қилади. Ушбу файл CIL кодидаги дастур ва метамаълумотлардан ташкил топган бўлади. Дастур ишлаш жараёнида CLR фақат рухсат этилган операциялар бажарилишини назорат қилиб боради,хотирани тақсимланиши ва тозалаб турилишини таъминлайди ва юзага келган хатоликларни қайта ишлайди. Бу эса дастурнинг ишончли ишлаши ва хавфсизлиги таъминланишини бир неча баробарга оширади.
.NET платформаси ихтиёрий .NET типидаги дастурлаш тилида фойдаланиш имконини берувчи жуда катта синфлар кутубхонасини ўзида мужассамлаштирган. .NET платформаси кутубхонаси синфларини мукаммал ўрганиш зарурдир, лекин анчагина машаққатли иш ҳамдир.
Do'stlaringiz bilan baham: |