Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek1.doc
Скачиваний:
10
Добавлен:
15.11.2018
Размер:
322.56 Кб
Скачать

Что такое и что дает dotNet?

Отвечая на каждый вопрос, можно сказать, что dotNet — новая технология Microsoft, направленная на изменение компьютерного мира, а если говорить чуть подробнее, то это набор нескольких инициатив и технологий, программного обеспечения, стандартов и средств разработки. Основное преимущество dotNet для потребителя — реализация единого информационного пространства, соединяющего его с компьютерами и программами, а также ПО между собой. Разработчикам же она позволит просто и быстро создавать нужные продукты.

История возникновения

В 2001-м году возникла новая технология. Основные вехи:

  • 2002 .NET Framework 1.0

  • 2003 .NET Framework 1.1

  • 2005 .NET Framework 2.0

  • 2007 .NET 3.0 (вместе с выходом Vista), Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), и Windows CardSpace (WCS, formerly "InfoCard").

  • 2010 .NET Framework 4.0

Основные языки семейства .NET

Языки которые входят в Visual Studio 2010:

  • C#

  • Visual Basic .NET

  • C++ .NET extensions

  • F#

Поскольку формат .NET Framework является открытым, то появились независимые компиляторы

  • Perl .net

  • Python .net

Особенности языка (+)

  • Отсуствие необходимости удалять объекты

  • Скорость разработки

  • Возможность писать на любимых языках

  • Широкая распространенность

  • Большая востребованность в специалистах

  • Кроссплатформенность

  • Активная поддержка Microsoft

Особенности (-)

  • Необходимость в виртуальной машине

  • Производительность

  • Невозможность работать с памятью напрямую

Помощь разработчику

  • Наличие дворника (сборщика мусора)

  • Дружественная среда

  • Большая библиотека компонент

Принцип работы сборщика мусора

  • Основной недостаток неуправляемого кода – прямой доступ к памяти, вследствие этого – ДЕФРАГМЕНТАЦИЯ памяти

  • Сборщик мусора следит за использование памяти, и потом удаляет неиспользуемые объекты, после чего переставляет указатели, чтобы оставшиеся объекты стояли друг за другом

Поддержка кириллицы

Можно именовать переменные на любом языке , который можно записать в Unicode, например на русском

ПЛАТФОРМА – в контексте информационных технологий – среда, обеспечивающая выполнение программного кода. Платформа определяется характеристиками процессоров, особенностями операционных систем.

Framework – это инфраструктура среды выполнения программ. Нечто, определяющее особенности разработки и выполнения программного кода на данной платформе. Предполагает средства организации взаимодействия с операционной системой и прикладными программами, методы доступа к базам данных, средства поддержки распределённых (сетевых) приложений, языки программирования, множества базовых классов, унифицированные интерфейсы пользователя, парадигмы программирования).

Итак, ясно: чтобы получить полное представление о dotNet, нужно узнать, из чего она состоит и что дает.

На сайте Microsoft всех интересующихся dotNet разделили на три категории (интересная классификация, не правда ли): пользователи и разработчики, профессионалы в области информационных технологий, бизнесмены, и для каждой предложили разъяснение, что дает dotNet именно ей.

Разработчикам dotNet позволяет создавать мощные программы, использующие все возможности современных компьютеров и сетей без реализации вспомогательных функций (практически почти все эти функции берет на себя платформа), и заниматься только реализацией бизнес-логики своего продукта. Следовательно, они будут способны быстро создавать качественные (и простые!) программы, имеющие множество возможностей, интегрированных c Internet, столь необходимые пользователям. Это ведет к улучшению и удешевлению ПО, а также к уменьшению количества ошибок.

Платформа dotNet также включает в себя и те серверные продукты, которые могут применять не только (и не столько) создатели ПО, но и разработчики сложных корпоративных информационных систем.

Архитектура .NET Framework

К основным компонентам среды dotNet относятся операционная система, под управлением которой работает Среда исполнения общего языка (CLR, Common Language Runtime) и ее сервисы (библиотеки классов и библиотеки, поддерживающие технологии WebService, WebForms, WinForms и т. д.). Технология dotNet позволяет упрощать создание программных компонентов и контролировать исполнение. Их можно разрабатывать на языках программирования Cи++, Visual Basic и новом языке C# фирмы Microsoft (его название произносится как «си-шарп», а если перевести с языка нотной записи, то как до-диез, т. е. тот же Cи или Cи++, но на полтона выше). Это достигается с помощью Среды исполнения общего языка. Если раньше все программы, кроме интерпретируемых, выполнялись непосредственно с помощью ОС и команд процессора, то с появлением CLR разработчики смогут выбирать, какие создавать продукты: либо выполняющиеся на свой страх и риск, самостоятельно оперирующие возможностями ОС и процессора, либо такие, за работой которых будет строго следить CLR, проверяя, правильно ли выделяются и вовремя ли высвобождаются ресурсы, не происходит ли недопустимых действий и т. д. Неконтролируемые (unmanaged) программы пишутся только на Cи++, а контролируемые (managed) — на Cи++, Visual Basic или C#. Но чудес не бывает — и контролируемые программы делаются только на подмножестве Cи++. Несколько примиряет с этим то, что теперь разрешено создавать класс на Cи++, наследовать от него в Visual Basic, а использовать на C#.

Среда CLR напоминает и Java, и виртуальную машину Java с исполнением байт-кода, за исключением следующего:

  • Байт-код здесь называется промежуточным языком (Intermediate Language) и имеет открытую спецификацию, что дает надежду на перенос в CLR других языков программирования.

  • Программы можно создавать на нескольких языках одновременно, смешивая исходные тексты на уровне компонентов.

  • Благодаря поддержке ОС программы не интерпретируются при исполнении, а транслируются до этого (технология JIT compilation — just in time compilation), а затем функционируют уже обработанные модули. Причем применяются экономичные и производительные алгоритмы разбора и продукции, сохраняются откомпилированные модули и т. д., что позволяет в определенной степени предполагать отсутствие проблем, связанных с производительностью.

Кроме того, CLR включает разнообразные средства, упрощающие разработку (отладчики, профайлеры и т.п.), распространение и поддержку программ (контроль версий, регистрация, использование мета-данных, и т.д.), а также их выполнение (прокси-серверы, контроль использования памяти, сборка мусора и др.).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]