Суббота, 18.05.2024, 13:43
Приветствую Вас Гость | RSS
Форма входа
Поиск
Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Charles Petzold ".NET Book Zero" Глава 2: Почему .NET?

Microsoft .NET Framework (который я часто сокращаю до простого термина – .NET) представляющий собой набор программных технологий, начал развиваться корпорацией Microsoft на рубеже веков. Первая версия .NET была выпущена в начале 2002 года, а версия 1.1 вышла в 2003 году. Версия 2.0 была выпущена в конце 2005 года, а версия 3.0 последовала позже – в конце 2006 года. Хороший обзор .NET-релизов, можно найти в разделе WikiPedia в статье "Microsoft .NET Framework":

http://en.wikipedia.org/wiki/.NET_Framework

С точки зрения конечного пользователя, .NET является в некоторой степени скрытым. Мудрый пользователь может чувствовать себя осведомленным зная, что .NET это, в основном – коллекция динамических библиотек. Эти DLL могут быть уже установлены вместе с Windows XP на новой машине, или они могут быть установлены в процессе установки приложения, использующего .NET. Последняя версия Windows – Microsoft Windows Vista, включает в себя .NET Framework 3.0 в качестве неотъемлемой части своей архитектуры.

С точки зрения программиста, .NET это огромная библиотека классов, которые содержат все необходимое, чтобы написать веб-приложения и клиентские приложения (такой тип программ иногда называют "обычные старые приложения Windows").

Если вы программист, и вы пишете (или хотите написать) веб-приложение или клиентское приложение Windows, и вы еще не начали исследование .NET, то, чтение этой книги является хорошим первым шагом. Поздравляем с началом работы!

Вы можете программировать для .NET на различных языках программирования. Тем не менее, любой язык, который вы используете для программирования .NET, должен соответствовать ряду минимальных требований, необходимых для того, чтобы использовать библиотеки классов .NET. Эти требования известны, как "Общая спецификация языка .NET" или CLS.К CLS относится и "Общая система Типов .NET" (CTS), которая определяет основные типы данных (например, числа, с плавающей точкой, и строки), которые поддерживает .NET язык. CLS и CTS, в свою очередь являются частью Common Language Infrastructure (CLI). CLI является стандартом ISO и стандартом ECMA.

Когда вы компилируете ваши .NET программы, как правило, программа компилируется в процессор-независимый промежуточный язык, который напоминает машинный код. Этот промежуточный язык когда-то назывался Microsoft Intermediate Language (MSIL), и его до сих пор часто называют этим именем. Иногда его просто называют – IL. Но самый правильный термином, в настоящее время, будет – Common Intermediate Language (CIL).

Когда программа .NET выполняется на конкретном компьютере, CIL компилируется в машинный код процессора с помощью оперативного just-in-time (JIT) компилятора. Такая двухступенчатая компиляция потенциально позволяет осуществить переносимость между различными платформами и процессорами.

Оперативная компиляция осуществляется при помощи ".NET Common Language Runtime" (CLR), который является частью .NET системы, установленной на компьютерах конечных пользователей. CLR управляет выполнением .NET программ, и может помешать программе нанести ущерб машине пользователя. Таким образом, когда вы программируете для .NET – говорится, что вы пишете "управляемый код".

Один из важных аспектов управляемого кода включает в себя – управление памятью. В связи с тем, что объектно-ориентированное программирование и библиотеки классов стали более сложными за последние годы, участие в распределении памяти стало общей проблемой. Очень часто бывает непонятно, кто несет ответственность за освобождение конкретного блока памяти. По этой причине, CLR осуществляет сборку мусора. CLR может определить, ссылаются ли на конкретный блок памяти программы или нет, а затем, может освобождать такие блоки памяти, если это необходимо.

Microsoft сделало доступным несколько языков для .NET программистов. Какой из них вы будете использовать, в основном, зависит от личных предпочтений. Некоторые люди программируют, для .NET с помощью Visual Basic .NET. Другие используют управляемый C++, более официально известный сейчас, как C++/CLI.

Тем не менее, большинство программистов .NET пришли к хорошо известному и любимому C#, языку программирования, разработанному совместно с .NET в значительной степени под руководством Андерса Хейлсбергом. Этот язык, я и буду описывать на последующих страницах.

C# включает в себя большую часть основных выражений и деклараций синтаксиса C, и имеет более чистый синтаксис объектно-ориентированного программирования, чем C++. Основное отличие, которое ветераны программирования могут обнаружить, в том, что C# не требует возни с указателями. Традиционные С-подобные указатели поддерживается в синтаксисе C# , но они, как правило, сводятся к функциональной совместимости с существующим кодом. (Я не буду обсуждать, в этой книге, указатели C# , если вам нужна эта информация, вы можете найти её в другом месте.)

Вместо указателей, .NET и C# программист работает с – "ссылками", и эти ссылки, как правило, подразумеваются, вместо того, чтобы быть синтаксически явными. Это является частью становления хорошего C# программиста, когда вы изучаете ссылки по мере необходимости, а не на оборот.

Никогда не поздно, для того чтобы начать изучать C# и .NET мантру:

Классы являются ссылочными типами; структуры являются типами значений.


© Charles Petzold ".NET Book Zero" 2007