Sun Microsystems, в 1995 г. выпустила новый язык и технологию программирования Java, - в качестве основы для реализации своих платформно-независимых Java-библиотек Abstract Windows Toolkit (AWT) для поддержки разработки GUI для платформы Windows использовала именно среду Visual Studio и реализованный в ней язык Visual C++.
Чтобы выпустить новую реализацию Java, необходимо приобрести лицензию у фирмы-владельца Java-технологии, и пропустить для новой реализации Java специальный набор тестов на реализацию языка, библиотек и виртуальной машины, под названием Java Compatibility Kit (JCK) для проверки соответствия реализации ведомственным стандартам Java. Только если все эти тесты полностью, на 100%, пройдут, новая реализация получает право именоваться "Java". К сожалению, для реализации Visual Java++ фирмы Microsoft тесты JCK не прошли, ввиду реализованных в системе Visual Java++ расширений языка.
Visual Studio (6.0, под кодовым названием Aspen) вышла в 1998 году. В нее, кроме уже новых версий компонент - Visual C++, Visual Basic, VJ++ и InterDev, (в максимальном варианте - Visual Studio Enterprise Edition) вошли также следующие новые компоненты для поддержки визуального моделирования и анализа производительности программ:
- Application Performance Explorer
- Automation Manager
- Microsoft Visual Modeler
- RemAuto Connection Manager
- Visual Studio Analyzer
.NET - объектно-ориентированная многоязыковая платформа программирования, стандартизированная международными стандартами ISO и имеющая несколько реализаций, в том числе - Microsoft.NET, разработанную фирмой Microsoft.
Наиболее важное нововведение в Visual Studio 7.0 (известная также под названием Visual Studio.NET и под кодовым названием Rainier) - реализация многоязыковой платформы .NET Framework, обеспечивающей надежное и безопасное программирование с полным контролем типов и безопасности на базе управляемого кода (managed code), общей инфраструктуры языков (Common Language Infrastructure - CLI), единого промежуточного языка (Common Intermediate Language - CIL), общей системы типов (Common Type System - CTS).
На платформе .NET все компиляторы транслируют исходный код с соответствующего языка (C#, C++, Visual Basic и т.д.) в бинарный формат единого промежуточного кода CIL - постфиксную запись инструкций виртуальной машины .NET - Virtual Execution System (VES). Обеспечиваются: совместимость в рамках одного .NET-приложения кодов, откомпилированных с различных языков; единый механизм контроля типов и безопасности на основе метаданных; единая среда выполнения, включающая единый многоязыковый механизм обработки исключений.
Версия языка Visual C++, совместимая с .NET, получила название Managed C++, а версия языка Visual Basic, совместимая с .NET, - название Visual Basic.NET.
Весьма важным нововведением Visual Studio 2003 была реализация версии .NET для мобильных устройств - .NET Compact Framework и поддержка разработки приложений для мобильных устройств средствами Visual Studio.
В Visual Studio 2003 реализована поддержка средств моделирования программ в стиле другого популярного продукта - Microsoft Visio, в том числе - поддержка UML-диаграмм, визуализирующих архитектуру приложения.
Основные нововведения Visual Studio 2005 (под кодовым названием Whidbey) касались параметризованных типов данных (generics). Они были реализованы в версии языка C# 2.0 и в .NET Framework 2.0. Интересно отметить, что в это же время аналогичные возможности были реализованы в языке Java 1.5.
В версии VS 2008 введен визуальный дизайнер приложений, использующих Windows Presentation Foundation (WPF) - API для поддержки GUI.
В отладчике VS 2008 реализована поддержка отладки многопоточных приложений.
В версию VS 2008 впервые не была включена поддержка языка J#, - расширения языка Java фирмы Microsoft, о котором говорилось выше. Вместо этого пользователям был предложен входящий в среду инструмент Java Language Converter Assiatant (JLCA) для переноса приложений из языка и среды Java в среду .NET.
Версия VS 2008 - на данный момент последняя версия среды Visual Studio, в которой имеется поддержка внутреннего продукта Microsoft - Phoenix, инструментария для разработки оптимизирующих компиляторов и языковых процессоров. Это совместный продукт Microsoft Research и Microsoft Product Team. Phoenix используется для реализации внедрения (weaving) аспектов в целевые приложения в системе Aspect.NET, так как Phoenix имеет удобное высокоуровневое внутреннее представление - Phoenix High-Level IR (HIR), в терминах которого удобно выполнять трансформации программ. Phoenix содержит удобный инструмент для генерации бинарной сборки .NET по этому внутреннему представлению, который и выполняет в системе Aspect.NET генерацию результирующей бинарной сборки после внедрения в нее аспектов. В настоящее время Phoenix используется для проекта Microsoft Research Midori - операционной системы, написанной полностью в среде .NET на managed-коде.
Наиболее важное нововведение в Visual Studio (внутренний номер версии - 10, кодовое название - Dev10) - появление в "джентльменском наборе" поддерживаемых языков еще одного языка - функционального языка F#. Автором языка является Дон Сайм (Don Syme) из Microsoft Research, Кембридж, Великобритания. Язык F# сочетает в себе возможности чисто функционального программирования со средствами объектно-ориентированного программирования, параллельного программирования и средствами интеграции со всеми остальными возможностями .NET Framework и Visual Studio.
Первоначально планировалось, что в состав Visual Studio 2010 войдет продукт Phoenix и разработанный на его основе оптимизирующий компилятор с языка Visual C++, который должен был по производительности генерируемого бинарного кода превзойти имеющуюся, прежнюю, версию компилятора Visual C++. Однако, к сожалению, эти планы не были осуществлены - команда Phoenix не уложилась в сроки, поставленные руководством проекта Visual Studio.
В "максимальной" версии - Visual Studio 2010 Ultimate - имеются средства отображения структуры проектов с помощью UML-диаграмм, а также компонента Test Impact Analysis для оценки влияния модификации исходного кода проекта на пропускаемые группы тестов, что удобно, так как позволяет избежать излишних пропусков тестов. Имеется также отладчик IntelliTrace, позволяющий запоминать историю отладки и полностью ее состояние, включая историю многопоточности (а не только стек текущего потока).
Следует отметить поддержку в Visual Studio 2010 облачных вычислений. Для этого появились новые виды проектов Microsoft Azure Project. Для их использования необходимо инсталлировать для Visual Studio 2010 специальный инструментарий - Microsoft Azure SDK.
В августе 2012 года вышла версия Visual Studio 2012 под кодовым названием Metro Theme. В ней был улучшен пользовательский интерфейс, разработан новый инструмент просмотра проектов (solution explorer), улучшена поддержка цветов для выделения фрагментов кода. Как отмечает Microsoft, общий размер исходного кода для Visual Studio 2012 достиг 50 миллионов (!) строк.
Набор для практики
Вопросы
- Что такое Visual Studio?
- Что такое Visual C++?
- Что такое Visual Basic?
- Что такое Visual FoxPro?
- Что такое .NET?
- Что такое C#?
- Что такое F# и в чем особенности этого языка?
- Что такое Team Foundation Server?
- Что такое Windows Presentation Foundation?
- Что такое IntelliTrace?
- Что такое Phoenix?
- Что такое Aspect.NET?
- Что такое Knowledge.NET?
Упражнения
- Скачайте и инсталлируйте новейшую среду разработки Visual Studio 2013 и изучите ее основные возможности.
- Сравните возможности языков программирования, реализованных в среде Visual Studio, сформулируйте их отличия и основные особенности.
- Воспользуйтесь Team Foundation Server и выполните с его помощью простой коллективный проект в составе группы Ваших коллег (сокурсников)
Темы для курсовых работ, рефератов, эссе
- Обзор развития и возможностей интегрированной среды Visual Studio (реферат)
- Обзор развития и возможностей языка Visual C++ (реферат)
- Обзор развития и возможностей языка Visual Basic (реферат)
- Обзор развития и возможностей языка C# (реферат)
- Средства коллективной разработки программ в среде Visual Studio (реферат)