Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспЛекци1.10.052.doc
Скачиваний:
12
Добавлен:
06.12.2018
Размер:
8.63 Mб
Скачать
    1. Вопрос 34: Технология .Net. Особенности языка и области применения языка с#.

      1. Технология .Net.

.NET Framework — программная платформа компании Microsoft, предназначенная для создания обычных программ и веб-приложений.

Главной идеей разработки .NET Framework было стремление сделать платформонезависимую виртуальную машину для выполнения одного и того же кода в различных ОС без внесения изменений на момент компиляции[источник не указан 39 дней]. Но со временем Microsoft ограничилась поддержкой только своих операционных систем Windows. Поддержкой некоторых других платформ занимаются независимые разработчики (проекты Mono, Portable.NET).

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

.NET является патентованной технологией корпорации Microsoft. Тем не менее, после заключения договоренности с компанией Novell[1], технология Mono была признана как реализация .NET на Unix-подобных системах (Linux, Mac OS X). Однако договорённость касается Novell и клиентов Novell, также технологии ASP.NET, ADO.NET и Windows.Forms не были стандартизированы ECMA/ISO и использование их в Mono находится под угрозой претензий со стороны Microsoft (претензии возможны только в странах, где существуют патенты на программное обеспечение[2]). Mono предоставляет реализацию ASP.NET, ADO.NET и Windows.Forms, но в то же время рекомендует обходить эти API.[2]

Среды разработки .NET-приложений:

Microsoft Visual Studio (C#, Visual Basic .NET, Managed C++, F#),

SharpDevelop,

MonoDevelop,

Borland Developer Studio (Delphi for .NET, C#),

PascalABC.NET и др.

Приложения также можно разрабатывать в текстовом редакторе, вызывая компилятор из командной строки.

Подобно технологии Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language), или CIL (Common Intermediate Language, более поздний вариант), или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не только на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения CLR байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора. Также существует возможность скомпилировать сборку в родной (native) код для выбранной платформы с помощью поставляемой вместе с .NET Framework утилиты NGen.exe.

Следует отметить, что один из первых JIT-компиляторов для Java был также разработан фирмой Microsoft. Современная технология динамической компиляции позволяет достигнуть уровня быстродействия, аналогичного традиционным «статическим» компиляторам (например, C++), и вопрос быстродействия зачастую зависит от качества того или иного компилятора.

Версии

Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем Next Generation Windows Services (NGWS). Позже в 2000 году была выпущена первая бета версия .NET 1.0.

Версия Номер версии Дата выхода Visual Studio (По умолчанию в Windows)

1.0 1.0.3705.0 2002-01-05 Visual Studio .NET

1.1 1.1.4322.573 2003-04-01 Visual Studio .NET 2003 Windows Server 2003

2.0 2.0.50727.42 2005-11-07 Visual Studio 2005

3.0 3.0.4506.30 2006-11-06 Visual Studio 2005 + расширения Windows Vista, Windows Server 2008

3.5 3.5.21022.8 2007-11-09 Visual Studio 2008 Windows 7, Windows Server 2008 R2

4.0 4.0.30319.1 2010-04-12 Visual Studio 2010

.NET Framework 1.0

Первый релиз .NET Framework вышел 5 января 2002 года для Windows 98, NT 4.0, 2000 и XP. Общая поддержка, осуществляемая компанией Майкрософт, закончилась 10 июля 2007 года, а расширенная поддержка окончилась 14 июля 2009 года.[3]

.NET Framework 1.1

Следующий релиз .NET Framework вышел 1 апреля 2003 года. Он стал первой версией, устанавливающейся в процессе инсталляции операционной системы, и распространялся с Windows Server 2003. Для предыдущих операционных систем .NET Framework 1.1 был доступен в виде отдельной инсталляции. Общая поддержка, осуществляемая компанией Майкрософт, закончилась 14 октября 2008 года, а расширенная поддержка окончится 8 октября 2013 года.[3]

.NET Framework 2.0

Была выпущена одновременно с Visual Studio 2005, MS SQL Server 2005 и BizTalk 2006. С выходом версии 2.0 была добавлена поддержка обобщенных классов (англ. generic), анонимных методов, полная поддержка 64-битных платформ x64 и IA64.

.NET Framework 3.0

Первоначально, .NET Framework 3.0 носил имя WinFX, что отражало его суть: расширение .NET Framework 2.0, с сохранением всех библиотек и добавлением четырёх новых компонентов:

Windows Presentation Foundation (WPF) — графическая (презентационная) подсистема в составе .NET Framework 3.0, имеющая прямое отношение к XAML.

Windows Communication Foundation (WCF)

Windows Workflow Foundation (WF)

Windows CardSpace

.NET Framework 3.5

Как и .NET Framework 3.0, .NET 3.5 использует CLR версии 2.0.

Новшества по сравнению с .NET Framework 3.0 включают в себя:

Новые возможности в C# 3.0 и VB.NET 9.0

Добавлен язык LINQ и провайдеры LINQ to Objects, LINQ to XML и LINQ to SQL

ASP.NET AJAX включён в поставку

Расширена функциональность WF и WCF

Пространство имён System.CodeDom

.NET Framework 4.0

Microsoft анонсировала релиз четвёртой версии среды .NET 29 сентября 2008 года.[4] Beta 1 новой версии появилась 20 мая 2009 года, вместе с бета-версией Visual Studio 2010.[5] Некоторые нововведения:

Parallel Extensions — PLINQ (Parallel LINQ) и Task Parallel Library, предназначенные для упрощения программирования для многопроцессорных и распределённых систем.

Изменения в Visual Basic и C#

Полная поддержка IronPython, IronRuby и F#

Поддержка подмножества .NET Framework и ASP.NET в варианте «Server Core»

Поддержка Code Contracts

Средства моделирования Oslo и язык программирования M, предназначенный для создания предметно-ориентированных языков и моделей

Окончательная версия .NET Framework 4.0 была выпущена 12 апреля 2010 г. вместе с окончательной версией Visual Studio 2010.

Языки программирования в .NET

Основная статья: Список .NET-языков

Встроенные (поставляются вместе с .NET Framework)

C#;

J# — последний раз был включён в Visual Studio 2005;

VB.NET;

JScript .NET;

C++/CLI — новая версия C++ (Managed);

F# — член семейства языков программирования ML, включён в Visual Studio 2010

Поддерживающие .NET не активно.

Ada — см. A#

APL

Boo, основан на Python

COBOL

Component Pascal (Component Pascal ближе к Oberon чем к Pascal)

Delphi: Delphi 8, Delphi 2005—2010, Delphi XE

Eiffel

Forth

FORTRAN

Haskell

IronRuby — реализация языка Ruby

IronPython — реализация языка Python

Lexico

Lisp

Mercury

Mondrian

Nemerle — гибридный функционально/императивный язык

Oberon/Zonnon

Oxygene

Perl

PHP

PascalABC.NET

Prolog

RPG

Smalltalk