.NET Framework
![]() | |
Тип | System platform |
---|---|
Розробники | Microsoft |
Стабільний випуск | Версия 3.0 (6 ноября 2006) |
Платформа | Windows ![]() |
Операційна система | Windows 98 или старше |
Ліцензія | Proprietary software |
Вебсайт | microsoft.com/net |
.NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft в якості платформи для створення як звичайних програм, так і веб-програм. Багато в чому являє собою розвитком ідей та принципів, покладених в технологію Java.
Одною з основних ідей .NET являється сумістність різних служб, написаних на різних мовах. Наприклад, служба, написана на C++ для .NET, може звертатися до методу класа з бібліотеки, написаної на Delphi; на C# можна написати клас, що наслідується від класа, написаного на Visual Basic .NET, а виключення, що викинуті методом, написаним на C#, може бути спійманим та обробленим в Delphi. Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.
.NET — кроссплатформена технологія, однак на даний момент існує реализація для платформи Microsoft Windows, FreeBSD (від Microsoft) і обмежений варіант технології для ОС Linux в рамках вільних проектів Mono, DotGNU.
.NET являється патентованою технологією фірми Microsoft, що являється перешкодою для її розповсюдження на інші платформі (відносно проекта Mono — Microsoft однозначно висловлювалась про нелегітимність даного проекта).
Хотілось би зазначити, що захист авторських прав відносится до створення середовищ виконання (CLR — Common Language Runtime) для програм .NET. Компілятори для .NET випускаються множиною фірм для різних мов спокійно. Множина використовуємих мов являється безсумнівною перевагою технології .NET в порівнянні з Java.
.NET поділяється на дві основні частини — середовище виконання (по суті віртуальна машина) та інструментарій розробки.
Середовища розробки .NET-програм: Visual Studio .NET (C++, C#, J#), SharpDevelop, Eclipse, Borland Developer Studio (Delphi, C#) і т. д. Прикладні програми також можна розроблювати в текстовому редакторі та використовувать консольний компілятор.
Також як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається MSIL (Microsoft Intermediate Language) або просто IL. Застосування байт-кода дозволяє отримати кроссплатформеність на рівні скомпільованого проекта (в термінах .NET: збірка), а не на рівні початкового тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється встроєним в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.
Слід зазначити, що один з перших JIT-компіляторів для Java був також розроблений фірмою Microsoft (на даний момент в Java використовується більш досконала багаторівнева компіляція — Sun HotSpot). Сучасна технологія динамічної компіляції дозволяє досягнути аналогічного рівня швидкодії з традиційними «статичними» компіляторами (наприклад, С++) і питання швидкодії зачасту залежить від якості того чи іншого компілятора.
Версії
- .NET Framework 1.0 — випущений в 2002 році
- .NET Framework 1.1 — випущений в 2003
- .NET Framework 2.0 — випущений 27 октября 2005 року
- .NET Framework 3.0 (кодове ім'я WinFX) — випущений 6 ноября 2006 року. Включає в себе CLR і компілятори від .NET Framework 2.0, плюс ряд нових API: Windows Presentation Foundation (WPF, кодове им'я Avalon), Windows Communication Foundation (WCF, кодове им'я Indigo), Windows Workflow Foundation (WF) і Windows CardSpace (WCS, кодове им'я InfoCard). Входить в склад Windows Vista.
Мови програмування в .NET
- Встроєні (постачаються разом з .NET Framework)
- C#;
- J#;
- VB.NET;
- JScript .NET;
- C++/CLI — нова версія C++ (Managed);
- Постачаяємі окремо і сторонні — виробництва третіх фірм (неповний список)
- Ada — см. A#
- APL
- Boo, оснований на Python
- COBOL
- Component Pascal (Component Pascal ближче до Oberon ніж до Pascal)
- Delphi: Delphi 8, Delphi 2005, Delphi 2006
- Eiffel
- F#, член сімейства мов програмування ML
- Forth
- FORTRAN
- IKVM, Java
- IronPython — реалізація мови Python
- Lexico
- Lisp
- Mercury
- Mondrian
- Nemerle — гібридна функціонально/імперативна мова
- Oberon/Zonnon
- Perl
- RPG
- Smalltalk
Див. також
Ссилки
- Microsoft .NET Homepage
- Got Dot Net — .NET News.
- Mono homepage
- The Mono Community
- Mono Wiki
- DotNetSpace — Asp.Net 2.0 Articles and code examples.
- Ecma-335
- Ecma-334
- Ecma-372
- Running .NET on Linux or Windows
- MonoBrasil A Brazilian Mono WebSite
- ASP.NET Mania — сайт о .NET на русском языке.
- Got Dot Net — сайт о .NET на русском языке.
- dotSITE — сайт о .NET на русском языке.
- RSDN — сайт, содержащий крупный раздел о .NET.