VISUAL STUDIO

34
VISUAL STUDIO WONG YIN LIM SIN LOKE CHIAH RUEY PENG TEO WEY WENN 1

Transcript of VISUAL STUDIO

VISUAL STUDIO

WONG YIN

LIM SIN LOKE

CHIAH RUEY PENG

TEO WEY WENN

1

LAU CHING CHING

RMM 1

Contents

1.1 Introduction..................................................31.2 History........................................................4

1.2.1 Visual Studio 97.........................................41.2.2 Visual Studio 6.0 (1998).................................41.2.3 Visual Studio.NET (2002).................................51.2.4 Visual Studio.NET 2003...................................51.2.5 Visual Studio 2005.......................................61.2.6 Visual Studio 2008.......................................71.2.7 Visual Studio 2010.......................................81.2.8 Visual Studio 2012.......................................81.2.9 Visual Studio 2013.......................................91.2.10 Visual Studio "14"......................................9

2.1 Main Research.................................................102.1.1 Architecture..............................................102.1.2 Feature Provided..........................................122.1.3 Support Products..........................................17

3.1 Marketing.....................................................193.1.1 Edition Supported.........................................193.1.2 Main Competitors..........................................21

4.1 Reference.....................................................23

2

1.1 Introduction

Visual Studio is a software development environment which is

also known as Integrated Development Environment (IDE), Visual

studio is a complete set of development tools for building

ASP.NET Web applications, XML Web Services, desktop

applications, and mobile applications. Various applications

can be built using visual studio. Examples are console

applications, window forms applications, windows services,

ASP.NET applications, ASP.NET web services, windows mobile

applications, MFC/ATL/WIN32 applications, visual studio add-

ins and more. Console applications can run from the command

line and do not include a graphical interface. Windows forms

applications are windows desktop applications written using

the .NET framework. Windows services are applications that run

in the background while computer is running. ASP.NET

applications is a powerful technology that is used to create

dynamic web applications which often driven by databases.

ASP.NET web services provides a complete web services model3

thatl allows an easier and faster creating web services.

Windows mobile applications can run on devices that include

the Compact framework. MFC/ATL/Win32 applications do not need

the .NET runtime to run but also don’t include many of the

benefits of working with the .NET framework. Visual Studio

add-ins can be used to write new functionality to be added

into Visual Studio. Nevertheless, Visual Studio also includes

projects to deploy applications, work with databases, create

reports and so on.

1.2 History

1.2.1 Visual Studio 97

Microsoft first released Visual Studio (codenamed Boston,for

the city of the same name) in 1997, bundling many of its

4

programming tools together for the first time. Visual Studio

97 came in two editions: Visual Studio Professional and Visual

Studio Enterprise, the professional edition has 3 CDs, and the

enterprise on 4 CDs. It included Visual J++ 1.1 for Java

programming and introduced Visual InterDev for creating

dynamically generated web sites using Active Server Pages.

There was a single companion CD that contained the Microsoft

Developer Network library. Visual Studio 97 was Microsoft's

first attempt at using the same development environment for

multiple languages. Visual J++, InterDev, and the MSDN Library

had all been using the same 'environment', called Developer

Studio. Visual Studio was also sold as a bundle with the

separate IDEs used for Visual C++, Visual Basic and Visual

FoxPro.

1.2.2 Visual Studio 6.0 (1998)

Version 6.0 (codenamed Aspen, after the ski resort in

Colorado) was released in June1998 and is the last version to

run on the Windows 9xplatform. Each version of each language

in part also settled to v6.0, including Visual J++ which was

prior v1.1, and Visual InterDev at the 1st release. The v6

edition of Microsoft was the core environment for the next

four releases to provide programmers with an integrated look-

alike platform. This led Microsoft to transition the

development on the platform independent .NET Framework. Visual

5

Studio 6.0 was the last version to include Visual J++, which

Microsoft removed as part of a settlement with Sun

Microsystems that required Microsoft Internet Explorer not to

provide support for the Java virtual machine. Visual Studio

6.0 came in two editions: Professional and Enterprise. The

Enterprise edition contained extra features not found in

Professional edition, including Application Performance

Explorer, Automation Manager, Microsoft Visual Modeler,

RemAuto Connection Manager and Visual Studio Analyzer.

1.2.3 Visual Studio.NET (2002)

Microsoft released Visual Studio .NET (VS.NET), codenamed

Rainier (for Washington's Mount Rainier), in February 2002

(the beta version was released via Microsoft Developer Network

in 2001). The biggest change was the introduction of a managed

code development environment using the .NET Framework.

Programs developed using .NET are not compiled to machine

language (like C++ is, for example) but instead to a format

called Microsoft Intermediate Language (MSIL) or Common

Intermediate Language (CIL). When a CIL application executes,

it is compiled while being executed into the appropriate

machine language for the platform it is being executed on,

thereby making code portable across several platforms.

Programs compiled into CIL can be executed only on platforms

which have an implementation of Common Language

6

Infrastructure. It is possible to run CIL programs in Linux or

Mac OS X using non-Microsoft .NET implementations like Mono

and DotGNU. This was the first version of Visual Studio to

require an NT-based Windows platform. The installer enforces

this requirement. Visual Studio .NET 2002 shipped in four

editions: Academic, Professional, Enterprise Developer, and

Enterprise Architect. Microsoft introduced C# (C-sharp), a new

programming language, that targets .NET. It also introduced

the successor to Visual J++ called Visual J#. Visual J#

programs use Java's language-syntax. However, unlike Visual J+

+ programs, Visual J# programs can only target the .NET

Framework, not the Java Virtual Machine that all other Java

tools target.

1.2.4 Visual Studio.NET 2003

In April 2003, Microsoft introduced a minor upgrade to Visual

Studio .NET called Visual Studio .NET 2003, codenamed Everett

(for the city of the same name). It includes an upgrade to the

.NET Framework, version 1.1, and is the first release to

support developing programs for mobile devices, using ASP.NET

or the .NET Compact Framework. The Visual C++ compiler's

standards-compliance improved, especially in the area of

partial template specialization. Visual C++ Toolkit 2003 is a

version of the same C++ compiler shipped with Visual

Studio .NET 2003 without the IDE that Microsoft made freely

7

available. As of 2010 it is no longer available and the

Express Editions have superseded it. The internal version

number of Visual Studio .NET 2003 is version 7.1 while the

file format version is 8.0. Visual Studio .NET 2003 shipped in

four editions: Academic, Professional, Enterprise Developer,

and Enterprise Architect. The Visual Studio .NET 2003

Enterprise Architect edition includes an implementation of

Microsoft Visio 2002's modeling technologies, including tools

for creating Unified Modeling Language-based visual

representations of an application's architecture, and an

object-role modeling (ORM) and logical database-modeling

solution. "Enterprise Templates" were also introduced, to help

larger development teams standardize coding styles and enforce

policies around component usage and property settings. Service

Pack 1 was released September 13, 2006.

1.2.5 Visual Studio 2005

Visual Studio 2005, codenamed Whidbey (a reference to Whidbey

Island in Puget Sound), was released online in October 2005

and to retail stores a few weeks later. Microsoft removed the

".NET" moniker from Visual Studio 2005 (as well as every other

product with .NET in its name), but it still primarily targets

the .NET Framework, which was upgraded to version 2.0. It is

the last version available for Windows 2000 and also the last

version to be able to target Windows 98, Windows Me and

8

Windows NT 4.0 for C++ applications. Visual Studio 2005's

internal version number is 8.0 while the file format version

is 9.0. Microsoft released Service Pack 1 for Visual Studio

2005 on 14 December 2006. An additional update for Service

Pack 1 that offers Windows Vista compatibility was made

available on 3 June 2007. Visual Studio 2005 was upgraded to

support all the new features introduced in .NET Framework 2.0,

including generics and ASP.NET 2.0. The IntelliSense feature

in Visual Studio was upgraded for generics and new project

types were added to support ASP.NET web services. Visual

Studio 2005 also includes a local web server, separate from

IIS, that can host ASP.NET applications during development and

testing. It also supports all SQL Server 2005 databases.

Database designers were upgraded to support the ADO.NET 2.0,

which is included with .NET Framework 2.0. C++ also got a

similar upgrade with the addition of C++/CLI which is slated

to replace the use of Managed C++.

1.2.6 Visual Studio 2008

Visual Studio 2008, and Visual Studio Team System 2008

codenamed Orcas (a reference to Orcas Island, also an island

in Puget Sound, like Whidbey for the previous 2005 release),

were released to MSDN subscribers on 19 November 2007

alongside .NET Framework 3.5. The source code for the Visual

Studio 2008 IDE is available under a shared source license to

9

some of Microsoft's partners and ISVs. Microsoft released

Service Pack 1 for Visual Studio 2008 on 11 August 2008. The

internal version number of Visual Studio 2008 is version 9.0

while the file format version is 10.0. Visual Studio 2008 is

the last version to support targeting Windows 2000 for C++

applications. Visual Studio 2008 is focused on development of

Windows Vista, 2007 Office system, and Web applications. For

visual design, a new Windows Presentation Foundation visual

designer and a new HTML/CSS editor influenced by Microsoft

Expression Web are included. J# is not included. Visual Studio

2008 requires .NET 3.5 Framework and by default configures

compiled assemblies to run on .NET Framework 3.5, but it also

supports multi-targeting which lets the developers choose

which version of the .NET Framework (out of 2.0, 3.0, 3.5,

Silverlight CoreCLR or .NET Compact Framework) the assembly

runs on. Visual Studio 2008 also includes new code analysis

tools, including the new Code Metricstool (only in Team

Edition and Team Suite Edition). For Visual C++, Visual Studio

adds a new version of Microsoft Foundation Classes (MFC 9.0)

that adds support for the visual styles and UI controls

introduced with Windows Vista. For native and managed code

interoperability, Visual C++ introduces the STL/CLR, which is

a port of the C++Standard Template Library (STL) containers

and algorithms to managed code. STL/CLR defines STL-like

containers, iterators and algorithms that work on C++/CLI

managedobjects.

10

1.2.7 Visual Studio 2010

On April 12, 2010, Microsoft released Visual Studio 2010,

codenamed Dev10, and .NET Framework 4. The Visual Studio 2010

IDE was redesigned which, according to Microsoft, clears the

UI organization and "reduces clutter and complexity." The new

IDE better supports multiple document windows and floating

tool windows, while offering better multi-monitor support. The

IDE shell has been rewritten using the Windows Presentation

Foundation(WPF), whereas the internals have been redesigned

using Managed Extensibility Framework (MEF) that offers more

extensibility points than previous versions of the IDE that

enabled add-ins to modify the behavior of the IDE. The new

multi-paradigm ML-variant F# forms part of Visual Studio 2010.

Visual Studio 2010 comes with .NET Framework 4 and supports

developing applications targeting Windows 7. It supports IBM

DB2 and Oracle databases, in addition toMicrosoft SQL Server.

It has integrated support for developing Microsoft Silverlight

applications, including an interactive designer. Visual Studio

2010 offers several tools to make parallel programming

simpler: in addition to the Parallel Extensions for the .NET

Framework and the Parallel Patterns Library for native code,

Visual Studio 2010 includes tools for debugging parallel

applications. The new tools allow the visualization of

parallel Tasks and their runtime stacks. Tools for profiling

parallel applications can be used for visualization of thread

wait-times and thread migrations across processor cores. Intel

and Microsoft have jointly pledged support for a new

11

Concurrency Runtime in Visual Studio 2010 and Intel has

launched parallelism support in Parallel Studio as an add-on

for Visual Studio.

1.2.8 Visual Studio 2012

Final build of Visual Studio 2012 was announced on August 1,

2012 and the official launch event was held on September 12,

2012. Unlike prior versions, Visual Studio 2012 cannot record

and play macros and the macro editor has been removed. A major

new feature is support for WinRT and C++/CX (Component

Extensions). Support for C++ AMP (GPGPU programming) is also

included. On 16 September 2011 a complete 'Developer Preview'

of Visual Studio 11 was published on Microsoft's website.

Visual Studio 11 Developer Preview requires Windows 7, Windows

Server 2008 R2, Windows 8, or later operating systems.

Versions of Microsoft Foundation Class Library (MFC) and C

runtime (CRT) included with this release cannot produce

software that is compatible with Windows XP or Windows Server

2003 except by using native multi-targeting and foregoing the

newest libraries, compilers, and headers. However, on June 15,

2012, a blog post on the VC++ Team blog announced that based

on customer feedback, Microsoft would re-introduce native

support for Windows XP targets (though not for XP as a

development platform) in a version of Visual C++ to be

released later in the fall of 2012. "Visual Studio 2012 Update

12

1" (Visual Studio 2012.1) was released in November 2012. This

update added support for Windows XP targets and also added

other new tools and features (e.g. improved diagnostics and

testing support for Windows Store apps).

1.2.9 Visual Studio 2013

The preview for Visual Studio 2013 was announced at the Build

2013 conference and made available on June 26, 2013. The

Visual Studio 2013 RC (Release Candidate) was made available

to developers on MSDN on September 9, 2013. The final release

of Visual Studio 2013 became available for download on October

17, 2013 along with .NET 4.5.1. Visual Studio 2013 officially

launched on November 13, 2013 at a virtual launch event

keynoted by S. Somasegar and hosted on

events.visualstudio.com. "Visual Studio 2013 Update 1" (Visual

Studio 2013.1) was released on January 20, 2014. Visual Studio

2013.1 is a targeted update that addresses some key areas of

customer feedback. "Visual Studio 2013 Update 2" (Visual

Studio 2013.2) was released on May 12, 2014.

1.2.10 Visual Studio "14"

13

The first CTP for Visual Studio "14" was announced and made

available on June 3, 2014. The second CTP for Visual Studio

"14" was announced and made available on July 8, 2014.

2.1 Main Research

2.1.1 Architecture

Visual Studio does not support any programming language,

solution or tool intrinsically, instead it allows the plugging

of functionality coded as a VSPackage1. When installed, the

functionality is available as a Service. The IDE2 provides

three services: SVsSolution, which provides the ability to

enumerate projects and solutions; SVsUIShell, which provides

windowing and UI functionality (including tabs, toolbars and

tool windows); and SVsShell, which deals with registration of

VSPackages. In addition, the IDE is also responsible for

1 VSPackages : Software modules that extend the Visual Studio integrated development environment (IDE) by providing UI elements, services, projects,editors, and designers.2 IDE : A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger.

14

coordinating and enabling communication between services. All

editors, designers, project types and other tools are

implemented as VSPackages. Visual Studio uses COM to access

the VSPackages. The Visual Studio SDK also includes the

Managed Package Framework (MPF), which is a set of managed

wrappers around the COM-interfaces that allow the Packages to

be written in any CLI compliant language. However, MPF does

not provide all the functionality exposed by the Visual Studio

COM interfaces. The services can then be consumed for creation

of other packages, which add functionality to the Visual

Studio IDE.

Generalized view of the Visual Studio architecture

Support for programming languages is added by using a specific

VSPackage called a Language Service. A language service

defines various interfaces which the VSPackage implementation

can implement to add support for various functionalities.

Functionalities that can be added this way include syntax

coloring, statement completion, brace matching, parameter

15

information tooltips, member lists and error markers for

background compilation. If the interface is implemented, the

functionality will be available for the language. Language

services are to be implemented on a per-language basis. The

implementations can reuse code from the parser or the compiler

for the language. Language services can be implemented either

in native code or managed code. For native code, either the

native COM interfaces or the Babel Framework (part of Visual

Studio SDK) can be used. For managed code, the MPF includes

wrappers for writing managed language services.

Visual Studio does not include any source control support

built in but it defines two alternative ways for source

control systems to integrate with the IDE. A Source Control

VSPackage can provide its own customised user interface. In

contrast, a source control plugin using the MSSCCI (Microsoft

Source Code Control Interface) provides a set of functions

that are used to implement various source control

functionality, with a standard Visual Studio user interface.

MSSCCI was first used to integrate Visual SourceSafe with

Visual Studio 6.0 but was later opened up via the Visual

Studio SDK. Visual Studio .NET 2002 used MSSCCI 1.1, and

Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005,

2008 and 2010 use MSSCCI Version 1.3, which adds support for

rename and delete propagation as well as asynchronous opening.

2.1.2 Feature Provided

16

a)Code editor

Like any other IDE, it includes a code editor that supports

syntax highlighting and code completion using IntelliSense for

not only variables, functions and methods but also language

constructs like loops and queries. IntelliSense is supported

for the included languages, as well as for XML and for

Cascading Style Sheets and JavaScript when developing web

sites and web applications. Autocomplete suggestions are

popped up in a modeless list box, overlaid on top of the code

editor. In Visual Studio 2008 onwards, it can be made

temporarily semi-transparent to see the code obstructed by it.

The code editor is used for all supported languages.

The Visual Studio code editor also supports setting bookmarks

in code for quick navigation. Other navigational aids include

collapsing code blocks and incremental search, in addition to

normal text search and regex search. The code editor also

includes a multi-item clipboard and a task list. The code

editor supports code snippets, which are saved templates for

repetitive code and can be inserted into code and customized

for the project being worked on. A management tool for code

snippets is built in as well. These tools are surfaced as

floating windows which can be set to automatically hide when

unused or docked to the side of the screen. The Visual Studio

code editor also supports code refactoring including parameter

reordering, variable and method renaming, interface extraction

17

and encapsulation of class members inside properties, among

others.

Visual Studio features background compilation (also called

incremental compilation). As code is being written, Visual

Studio compiles it in the background in order to provide

feedback about syntax and compilation errors, which are

flagged with a red wavy underline. Warnings are marked with a

green underline. Background compilation does not generate

executable code, since it requires a different compiler than

the one used to generate executable code. Background

compilation was initially introduced with Microsoft Visual

Basic but has now been expanded for all included languages.

b) Debugging & Diagnostics

With Visual Studio 2013 developers are empowered with a

variety of tools that help them develop, optimize, debug and

diagnose applications no matter the chosen platform or

language. The Visual Studio Integrated Debugger provides a

first class experience enabling features such as breaking code

execution to inspect flow & memory values, the ability to

debug against remote servers or devices and a great experience

for understating and resolving Exceptions. For optimizing the

software, Visual Studio provides the Performance and

Diagnostics Hub, which makes it easy to find performance

bottlenecks in your app. When software is deployed, developers

18

and operations can work together of collect IntelliTrace

performance and Exception logs that greatly reduce the

complexity of debugging issues in production environments ,

and can be setup to facilitate proactive monitoring in

combination with system Centre and Team Foundation Server.

c) Designer

Visual Studio includes a host of visual designers to aid in

the development of applications. These tools include:

Windows Forms Designer

The Windows Forms designer is used to build GUI applications

using Windows Forms. Layout can be controlled by housing the

controls inside other containers or locking them to the side

of the form. Controls that display data (like textbox, list

box, grid view, etc.) can be bound to data sources like

databases or queries. Data-bound controls can be created by

dragging items from the Data Sources window onto a design

surface. The UI is linked with code using an event-driven

programming model. The designer generates either C# or VB.NET

code for the application.

WPF Designer

The WPF designer, codenamed Cider, was introduced with Visual

Studio 2008. Like the Windows Forms designer it supports the

19

drag and drop metaphor. It is used to author user interfaces

targeting Windows Presentation Foundation. It supports all WPF

functionality including data binding and automatic layout

management. It generates XAML code for the UI. The generated

XAML file is compatible with Microsoft Expression Design, the

designer-oriented product. The XAML code is linked with code

using a code-behind model.

Web designer/development

Visual Studio also includes a web-site editor and designer

that allows web pages to be authored by dragging and dropping

widgets. It is used for developing ASP.NET applications and

supports HTML, CSS and JavaScript. It uses a code-behind model

to link with ASP.NET code. From Visual Studio 2008 onwards,

the layout engine used by the web designer is shared with

Microsoft Expression Web. There is also ASP.NET MVC support

for MVC technology as a separate download and ASP.NET Dynamic

Data project available from Microsoft.

Class designer

The Class Designer is used to author and edit the classes

(including its members and their access) using UML modeling.

The Class Designer can generate C# and VB.NET code outlines

for the classes and methods. It can also generate class

diagrams from hand-written classes.

20

Data designer

The data designer can be used to graphically edit database

schemas, including typed tables, primary and foreign keys and

constraints. It can also be used to design queries from the

graphical view.

Mapping designer

From Visual Studio 2008 onwards, the mapping designer is used

by LINQ to SQL to design the mapping between database schemas

and the classes that encapsulate the data. The new solution

from ORM approach, ADO.NET Entity Framework, replaces and

improves the old technology.

d) Extensibility

Visual Studio allows developers to write extensions for Visual

Studio to extend its capabilities. These extensions "plug

into" Visual Studio and extend its functionality. Extensions

come in the form of macros, add-ins, and packages. Macros

represent repeatable tasks and actions that developers can

record programmatically for saving, replaying, and

distributing. Macros, however, cannot implement new commands

or create tool windows. They are written using Visual Basic

and are not compiled. Add-Ins provide access to the Visual

Studio object model and can interact with the IDE tools. Add-

Ins can be used to implement new functionality and can add new

tool windows. Add-Ins are plugged into the IDE via COM and can

21

be created in any COM-compliant languages. Packages are

created using the Visual Studio SDK and provide the highest

level of extensibility. They can create designers and other

tools, as well as integrate other programming languages. The

Visual Studio SDK provides unmanaged APIs as well as a managed

API to accomplish these tasks. However, the managed API isn't

as comprehensive as the unmanaged one. Extensions are

supported in the Standard (and higher) versions of Visual

Studio 2005. Express Editions do not support hosting

extensions.

Visual Studio 2008 introduced the Visual Studio Shell that

allows for development of a customized version of the IDE. The

Visual Studio Shell defines a set of VS Packages that provide

the functionality required in any IDE. On top of that, other

packages can be added to customize the installation. The

Isolated mode of the shell creates a new Appld where the

packages are installed. These are to be started with a

different executable. It is aimed for development of custom

development environments, either for a specific language or a

specific scenario. The Integrated mode installs the packages

into the AppId of the Professional/Standard/Team System

editions, so that the tools integrate into these editions. The

Visual Studio Shell is available as a free download.

After the release of Visual Studio 2008, Microsoft created the

Visual Studio Gallery. It serves as the central location for

22

posting information about extensions to Visual Studio.

Community developers as well as commercial developers can

upload information about their extensions to Visual

Studio .NET 2002 through Visual Studio 2010. Users of the site

can rate and review the extensions to help assess the quality

of extensions being posted. RSS feeds to notify users on

updates to the site and tagging features are also planned.

23

2.1.3Support Products

(i)Microsoft Visual C++

Microsoft Visual C++ is Microsoft's implementation of the C

and C++ compiler and associated languages-services and

specific tools for integration with the Visual Studio IDE.

It is built for development in native code or that contains

both native and managed components. Visual C++ supports COM as

well as the MFC library.

It able to use the Visual Studio forms designer to design GUI

or to be used together with the Windows API and included with

the OpenMP specification.

It also supports the use of intrinsic functions, which are

functions recognized by the compiler itself and not

implemented as a library.

(ii) Microsoft Visual C#

24

Microsoft Visual C# is Microsoft's implementation of the C#

language, targets the .NET Framework, along with the language

services that lets the Visual Studio IDE support C# projects.

The Visual C# 2008, 2010 and 2012 compilers support versions

3.0, 4.0 and 5.0 of the C# language specifications,

respectively.

It also supports the Visual Studio Class designer, Forms

designer, and Data designer.

(iii) Microsoft Visual Basic (VB)

Microsoft Visual Basic is Microsoft's implementation of the

VB.NET language and associated tools and language services.

It was introduced with Visual Studio .NET and used for Rapid

Application Development. Visual Basic can be used to author

both console applications as well as GUI applications. Visual

Basic (VB) also supports the Visual Studio Class designer,

Forms designer, and Data designer.

The VB.NET compiler is also part of .NET Framework, but the

language services that let VB.NET projects to be developed

with Visual Studio, are available as a part of the latter.

(iv) Microsoft Visual Web Developer

Microsoft Visual Web Developer is used to create web sites,

web applications and web services using ASP.NET, C# or VB.NET

languages.

25

Visual Web Developer can use the Visual Studio Web Designer to

graphically design web page layouts.

(v) Team Foundation Server (TFS)

Team Foundation Server Included only with Visual Studio Team

System.

It is intended for collaborative software development projects

and acts as the server-side backend providing source control,

data collection, reporting, and project-tracking.

It also includes the Team Explorer, the client tool for TFS

services, which is integrated inside Visual Studio Team

System.

26

3.1 Marketing

3.1.1 Edition Supported

(i) Visual Studio Express

Visual Studio Express Editions are a set of free lightweight

individual Integrated Development Environments (IDE) which is

stripped-down versions of the Visual Studio IDE. It installs

the development tools for supported platforms or supported

development languages onto individual Visual Studio Shell

AppIds. It includes only a small set of tools as compared to

the other systems. The main target for Visual Studios Express

is students and hobbyists. The languages available as parts of

the Express IDEs are Visual Basic Express, Visual C++ Express,

Visual C# Express, Visual Web Developer Express and Express

for Windows Phone.

(ii) Visual Studio Professional

Visual Studio Professional Edition provides an IDE for all

supported development languages. The Standard edition was

removed as of Visual Studios 2010. There are features like

Server Explorer and also integration with Microsoft SQL

27

Server. Windows Mobile development support was included in

Visual Studio 2005 Standard; however, with Visual Studio 2008,

it is only available in Professional and higher editions.

Windows Phone 7 development support was added to all editions

in Visual Studio 2010. Development for Windows Mobile is no

longer supported in Visual Studio 2010; it is superseded by

Windows Phone 7.

(iii) Visual Studio Premium

Visual Studio Premium Edition includes all of the functions in

Visual Studio Professional and has extra tools such as code

metrics, profiling, static code analysis and database unit

testing.

(iv) Visual Studio Ultimate

Besides having the features in Visual Studio Premium, Visual

Studio Ultimate also has a set of software and database

development, collaboration, metrics, architecture, testing and

reporting tools. Visual Studio Ultimate offers a superset of

toolsets based on the Application Lifecycle Management role it

is being used for.

(v) Visual Studio Test Professional

Visual Studio Test Professional was introduced with Visual

Studio 2010. It aims being dedicated tester role and includes

support for management of test environments, the ability to

start and report on tests and to connect to Team Foundation

28

Server. It does not include support for development or

authoring of tests.

3.1.2 Main Competitors

The main competitors for Microsoft Visual Studios are:-

29

(i) Eclipse

Eclipse is an IDE which contains a base workspace and an

extensible plug-in system for customizing the environment. The

initial codebase originated from IBM VisualAge. Written mostly

in Java, Eclipse can be used to develop applications. It can

also be used to develop packages for the software Mathematica.

Development environments include the Eclipse Java development

tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and

Eclipse PDT for PHP.

(ii) IBM VisualAge

IBM releases an IDE with the name of VisuaAge, which included

support for multiple programming languages. VisualAge was

first released in the 1980s and was last available in 2012.

VisualAge was also marketed as “VisualAge Smalltalk” and IBM

has stated that XL C/C++ is the 'follow-on' product to

VisualAge.

(iii) NetBeans

NetBeans is an IDE for developing primarily with Java, but

also with other languages, in particular PHP, C/C++, and

HTML5. It is also an application platform framework for Java

desktop applications and others. The NetBeans IDE is written

in Java and can run on Windows, OS X, Linux, Solaris and other

platforms supporting a compatible Java Virtual Machine (JVM).

30

(iv) Oracle Solaris Studio

The Oracle Solaris Studio is a compiler suite which is Oracle

Corporation's flagship software development product for the

operating systems Solaris and Linux. The Oracle Studio

compiler and development tools software suite is downloadable

at no charge from an Oracle website however there are many

security and functionality patch updates which are only

available with a support contract from Oracle.

(v) C++Builder

C++Builder is a rapid application development (RAD)

environment for writing programs in the C++ programming

language targeting Windows and OS X. C++Builder combines the

Visual Component Library and IDE written in Delphi with a C++

compiler. Most components developed in Delphi can be used in

C++Builder with no or little modification, although the

reverse is not true.

(vi) CodeWarrior

CodeWarrior is an IDE for the creation of software that runs

on a number of embedded systems. Prior to the acquisition of

the product by Freescale Semiconductor, versions existed for

Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2,

Nintendo GameCube, Nintendo DS, Wii , Palm OS, Symbian OS, and

even for BeOS. Currently, C, C++, and assembly language are

the focus of the tools. Versions of CodeWarrior included

31

Pascal, Object Pascal, Objective-C, and Java compilers as

well.

4.1 Reference

Microsoft developer network 2005, ‘Visual studio development

environment model’, viewed 27 July 2014,

<http://msdn.microsoft.com/en-us/library/bb165114(VS.80).aspx>

32

Microsoft developer network 2005, ‘VSPackages and managed

package framework (MPF)’, viewed 27 July 2014,

<http://msdn.microsoft.com/en-us/library/bb166554(VS.80).aspx>

Microsoft developer network 2005, ‘Language services

essentials’, viewed 27 July 2014, <

http://msdn.microsoft.com/en-us/library/bb166391(VS.80).aspx>

Microsoft developer network 2005, ‘Babel package overview’,

viewed 27 July 2014, <

http://msdn.microsoft.com/en-us/library/bb165670(VS.80).aspx>

Microsoft developer network 2005, ‘Managed language service

overview’, viewed 27 July 2014, <

http://msdn.microsoft.com/en-us/library/bb166360(VS.80).aspx>

Microsoft developer network 2005, ‘Source control plug-ins’,

viewed 27 July 2014, <

http://msdn.microsoft.com/en-us/library/bb166170.aspx>

Microsoft developer network 2005, ‘Source control integration

essentials, viewed 27 July 2014, <

http://msdn.microsoft.com/en-us/library/bb165370.aspx>

33

Mehta, V 2006, ‘Extending Visual Studio 2005’, viewed 27 July2014, <http://www.codeguru.com/csharp/.net/net_general/visualstudionetadd-ins/article.php/c11835/Extending-Visual-Studio-2005.htm>

34