Осенью прошёл курс и получил ключ. Но т.к. уже имел действующую подписку, то ключом не воспользовался. Сейчас захожу сюда, а про DreamSpark вообще ни слова. Где же мой ключ? |
Обзор языков программирования, предоставляемых Visual Studio 2013
7.3. Язык Visual Basic и его новые возможности в VS 2013
Visual Basic - очень простой язык, который часто используется для разработки GUI. Рассмотрим простейший пример, который подтверждает простоту разработки графического интерфейса на этом языке:
Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MsgBox("Hello from Visual Basic 2013") End Sub End Class
В данном примере создается пустая форма с заголовком Form1. При этом обрабатывается событие загрузки формы, при котором выдается сообщение "Hello from Visual Basic 2013" в виде "message box".
Как видно из примера, привлекательной чертой языка является простота и лаконичность, по сравнению, например, с аналогичной программой на языке Java или даже на языке C#.
В целом возможности Visual Basic, реализованного в среде Visual Studio, практически идентичны возможностям C#. Имеется доступ ко всем элементам библиотеки .NET Framework. Введены аналогичные конструкции (отличающиеся лишь по форме синтаксиса) для всех новых возможностей. Например, введены итераторы с оператором Yield, управляющие циклом по коллекции (см. для сравнения раздел 6.3).
Что касается новых возможностей, то Microsoft не объявил информацию о нововведениях в Visual Basic 2013, однако был реализован целый ряд новых возможностей в Visual Basic 2012:
- Функция Async для разработки асинхронного кода;
- Итераторы;
- Получение информации о методе, вызвавшем данный метод;
- Ключевое слово Global в операторе Namespace, которое позволяет определить пространство имен вне корневого пространства имен вашего проекта;
- Улучшения в автоматической генерации кода для фактических параметров;
- Опубликована на страницах MSDN библиотека примеров кода на Visual Basic (online samples).
7.4. Язык Visual C++ и его новые возможности в VS 2013
Язык C++ [21] был разработан в первоначальной версии под названием C with Classes в 1979 г. Автор языка Б. Страуструп разработал этот язык как расширение языка C классами в стиле языка Симула-67. Название C++ появилось в 1984 г. Язык был поддержан фирмой AT&T и благодаря этому стал активно развиваться. Далее в 1993 г., 1997 г. и т.д. были разработаны новые версии языка, в которые последовательно вводились важные концепции пространства имен (namespace), ссылки (reference), динамической информации о типе (runtime type information, RTTI), исключений (exceptions) и их обработки. Имеется ряд международных стандартов C++, отражающих развития языка, например, C99 и наиболее новый вариант - C++ 11.
Однако особо выдающийся вклад в развитие C++ внесла фирма Microsoft, которая включила C++ в качестве одного из основных языков в среду Visual Studio. Благодаря этому, язык Visual C++ стал фактически эквивалентным по возможностям языку C#. Программирование на Visual C++ возможно как с использованием управляемого кода (managed code), при выборе видов проектов CLR, так и в более традиционном варианте - неуправляемого кода, без динамического контроля типов, например, при разработке проектов вида Win32.
Для иллюстрации стиля разработки программ на Visual C++ приведем несколько примеров.
// ConsoleApplication3.cpp : main project file. #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World"); return 0; }
В данном примере в виде проекта вида Win32 представлено простое приложение с точкой входа - функцией main с аргументом в виде командной строки.
По сравнению с C# и Visual Basic сразу можно отметить несколько архаичные элементы - например, использование заголовочных файлов.
В другом примере определен параметризованный класс (по терминологии C++, шаблон класса - template class) [20]:
template <class T> class Stack { public: Stack(int = 10) ; ~Stack() { delete [] stackPtr ; } int push(const T&); int pop(T&) ; int isEmpty()const { return top == -1 ; } int isFull() const { return top == size - 1 ; } private: int size ; // number of elements on Stack. int top ; T* stackPtr ; } ;
Шаблоны в языке C++ широко используются как полезный механизм обобщенного программирования. Широко известна, например, библиотека шаблонов Standard Templates Library (STL), в среде Visual Studio - также Active Templates Library (ATL), поддержанная проектами вида ATL projects. Однако шаблоны C++ имеют ряд недостатков.
Во-первых, шаблоны менее надежны и безопасны для использования, чем параметризованные типы в языках CLU и Java - контроль типов при использовании шаблонов выполняется лишь частично, либо вовсе отсутствует. Детали описаны в книге [20].
Во-вторых, шаблоны реализуются дублированием кода. Для каждой конкретизации шаблона конкретным значением константы компилятор C++ генерирует новый экземпляр кода, лишь незначительно отличающегося от кода другой конкретизации.
Шаблоны могут быть также использованы в заголовках функций. Например, может быть определен шаблон функции сортировки массива из произвольных элементов.
Новые возможности Visual C++, реализованные в Visual Studio 2013, следующие:
- Поддержка некоторых возможностей стандарта C++ 11; фактически обеспечена полная поддержка этого стандарта в среде Visual Studio, что является большим шагом вперед;
- Поддержка некоторых возможностей стандарта C99, в частности, библиотеки шаблонов Standard Template Library;
- Улучшение работы среды в части автоматического завершения кода (code completion) для Visual C++;
- Улучшение производительности программ;
- Поддержка разработки программ на Visual C++ для магазина Windows (Windows Store).