Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Отношение между C# (Csharp) и .NET

Раздел: Programming / С# @ 29.10.2007 | Ключевые слова: Csharp .NET версия для печати

Автор: DeVoid
Источник: CodeNet

C# - это относительно новый язык программирования, который характеризируется следующими преимуществами:

  • Он спроектирован специально для применения с Microsoft .NET Framework (развитой платформой разработки, развертывания и исполнения распределенных приложений).
  • Это язык, основанный на современной обьектно-ориентированной методологии проектирования, при разработке которого специалисты Microsoft опирались на опыт создания подобных языков, построенных в соответствии с обьектно-ориентированными принципами, которые были впервые предложены около 20 лет назад.

С# - это независимый язык программирования. Хотя он и предназначен для генерации кода, исполняемого в среде .NET, сам по себе он не является частью .NET. Однако поскольку язык C# предназначен для применения на платформе .NET, Вам, как разработчику, важно иметь представление о .NET Framework, если Вы хотите эффективно разрабатывать приложения на С#.

Общеязыковая исполняющая среда CLR (Common Language Runtime)

Центральной частью каркаса .NET является его Общеязыковая исполняющая среда - Common Language Runtime (CLR), или .NET runtime.

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

Однако перед тем как код сможет исполниться CLR, любой исходный текст (на C# или другом языке) должен быть скомпилирован. Компиляция в .NET состоит из двух шагов:

  1. Компиляция исходного кода в IL.
  2. Компиляция IL в специфический для платформы код с помощью CLR.

Этот двухшаговый процесс компиляции очень важен, потому что наличие IL(управляемого кода) - это ключ ко многим преимуществам .NET.

Преимущества управляемого кода

Промежуточный язык Microsoft (MSIL) разделяет с байт-кодом Java идею низкоуровневого языка с простым синтаксисом (базируюшегося на числовых кодах вместо текста), который может быть очень быстро транслирован в родной машинний код. Наличие этого кода с четко определенным универсальным синтаксисом дает ряд существенных преимуществ.

Это значит, что файл, содержащий инструкции бакт-кода, может быть размещен на любой платформе; во время исполнения финальная стадия компиляции может быть легко осуществлена, что позволит выполнить код на конкретной платформе. Другими словами, компилируя в IL, вы получаете платформенную независимость .NET.

Повышение производительности

  IL всегда компилируется оперативно (Just-In-Time, известно также, как JIT-компиляция). Вместо компиляции всего приложения за один проход (что может привести к задержкам при запуске), JIT-компилятор просто компилирует каждую порцию кода при ее вызове(just-in-time - оперативно). Если промежуточный код однажды скомпилирован, то результирующий машинный исполняемый код сохраняется до момента завершения работы приложения, поэтому его перекомпиляция при повторных вызовах не требуется.

Microsofr аргументирует, что такой процесс более эффективен, чем копиляция всего приложения при запуске, поскольку высока вероятность того, что большие куски кода приложения на самом деле не будут выполняться при каждом запуске. При использовании JIT-компилятора такой код никогда не будет скомпилирован.

Это обьясняет, почему можно рассчитывать на то, что выполнение родного управляемого кода IL будет почти настолько же быстрым, как и выполнение родного машинного кода.

Финальная стадия компиляции проходит во время выполнения, JIT-компилятор на этот момент уже знает, на каком типе процессора будет запущена программа.

А это значит, что он может оптимизировать финальный исполняемый ко, используя инструкции конкретного машинного кода, предназначенные для конкретного процессора.

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

Языковая способность к взаимодействию

Применение IL не только обеспечивает независимость от платформы; оно также обеспечивает способность к взаимодействию. Только представьте, что вы можете скомпилировать программу на одном языке в код IL, и этот скомпилированный код сможет свободно взаимодействовать с IL-кодом, скомпилированным из другого языка.

Возможно, вас удивит, что другие языки, помимо C# совместимы с .NET, такие как: Visual Basic 2005, Visual C++ 2005, Visual J# 2005.

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / С#


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.