русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Интегрированная среда разработки Visual Studio

Данная платформа включает в себя, прежде всего, среду разработки для нескольких языков программирования, называемую Visual Studio.NET, которая предоставляет мощные и удобные средства написания, корректировки, компиляции, отладки и запуска приложений, исполь­зующих .NЕТ-совместимые языки. Это, прежде всего, языки С#, VВ.NЕТ, С++ и J#.

Совершенствуя Visual Studio, фирма Microsoft разработала новые версии пакета. Так, в систему были внесены дополнения, позволяющие создавать большие программные проекты, что сделало ее привлекательной для профессиональных программистов.

Платформа .NЕТ является открытой средой. Это значит, что компиляторы для нее могут поставляться и сторонними разработчиками. К настоящему времени разработаны десятки компиляторов для .NЕТ, например, Ada, COBOL, Delphi, Eiffel, Fortran, Lips, Oberon, Perl и Python.

Все .NЕТ-совместимые языки должны отвечать требованиям общеязыковой спецификации (Common Language Specification, CLS), в которой описываются общие для всех языков характеристики. Это позволяет использовать для разра­ботки приложения несколько языков программирования и вести полноценную межъязыковую отладку. Все программы независимо от языка используют одни и те же базовые классы библиотеки .NЕТ.

Среда разработки обычно содержит:

- текстовый редактор, для ввода и корректировки текста программы;

- компилятор, для перевода программы в машинные коды;

- средства отладки и запуска программ;

- библиотеки, для многократно используемых элементов программ;

- справочную систему и другие элементы.

2.3.1Общеязыковая среда выполнения CLR

Каждый язык, входящий в состав Visual Studio, имеет свой компилятор с одной важной специфической особенностью: для обеспечения переносимости такой компилятор переводит программу не в исполняемый код, а в набор машинно-независимых инструкций языка СIL (Common Intermediate Language – общий промежуточный язык). Этот язык не содержит команд, зависящих от исходного языка, опера­ционной системы и типа компьютера. Программа на языке СIL выполняется под управлением системы CLR (Common Language Runtime общеязыковой среды выполнения).

2.3.1.1 Исполнение кода

При запуске программы система CLR пере­водит код с языка СIL в машинно-зависимые инструкции конкретного процессора, которые немедленно выполняются. Указанные преобразования СIL-программы в исполняемый код осуществляет JIT-компилятор («just in time»), компилируя только те части программы, которые требует­ся выполнить в данный момент. Каждая часть программы компилируется один раз и сохраняется в кэше для дальнейшего использования.

Двухфазное кодирование (рис. 2.1) имеет два существенных преимущества.

Первое из них заключается в том, что среда CLR может быть реализована для любой операционной системы, а это значит, что любая программа на языке СIL может быть выполнена в любом окружении, в котором реализована среда CLR.

Рисунок 2.1–Схема двухфазного кодирования

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

В ходе компиляции СIL-кода в нем и метаданных (сведениях об объектах, ис­пользуемых в программе, и о самой сборке) ищутся ненадежные фрагменты, плохо изолированные от других объектов, ненадежно защищенные от ошибочного или злонамеренного разрушения, проверяется правильность генерации машинного кода. Если встречается ненадежный код, то возбуждается исключение.

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

Помимо управляемого кода программист имеет возможность использовать большое количество программ, ранее написанных для Windows. Такой род программ относят к неуправляемому коду. В Visual Studio управляемый и неуправляемый коды могут, не мешая друг другу, работать совместно.

2.3.1.2 Общеязыковая инфраструктура

Набор спецификаций, определяющих правила функционирования технологии .NЕТ, называется общеязыковой инфраструктурой (Common Language Infrastructure, CLI). К таким спецификациям относятся:

- Common Type System (CTS) – общая система типов, определяющая возможность межъязыкового взаимодействия программ;

- Common Intermediate Language (CIL) – общий промежуточный язык программирования;

- Extensible Metadata – расширяемые метаданные;

- Framework Class Library – библиотека классов, которые должна использовать любая программа в рамках технологии .NЕТ;

- Platform Invocation Service – служба согласования платформ, обеспечивающая взаимодействие .NЕТ Framework и операционной системы;

- Extended Portable Executable (PE) File Format – стандартный формат исполняемых файлов в Win32, имеющий в заголовке бит, присущий только технологии .NЕТ; обнаружив его, загрузчик обращается к среде CLR.

2.3.1.3 Сборки

В процессе компиляции программы создается файл (сборка) с расширением ехе или dll, который содержит код на языке IL и метаданные. Сборка может состоять из нескольких модулей. Каждая сборка имеет уникальное имя. Во время выполнения управляемый код получает дополнительное обслуживание, такое как: сборка мусора, повышенная защита, взаимодействие с неуправляемым кодом, поддержка межъязыковой отладки и др.

Сборки – фундаментальные части программ для .NЕТ Framework, наделенные следующими функциями:

- содержит CLR-код, связанный с манифестом сборки, имеющей только одну точку входа;

- формирует границы защиты;

- формирует границы типа;

- определяет границы видимости ссылок;

- определяет границы контроля версий;

- определяет границу распространения;

- является единицей, для которой поддерживается параллельное выполнение.

Сборки созданы для упрощения распространения программ и контроля версий, характерных для приложений, основанных на компонентах. Сборки могут быть статическими и динамическими, последние не сохраняются на диске, а создаются непосредственно в памяти и могут быть сохранены после своего выполнения.

2.3.2 Новации Visual Studio 2010

Платформа .NЕТ Framework и интегрированная среда разработки (IDE) Visual Studio.NET постоянно совершенствуются, обрастая новыми возможностями, позволяющими чувствовать себя более комфортно как новичкам, так и специалистам в области создания сложнейших программных продуктов. Так, например, Visual Studio.NET 2010, функционируя на платформе .NЕТ Framework 4, имеет заново сконструированную IDE с новым внешним видом и поведением и содержит целый ряд новаций, которые коснулись почти всех этапов разработки ПО. Назовем некоторые общего назначения:

- окно редактора кода и окно представления конструирования могут размещаться вне окна интерфейса IDE;

- новый редактор кода с возможностью масштабировать текст;

- поддержка поиска по мере ввода для файлов, типов и элементов;

- в Visual C# и Visual C++ иерархия вызовов позволяет переходить как к вызывающему, так и к вызываемым членам;

- более мощная поддержка процесса отладки программ;

- новые окна отладки параллельного кода, написанного на C++, C# или Visual Basic;

- функции в интерфейсе IDE теперь соответствуют версии .NET Framework, на которую ориентируется проект;;

- реализована поддержка в Visual Basic или Visual C# процесса нисходящего тестирования; интерфейс IDE теперь может создавать заглушки кода для новых типов и членов, исходя из их использования, прежде чем они будут определены;

- управление жизненным циклом приложения включает в себя все самое необходимое для совместной разработки ПО: управление версиями, отслеживание рабочих элементов, автоматизацию построений, командный портал, отчетную аналитику и бизнес-аналитику, книги гибкого планирования и управление тестовыми случаями;

- стало проще создание в приложении всех типов текстовых файлов; оптимизирована поддержка создания кода за счет улучшения интеграции с системой построений так, что созданный код никогда не устаревает независимо от изменений в исходной модели;

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

- диспетчер расширений загружает и устанавливает расширения, опубликованные в сообществе, с веб-сайта без необходимости открывать браузер;

- диалоговое окно Создание проекта обладает такими же возможностями поиска и установки, как и диспетчер расширений, за исключением того, что здесь поиск осуществляется только по шаблонам проектов и элементов;

- заново сконструировано средство просмотра справки; можно просматривать документацию в сети или в автономном режиме с помощью предпочтительного веб-браузера с применением улучшенного алгоритма полнотекстового поиска и упрощенной системы F1.

2.3.2.1 Типы языков и приложений в Visual Studio 2010

В Visual Studio предлагается несколько языков программирования (таблица 2.1).

Таблица 2.1–Типы языков Visual Studio 2010

Типы языков Краткое описание
Visual Basic Visual Basic предоставляет простой и быстрый способ создания приложений Windows, веб-приложений и приложений для мобильных устройств на базе .NET Framework
Visual C# Visual C# предназначен для построения самых разнообразных приложений, выполняемых в .NET Framework. Язык Visual C# простой, мощный, типобезопасный и объектно-ориентированный
Visual C++ Visual C++ – мощный язык, предназначенный для обеспечения всестороннего и детального контроля над процессом построения собственных Windows - приложений и управляемых приложений на базе .NET
Visual F# F# – это язык программирования, поддерживающий функциональное программирование. Visual F# позволяет разрабатывать приложения F# и расширять другие приложения .NET Framework с помощью кода F#
JScript JScript – это следующее поколение реализованного корпорацией Майкрософт языка, соответствующего стандарту ECMA 262

В Visual Studio 2010 языки Visual Basic и C# продолжают движение в направлении равенства функциональности. Это позволяет выбирать язык на основе личных предпочтений, поскольку оба языка имеют одинаковые возможности.

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

Добавленные новые функции в языке C# упрощают программирование с помощью интерфейсов API системы Microsoft Office. При наличии именованных и дополнительных аргументов больше не нужно указывать значения для каждого дополнительного параметра при вызове методов модели COM. При наличии динамической поддержки можно ссылаться на любой объект, например на возвращаемые значения из интерфейсов APIмодели COM или из динамических языков, без использования явного приведения типов. Индексированные свойства и необязательные модификаторы ref облегчают доступ к интерфейсам модели COM. Кроме того, поддержка эквивалентности типов упрощает развертывание путем включения типов из основных сборок взаимодействия (PIA) непосредственно в нужную сборку.

Visual F#. Visual Studio 2010 включает F# новый язык платформы .NET Framework, поддерживающий функциональное программирование наряду с объектно-ориентированным и процедурным программированием. F# объединяет краткий, выразительный и композиционный стиль функционального программирования со средой выполнения, библиотеками, взаимодействием и объектной моделью платформы .NET Framework.

2.3.2.2 Общая система типов

Все типы CTS (Common Type System) делятся на две группы значимые и ссылочные (рис. 2.2). Значимые типы являются контейнерами двоичных значений. Подавляющее большинство значимых типов предопределено в конкретном языке программирования. Такие типы называются примитивными. К ним, например, относятся логический тип, символьный тип. К значимым типам могут относиться и типы, определенные пользователем, например, перечисляемый тип. Значения значимых типов помещаются в локальной памяти программы. Действия над значениями значимых типов осуществляются над их копиями, оставляя оригинал без изменений.

Ссылочные типы содержат указатели на данные, размещенные в памяти компьютера, и распределяются в куче. Ссылочные типы бывают самозаписываемыми, указателями и интерфейсами. Самозаписываемые типы делятся на классы и массивы. Действия над переменными ссылочных типов могут влиять на несколько ссылочных переменных.

 
 


Рисунок 2.2–Схема системы типов

Просмотров: 2587


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.