Microsoft .NET

Матеріал з Вікіпедії — вільної енциклопедії.

.NET Framework
Розробник Microsoft
Останній випуск Версія 3.0 / 6 листопада 2006
Операційна система Windows 98 або старша
Тип System platform
Ліцензія Proprietary software
Майданчик тенет microsoft.com/net


Microsoft .NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft як платформа для створення як звичайних програм, так і веб-програм. Багато в чому є розвитком ідей та принципів, покладених в технологію Java.

Одною з основних ідей .NET є сумістність різних служб, написаних різними мовами. Наприклад, служба, написана на C++ для .NET, може звертатися до методу класа з бібліотеки, написаної на Delphi; на C# можна написати клас, що наслідується від класа, написаного на Visual Basic .NET, а винятки, що викинуті методом, написаним на C#, може бути спійманим та обробленим в Delphi. Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

.NET — кроссплатформена технологія, однак на даний момент існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і обмежений варіант технології для ОС Linux в рамках вільних проектів Mono, DotGNU [1].

.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 називається CIL (Common Intermediate Language), також відома як 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

[ред.] Див. також

  • ASP.NET
  • ADO.NET
  • Java
  • Mono
  • Порівняння C# і Java

[ред.] Посилання