The most basic edition of Visual Studio, the Community edition, is available free of charge.

The currently supported Visual Studio version is 2017. Microsoft announced 2019 on June 6, 2018, with its release timing to be shared "in the coming months," promising "to deliver ... quickly and iteratively."

Visual Studio does not support any programming language, solution or tool intrinsically; instead, it allows the plugging of functionality coded as a VSPackage. When installed, the functionality is available as a Service. The IDE 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 coordinating and enabling communication between services.[9] 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.[10] However, MPF does not provide all the functionality exposed by the Visual Studio COM interfaces.[11]
The services can then be consumed for creation of other packages, which add functionality to the Visual Studio IDE.

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.[12] Functionalities that can be added this way include syntax coloring, statement completion, brace matching, parameter information tooltips, member lists, and error markers for background compilation.[12] If the interface is implemented, the functionality will be available for the language. Language services are implemented on a per-language basis. The implementations can reuse code from the parser or the compiler for the language.[12] 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.[13] For managed code, the MPF includes wrappers for writing managed language services.[14]

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.[15] 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.[16][17] 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.[17]

Visual Studio supports running multiple instances of the environment (each with its own set of VSPackages). The instances use different registry hives (see MSDN's definition of the term "registry hive" in the sense used here) to store their configuration state and are differentiated by their AppId (Application ID). The instances are launched by an AppId-specific .exe that selects the AppId, sets the root hive, and launches the IDE. VSPackages registered for one AppId are integrated with other VSPackages for that AppId. The various product editions of Visual Studio are created using the different AppIds. The Visual Studio Express edition products are installed with their own AppIds, but the Standard, Professional, and Team Suite products share the same AppId. Consequently, one can install the Express editions side-by-side with other editions, unlike the other editions which update the same installation. The professional edition includes a superset of the VSPackages in the standard edition, and the team suite includes a superset of the VSPackages in both other editions. The AppId system is leveraged by the Visual Studio Shell in Visual Studio 2008.[18]

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.[22] The code editor also includes a multi-item clipboard and a task list.[22] 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, and encapsulation of class members inside properties, among others.

Visual Studio features background compilation (also called incremental compilation).[23][24] 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.[25] Background compilation was initially introduced with Microsoft Visual Basic, but has now been expanded for all included languages.[24]

Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. It works with both managed code as well as native code and can be used for debugging applications written in any language supported by Visual Studio. In addition, it can also attach to running processes, monitor, and debug those processes.[26] If source code for the running process is available, it displays the code as it is being run. If source code is not available, it can show the disassembly. The Visual Studio debugger can also create memory dumps as well as load them later for debugging.[27] Multi-threaded programs are also supported. The debugger can be configured to be launched when an application running outside the Visual Studio environment crashes.

The debugger allows setting breakpoints (which allow execution to be stopped temporarily at a certain position) and watches (which monitor the values of variables as the execution progresses).[28] Breakpoints can be conditional, meaning they get triggered when the condition is met. Code can be stepped over, i.e., run one line (of source code) at a time.[29] It can either step into functions to debug inside it, or step over it, i.e., the execution of the function body isn't available for manual inspection.[29] The debugger supports Edit and Continue, i.e., it allows code to be edited as it is being debugged. When debugging, if the mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger lets certain functions be invoked manually from the Immediate tool window. The parameters to the method are supplied at the Immediate window.[30]

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 and grid view) 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.[31] The UI is linked with code using an event-driven programming model. The designer generates either C# or VB.NET code for the application.

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[33] and ASP.NET Dynamic Data project available from Microsoft.[34]

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.

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.

The open tabs browser is used to list all open tabs and to switch between them. It is invoked using CTRL+TAB.

Properties Editor

The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items.

In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution.

Team Explorer

Team Explorer is used to integrate the capabilities of Team Foundation Server, the Revision Control System into the IDE (and the basis for Microsoft's CodePlex hosting environment for open source projects). In addition to source control it provides the ability to view and manage individual work items (including bugs, tasks and other documents) and to browse TFS statistics. It is included as part of a TFS install and is also available as a download for Visual Studio separately.[35][36] Team Explorer is also available as a stand-alone environment solely to access TFS services.

Visual Studio includes a free 'light' version of Dotfuscator by PreEmptive Solutions which obfuscates and hardens applications to help secure trade secrets (IP), reduce piracy/counterfeiting, protect against tampering and unauthorized debugging. Dotfuscator works with all flavors of .NET including ASP.NET, Xamarin, Unity and UWP.[38]

Text Generation Framework

Visual Studio includes a full text generation framework called T4 which enables Visual Studio to generate text files from templates either in the IDE or via code.

Visual Studio Tools for Office is a SDK and an add-in for Visual Studio that includes tools for developing for the Microsoft Office suite. Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it was a separate SKU that supported only Visual C# and Visual Basic languages or was included in the Team Suite. With Visual Studio 2008, it is no longer a separate SKU but is included with Professional and higher editions. A separate runtime is required when deploying VSTO solutions.

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.[11] 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 be created in any COM-compliant languages.[11] 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.[11] 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 VSPackages 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 AppId 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.[18] 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 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. An extension is stored in a VSIX file. Internally a VSIX file is a ZIP file that contains some XML files, and possibly one or more DLL's. One of the main advantages of these extensions is that they do not require Administrator rights to be installed. RSS feeds to notify users on updates to the site and tagging features are also planned.[39]

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 can compile either in C mode or C++ mode. For C++, as of version 15.7 it conforms to C++17.[40] The C implementation of Visual Studio 2015 is still not supporting the full standard; in particular, the complex number header complex.h introduced in C99 is unsupported.

Visual C++ supports the C++/CLI specification to write managed code, as well as mixed-mode code (a mix of native and managed code). Microsoft positions Visual C++ for development in native code or in code that contains both native as well as managed components. Visual C++ supports COM as well as the MFC library. For MFC development, it provides a set of wizards for creating and customizing MFC boilerplate code, and creating GUI applications using MFC. Visual C++ can also use the Visual Studio forms designer to design UI graphically. Visual C++ can also be used with the Windows API. It also supports the use of intrinsic functions,[41] which are functions recognized by the compiler itself and not implemented as a library. Intrinsic functions are used to expose the SSE instruction set of modern CPUs. Visual C++ also includes the OpenMP (version 2.0) specification.[42]

Microsoft Visual C#, 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. While the language services are a part of Visual Studio, the compiler is available separately as a part of the .NET Framework. The Visual C# 2008, 2010 and 2012 compilers support versions 3.0, 4.0 and 5.0 of the C# language specifications, respectively. Visual C# supports the Visual Studio Class designer, Forms designer, and Data designer among others.[43]

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 (2002). Microsoft has positioned Visual Basic for Rapid Application Development.[44][45] Visual Basic can be used to author both console applications as well as GUI applications. Like Visual C#, Visual Basic also supports the Visual Studio Class designer, Forms designer, and Data designer among others. Like C#, the VB.NET compiler is also available as a part of .NET Framework, but the language services that let VB.NET projects be developed with Visual Studio, are available as a part of the latter.

Microsoft Visual Web Developer

Microsoft Visual Web Developer is used to create web sites, web applications and web services using ASP.NET. Either C# or VB.NET languages can be used. Visual Web Developer can use the Visual Studio Web Designer to graphically design web page layouts.

Team Foundation Server is intended for collaborative software development projects and acts as the server-side backend providing source control, data collection, reporting, and project-tracking functionality. It also includes the Team Explorer, the client tool for TFS services, which is integrated inside Visual Studio Team System.

Visual FoxPro is a data-centric object-oriented and proceduralprogramming language produced by Microsoft. It derives from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Visual FoxPro is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL queries and data manipulation. Visual FoxPro is a full-featured,[46]dynamic programming language that does not require the use of an additional general-purpose programming environment. In 2007, Visual FoxPro was discontinued after version 9 Service Pack 2. It was supported until 2015.[47]

Microsoft Visual SourceSafe is a source controlsoftware package oriented towards small software-development projects. The SourceSafe database is a multi-user, multi-process file-system database, using the Windows file system database primitives to provide locking and sharing support. All versions are multi-user, using SMB (file server) networking.[48][49][50] However, with Visual SourceSafe 2005, other client–server modes were added, Lan Booster and VSS Internet (which used HTTP/HTTPS). Visual SourceSafe 6.0 was available as a stand-alone product[51] and was included with Visual Studio 6.0, and other products such as Office Developer Edition. Visual SourceSafe 2005 was available as a stand-alone product and included with the 2005 Team Suite. Team Foundation Server has superseded VSS as Microsoft's recommended platform for source control.

Microsoft Visual J++ was Microsoft's implementation of the Java language (with Microsoft-specific extensions) and associated language services. It was discontinued as a result of litigation from Sun Microsystems, and the technology was recycled into Visual J#, Microsoft's Java compiler for .NET Framework. J# was available with Visual Studio 2005 (supported until 2015) but was discontinued in Visual Studio 2008.

Visual InterDev was used to create web applications using Microsoft Active Server Pages (ASP) technologies. It supports code completion and includes database server management tools. It has been replaced with Microsoft Visual Web Developer.

The Community edition was announced on 12 November 2014, as a new free version, with similar functionality to Visual Studio Professional. Prior to this date, the only free editions of Visual Studio were the feature-limited Express variants. Unlike the Express variants, Visual Studio Community supports multiple languages, and provides support for extensions. Individual developers have no restrictions on their use of the Community edition. The following uses also allow unlimited usage: contributing to Open Source projects, academic research, in a classroom learning environment and for developing and testing device drivers for the Windows operating system. All other use by an organization depends on whether you are classified as an Enterprise (more than 250 employees / 1 Million+ in revenue, per Microsoft). Non-Enterprises may use up to 5 copies without restriction, user number 6 and higher require a commercial license; Enterprise organizations require a commercial license for use outside of the noted exceptions.[53][54] Visual Studio Community is oriented towards individual developers and small teams.[55][56]

As of Visual Studio 2010, the Professional edition is the entry level commercial edition of Visual Studio. (Previously, a more feature restricted Standard edition was available.)[57] It provides an IDE for all supported development languages. MSDN support is available as MSDN Essentials or the full MSDN library depending on licensing. It supports XML and XSLT editing, and can create deployment packages that only use ClickOnce and MSI. It includes tools like Server Explorer and integration with Microsoft SQL Server also. 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.

In addition to the features provided by the Professional edition, the Enterprise edition provides a new set of software development, database development, collaboration, metrics, architecture, testing and reporting tools.

The Test Professional edition was introduced with Visual Studio 2010. Its focus is the dedicated tester role. It includes support for the management of test environments, the ability to start and report on tests and to connect to Team Foundation Server. It does not include support for development or authoring of tests.[52]

Visual Studio Express is a stripped-down version of Visual Studio for students and hobbyists, first introduced with Visual Studio 2005 and discontinued with Visual Studio 2015. Originally, it consisted of several editions, each of which targeted a single programming language. Visual Studio Express 2005, 2008 and 2010 consisted of the following editions that could have been installed side-by-side:

Express for Windows Phone (2012 only): focuses on software development for Windows Phone 7.5 and 8.0

Versions prior to 2013 Update 2 do not include support for plug-ins. x64 compilers are not included in the Visual Studio Express edition IDEs, but are available as part of a Windows Software Development Kit that can be installed separately.[58] After an initial announcement[59] that the Express 2012 release would be restricted to creating Windows 8Metro-style apps, Microsoft responded to negative developer feedback by reversing that decision and announcing that desktop application development would also be supported.[60]

Microsoft first released Visual Studio (codenamed Boston,[74] for the city of the same name, thus beginning the VS codenames related to places)[74] in 1997, bundling many of its 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 three CDs, and the enterprise on four CDs. It included Visual J++ 1.1 for Java programming and introduced Visual InterDev for creating dynamically generated web sites using Active Server Pages.[citation needed] 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.[75]

Visual Studio was also sold as a bundle with the separate IDEs used for Visual C++, Visual Basic and Visual FoxPro.[18]

The next version, version 6.0 (codenamed Aspen, after the ski resort in Colorado),[citation needed] was released in June 1998 and is the last version to run on the Windows 9x platform.[76] 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 Studio 6.0 was the last version to include Visual J++,[77][78] 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.[79] The Enterprise edition contained extra features not found in Professional edition, including:

This was the first version of Visual Studio to require an NT-based Windows platform.[80] 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.

Visual Basic changed drastically to fit the new framework, and the new version was called Visual Basic .NET. Microsoft also added extensions to C++, called Managed Extensions for C++, so .NET programs could be created in C++.

The Visual Studio .NET environment was rewritten to partially use .NET. All languages are versions of Visual Studio, it has a cleaner interface and greater cohesiveness.[citation needed] It is also more customizable with tool windows that automatically hide when not in use. While Visual FoxPro 7 started out as part of Visual Studio .NET 2002, and early VS betas allowed debugging inside VFP-based DLLs, it was removed before release to follow its own development track.[citation needed]

The internal version number of Visual Studio .NET 2002 is version 7.0. Microsoft released Service Pack 1 for Visual Studio .NET 2002 in March 2005.[81]

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).[citation needed] 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 available. As of 2010[update] 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.[82]

Visual Studio 2005, codenamed Whidbey (a reference to Whidbey Island in Puget Sound region),[citation needed] 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 Windows NT 4.0 for C++ applications.[84][85]

Visual Studio 2005's internal version number is 8.0 while the file format version is 9.0.[82] Microsoft released Service Pack 1 for Visual Studio 2005 on 14 December 2006.[86] An additional update for Service Pack 1 that offers Windows Vista compatibility was made available on 3 June 2007.[87]

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 additionally introduces support for a new task-based build platform called Microsoft Build Engine (MSBuild) which employs a new XML-based project file format.[88] 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++.[89] Other new features of Visual Studio 2005 include the "Deployment Designer" which allows application designs to be validated before deployments, an improved environment for web publishing when combined with ASP.NET 2.0 and load testing to see application performance under various sorts of user loads. Starting with the 2005 edition, Visual Studio also added extensive 64-bit support. While the host development environment itself is only available as a 32-bit application, Visual C++ 2005 supports compiling for x86-64 (AMD64 and Intel 64) as well as IA-64 (Itanium).[90] The Platform SDK included 64-bit compilers and 64-bit versions of the libraries.

Microsoft also announced Visual Studio Tools for Applications as the successor to Visual Basic for Applications (VBA) and VSA (Visual Studio for Applications). VSTA 1.0 was released to manufacturing along with Office 2007. It is included with Office 2007 and is also part of the Visual Studio 2005 SDK. VSTA consists of a customized IDE, based on the Visual Studio 2005 IDE, and a runtime that can be embedded in applications to expose its features via the .NET object model. Office 2007 applications continue to integrate with VBA, except for InfoPath 2007 which integrates with VSTA. Version 2.0 of VSTA (based on Visual Studio 2008) was released in April 2008.[91] It is significantly different from the first version, including features such as dynamic programming and support for WPF, WCF, WF, LINQ, and .NET 3.5 Framework.

Visual Studio 2008,[92] and Visual Studio Team System 2008[93][94] codenamed Orcas (a reference to Orcas Island, also an island in Puget Sound region, 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 some of Microsoft's partners and ISVs.[69] Microsoft released Service Pack 1 for Visual Studio 2008 on 11 August 2008.[95] 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.[96]

Visual Studio 2008 features include an XAML-based designer (codenamed Cider), workflow designer, LINQ to SQL designer (for defining the type mappings and object encapsulation for SQL Server data), XSLT debugger, JavaScriptIntellisense support, JavaScript Debugging support, support for UACmanifests, a concurrent build system, among others.[101] It ships with an enhanced set of UI widgets, both for Windows Forms and WPF. It also includes a multithreaded build engine (MSBuild) to compile multiple source files (and build the executable file) in a project across multiple threads simultaneously. It also includes support for compiling iconresources in PNG format, introduced in Windows Vista. An updated XML Schema designer was released separately some time after the release of Visual Studio 2008.[102]

Visual Studio Debugger includes features targeting easier debugging of multi-threaded applications. In debugging mode, in the Threads window, which lists all the threads, hovering over a thread displays the stack trace of that thread in tooltips.[103] The threads can directly be named and flagged for easier identification from that window itself.[104] In addition, in the code window, along with indicating the location of the currently executing instruction in the current thread, the currently executing instructions in other threads are also pointed out.[104][105] The Visual Studio debugger supports integrated debugging of the .NET 3.5 Framework Base Class Library (BCL) which can dynamically download the BCL source code and debug symbols and allow stepping into the BCL source during debugging.[106] As of 2010[update] a limited subset of the BCL source is available, with more library support planned for later.

The Visual Studio 2010 IDE was redesigned which, according to Microsoft, clears the UI organization and "reduces clutter and complexity."[109] The new IDE better supports multiple document windows and floating tool windows,[109] 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.[110]

The Visual Studio 2010 code editor now highlights references; whenever a symbol is selected, all other usages of the symbol are highlighted.[116] It also offers a Quick Search feature to incrementally search across all symbols in C++, C# and VB.NET projects. Quick Search supports substring matches and camelCase searches.[116] The Call Hierarchy feature allows the developer to see all the methods that are called from a current method as well as the methods that call the current one.[116]IntelliSense in Visual Studio supports a consume-first mode which developers can opt into. In this mode, IntelliSense does not auto-complete identifiers; this allows the developer to use undefined identifiers (like variable or method names) and define those later. Visual Studio 2010 can also help in this by automatically defining them, if it can infer their types from usage.[116] Current versions of Visual Studio have a known bug which makes IntelliSense unusable for projects using pure C (not C++).[117]

Visual Studio 2010 features a new Help System replacing the MSDN Library viewer. The Help System is no longer based on Microsoft Help 2 and does not use Microsoft Document Explorer. Dynamic help containing links to related help topics based on where the developer was in the IDE has been removed in the shipping product,[118] but can be added back using a download from Microsoft.[119]

Visual Studio 2010 no longer supports development for Windows Mobile prior to Windows Phone 7. Visual Studio 2010 Service Pack 1 was released in March 2011.[120]

Visual Studio Ultimate 2010 replaces Visual Studio 2008 Team Suite.[121] It includes new modeling tools,[122] such as the Architecture Explorer, which graphically displays projects and classes and the relationships between them.[68][123]
It supports UML activity diagram, component diagram, (logical) class diagram, sequence diagram, and use case diagram.[123] Visual Studio Ultimate 2010 also includes Test Impact Analysis which provides hints on which test cases are impacted by modifications to the source code, without actually running the test cases.[124] This speeds up testing by avoiding running unnecessary test cases.

Visual Studio Ultimate 2010 also includes a historical debugger for managed code called IntelliTrace. Unlike a traditional debugger that records only the currently active stack, IntelliTrace records all events, such as prior function calls, method parameters, events and exceptions. This allows the code execution to be rewound in case a breakpoint was not set where the error occurred.[125] Debugging with IntelliTrace causes the application to run more slowly than debugging without it, and uses more memory as additional data needs to be recorded. Microsoft allows configuration of how much data should be recorded, in effect, allowing developers to balance the speed of execution and resource usage. The Lab Management component of Visual Studio Ultimate 2010 uses virtualization to create a similar execution environment for testers and developers. The virtual machines are tagged with checkpoints which can later be investigated for issues, as well as to reproduce the issue.[126] Visual Studio Ultimate 2010 also includes the capability to record test runs that capture the specific state of the operating environment as well as the precise steps used to run the test. These steps can then be played back to reproduce issues.[127]

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.[131] 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.[132] However, on 15 June 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.[133] "Visual Studio 2012 Update 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).[134]

On 24 August 2011, a blog post by Sumit Kumar, a Program Manager on the Visual C++ team, listed some of the features of the upcoming version of the Visual Studio C++ IDE:[135]

Semantic colorization: Improved syntax coloring, various user-defined or default colors for C++ syntax such as macros, enumerations, typenames and functions.[135]

Reference highlighting: Selection of a symbol highlights all of the references to that symbol within scope.[135]

New Solution Explorer: The new Solution Explorer allows for visualization of class and file hierarchies within a solution/project. It can search for calls to functions and uses of classes.[135]

Automatic display of IntelliSense list: IntelliSense is automatically displayed whilst typing code, as opposed to previous versions where it had to be explicitly invoked through use of certain operators (i.e. the scope operator (::)) or shortcut keys (Ctrl-Space or Ctrl-J).[135]

Member list filtering: IntelliSense uses fuzzy logic to determine which functions/variables/types to display in the list.[135]

Code snippets: Code snippets are included in IntelliSense to automatically generate relevant code based on the user's parameters, custom code snippets can be created.[135]

The source code of Visual Studio 2012 consists of approximately 50 million lines of code.[136]

During Visual Studio 11 beta, Microsoft eliminated the use of color within tools except in cases where color is used for notification or status change purposes. However, the use of color was returned after feedback demanding more contrast, differentiation, clarity and "energy" in the user interface.[137][138]

In Visual Studio 2012 RC, a major change to the interface is the use of all-caps menu bar, as part of the campaign to keep Visual Studio consistent with the direction of other Microsoft user interfaces, and to provide added structure to the top menu bar area.[139] The redesign was criticized for being hard to read, and going against the trends started by developers to use CamelCase to make words stand out better.[140] Some speculated that the root cause of the redesign was to incorporate the simplistic look and feel of Metro programs.[141] However, there exists a Windows Registry option to allow users to disable the all-caps interface.[142]

The preview for Visual Studio 2013 was announced at the Build 2013 conference and made available on 26 June 2013.[143] The Visual Studio 2013 RC (Release Candidate) was made available to developers on MSDN on 9 September 2013.[144]

The final release of Visual Studio 2013 became available for download on 17 October 2013 along with .NET 4.5.1.[145] Visual Studio 2013 officially launched on 13 November 2013 at a virtual launch event keynoted by S. Somasegar and hosted on events.visualstudio.com.[146] "Visual Studio 2013 Update 1" (Visual Studio 2013.1) was released on 20 January 2014.[147]
Visual Studio 2013.1 is a targeted update that addresses some key areas of customer feedback.[148]
"Visual Studio 2013 Update 2" (Visual Studio 2013.2) was released on 12 May 2014.[149]
Visual Studio 2013 Update 3 was released on 4 August 2014. With this update, Visual Studio provides an option to disable the all-caps menus, which was introduced in VS2012.[150]
"Visual Studio 2013 Update 4" (Visual Studio 2013.4) was released on 12 November 2014.[151]
"Visual Studio 2013 Update 5" (Visual Studio 2013.5) was released on 20 July 2015.[152]

Visual Studio 2015 RTM was released on 20 July 2015.[155] Visual Studio 2015 Update 1 was released on 30 November 2015.[156] Visual Studio 2015 Update 2 was released on 30 March 2016.[157] Visual Studio 2015 Update 3 was released on 27 June 2016.[158]

Initially referred to as Visual Studio "15", it was released on 7 March 2017.[159] The first Preview was released on 30 March 2016.[160] Visual Studio "15" Preview 2 was released 10 May 2016.[161][162] Visual Studio "15" Preview 3 was released on 7 July 2016.[163][164] Visual Studio "15" Preview 4 was released on 22 August 2016.[165][166] Visual Studio "15" Preview 5 was released on 5 October 2016.[167]

On December 4, 2017, Visual Studio 15.5 was released. This update contained major performance improvements, new features, as well as bug fixes.[173]

On March 6, 2018, Visual Studio 15.6 was released. It includes updates to unit testing and performance.[174]

On May 7, 2018, Visual Studio 15.7 was released. It included updates across the board including, the installer, editor, debugger among others. Almost all point releases, the latest of which is 15.7.6 released August 2, 2018, include security updates. With the release of Visual Studio 2017 15.7, Visual C++ now conforms to the C++17 standard.[40]

On 20 September 2018, Visual Studio 15.8.5 was released. it Provides Tools for Xamarin now supports Xcode 10.
[175]

Visual Studio 2017 offers new features like support for EditorConfig (a coding style enforcement framework), NGen support, .NET Core and Docker toolset (Preview), and Xamarin 4.3 (Preview).[171] It also has a XAML Editor, improved IntelliSense, live unit testing, debugging enhancement and better IDE experience and productivity.[176]

On 13 November 2013, Microsoft announced the release of a software as a service offering of Visual Studio on Microsoft Azure platform; at the time, Microsoft called it Visual Studio Online. Previously announced as Team Foundation Services, it expands over Team Foundation Server by making it available on the Internet and implementing a rolling release model.[178][179] Customers could use Azure portal to subscribe to Visual Studio Online. Subscribers receive a hosted Git-compatible version control system, a load-testing service, a telemetry service and an in-browser code editor codenamed "Monaco".[180] During the Connect(); 2015 developer event on 18 November 2015, Microsoft announced that the service was rebranded as "Visual Studio Team Services (VSTS)".[181] On 10 September 2018, Microsoft announced another rebranding of the service, this time to "Azure DevOps".[182]

Microsoft offers Basic, Professional, and Advanced subscription plans for Azure DevOps. The Basic plan is free of charge for up to five users. Users with an MSDN subscription of Visual Studio can be added to a plan with no additional charge.[183]

In Visual Studio 2005 and Visual Studio 2008, the brand was known as Microsoft Visual Studio Team System (VSTS). In October 2009, the Team System brand was renamed[122][186] Visual Studio ALM with the Visual Studio 2010 (codenamed 'Rosario') release.[187]

Visual Studio Team Services debuted as Visual Studio Online in 2013 and was renamed in 2015.[188]

LightSwitch includes graphical designers for designing entities and entity relationships, entity queries, and UI screens. Business logic may be written in either Visual Basic or Visual C#. LightSwitch is included with Visual Studio 2012 Professional and higher. Visual Studio 2015 is the last release of Visual Studio that includes the LightSwitch tooling.[193]

The user interface layer is now an optional component when deploying a LightSwitch solution, allowing a service-only deployment.[194]

The first version of Visual Studio LightSwitch, released 26 July 2011,[195] had many differences from the current[when?] release of LightSwitch. Notably the tool was purchased and installed as a stand-alone product. If Visual Studio 2010 Professional or higher was already installed on the machine, LightSwitch would integrate into that.[196] The second major difference was the middle tier was built and exposed using WCF RIA Services.

As of 14 October 2016, Microsoft no longer recommends LightSwitch for new application development.[197]

Visual Studio Team System Profiler (VSTS Profiler) is a tool to analyze the performance of .NET projects that analyzes the space and time complexity of the program.[201] It analyzes the code and prepares a report that includes CPU sampling, instrumentation, .NET memory allocation and resource contention.[202]

1.
Microsoft
–
Its best known software products are the Microsoft Windows line of operating systems, Microsoft Office office suite, and Internet Explorer and Edge web browsers. Its flagship hardware products are the Xbox video game consoles and the Microsoft Surface tablet lineup, as of 2016, it was the worlds largest software maker by revenue, and one of the worlds most valuable companies. Microsoft was founded by Paul Allen and Bill Gates on April 4,1975, to develop and it rose to dominate the personal computer operating system market with MS-DOS in the mid-1980s, followed by Microsoft Windows. The companys 1986 initial public offering, and subsequent rise in its share price, since the 1990s, it has increasingly diversified from the operating system market and has made a number of corporate acquisitions. In May 2011, Microsoft acquired Skype Technologies for $8.5 billion, in June 2012, Microsoft entered the personal computer production market for the first time, with the launch of the Microsoft Surface, a line of tablet computers. The word Microsoft is a portmanteau of microcomputer and software, Paul Allen and Bill Gates, childhood friends with a passion for computer programming, sought to make a successful business utilizing their shared skills. In 1972 they founded their first company, named Traf-O-Data, which offered a computer that tracked and analyzed automobile traffic data. Allen went on to pursue a degree in science at Washington State University. The January 1975 issue of Popular Electronics featured Micro Instrumentation and Telemetry Systemss Altair 8800 microcomputer, Allen suggested that they could program a BASIC interpreter for the device, after a call from Gates claiming to have a working interpreter, MITS requested a demonstration. Since they didnt actually have one, Allen worked on a simulator for the Altair while Gates developed the interpreter and they officially established Microsoft on April 4,1975, with Gates as the CEO. Allen came up with the name of Micro-Soft, as recounted in a 1995 Fortune magazine article. In August 1977 the company formed an agreement with ASCII Magazine in Japan, resulting in its first international office, the company moved to a new home in Bellevue, Washington in January 1979. Microsoft entered the OS business in 1980 with its own version of Unix, however, it was MS-DOS that solidified the companys dominance. For this deal, Microsoft purchased a CP/M clone called 86-DOS from Seattle Computer Products, branding it as MS-DOS, following the release of the IBM PC in August 1981, Microsoft retained ownership of MS-DOS. Since IBM copyrighted the IBM PC BIOS, other companies had to engineer it in order for non-IBM hardware to run as IBM PC compatibles. Due to various factors, such as MS-DOSs available software selection, the company expanded into new markets with the release of the Microsoft Mouse in 1983, as well as with a publishing division named Microsoft Press. Paul Allen resigned from Microsoft in 1983 after developing Hodgkins disease, while jointly developing a new OS with IBM in 1984, OS/2, Microsoft released Microsoft Windows, a graphical extension for MS-DOS, on November 20,1985. Once Microsoft informed IBM of NT, the OS/2 partnership deteriorated, in 1990, Microsoft introduced its office suite, Microsoft Office

2.
Computer program
–
A computer program is a collection of instructions that performs a specific task when executed by a computer. A computer requires programs to function, and typically executes the programs instructions in a processing unit. A computer program is written by a computer programmer in a programming language. From the program in its form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute. Alternatively, a program may be executed with the aid of an interpreter. A part of a program that performs a well-defined task is known as an algorithm. A collection of programs, libraries and related data are referred to as software. Computer programs may be categorized along functional lines, such as software or system software. The earliest programmable machines preceded the invention of the digital computer, in 1801, Joseph-Marie Jacquard devised a loom that would weave a pattern by following a series of perforated cards. Patterns could be weaved and repeated by arranging the cards, in 1837, Charles Babbage was inspired by Jacquards loom to attempt to build the Analytical Engine. The names of the components of the device were borrowed from the textile industry. In the textile industry, yarn was brought from the store to be milled, the device would have had a store—memory to hold 1,000 numbers of 40 decimal digits each. Numbers from the store would then have then transferred to the mill. It was programmed using two sets of perforated cards—one to direct the operation and the other for the input variables, however, after more than 17,000 pounds of the British governments money, the thousands of cogged wheels and gears never fully worked together. During a nine-month period in 1842–43, Ada Lovelace translated the memoir of Italian mathematician Luigi Menabrea, the memoir covered the Analytical Engine. The translation contained Note G which completely detailed a method for calculating Bernoulli numbers using the Analytical Engine and this note is recognized by some historians as the worlds first written computer program. In 1936, Alan Turing introduced the Universal Turing machine—a theoretical device that can model every computation that can be performed on a Turing complete computing machine and it is a finite-state machine that has an infinitely long read/write tape. The machine can move the back and forth, changing its contents as it performs an algorithm

3.
Systems development life cycle
–
The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. Computer systems are complex and often link multiple traditional systems potentially supplied by different software vendors, SDLC can be described along a spectrum of agile to iterative to sequential. Agile methodologies, such as XP and Scrum, focus on processes which allow for rapid changes along the development cycle. Iterative methodologies, such as Rational Unified Process and dynamic systems development method, focus on limited project scope, sequential or big-design-up-front models, such as waterfall, focus on complete and correct planning to guide large projects and risks to successful and predictable results. Other models, such as development, tend to focus on a form of development that is guided by project scope. In project management a project can be defined both with a life cycle and an SDLC, during which slightly different activities occur. According to Taylor, the life cycle encompasses all the activities of the project. SDLC is used during the development of an IT project, it describes the different stages involved in the project from the drawing board, through the completion of the project. The product life cycle describes the process for building systems in a very deliberate, structured and methodical way. Information systems activities revolved around heavy data processing and number crunching routines, the system development life cycle framework provides a sequence of activities for system designers and developers to follow. It consists of a set of steps or phases in which phase of the SDLC uses the results of the previous one. The SDLC adheres to important phases that are essential for developers, such as planning, analysis, design, and implementation and it includes evaluation of present system, information gathering, feasibility study and request approval. A number of SDLC models have been created, waterfall, fountain, spiral, build and fix, rapid prototyping, incremental, synchronize and stabilize. The oldest of these, and the best known, is the waterfall model, conduct the preliminary analysis, in this step, you need to find out the organizations objectives and the nature and scope of the problem under study. Even if a problem only to a small segment of the organization itself. Then you need to see how the problem being studied fits in with them, propose alternative solutions, In digging into the organizations objectives and specific problems, you may have already covered some solutions. Alternate proposals may come from interviewing employees, clients, suppliers and you can also study what competitors are doing. With this data, you will have three choices, leave the system as is, improve it, or develop a new system, Systems analysis, requirements definition, Defines project goals into defined functions and operation of the intended application

4.
Operating system
–
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require a system to function. Operating systems are found on many devices that contain a computer – from cellular phones, the dominant desktop operating system is Microsoft Windows with a market share of around 83. 3%. MacOS by Apple Inc. is in place, and the varieties of Linux is in third position. Linux distributions are dominant in the server and supercomputing sectors, other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can run one program at a time. Multi-tasking may be characterized in preemptive and co-operative types, in preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, e. g. Solaris, Linux, cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking, 32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem, a distributed operating system manages a group of distinct computers and makes them appear to be a single computer. The development of networked computers that could be linked and communicate with each other gave rise to distributed computing, distributed computations are carried out on more than one machine. When computers in a work in cooperation, they form a distributed system. The technique is used both in virtualization and cloud computing management, and is common in large server warehouses, embedded operating systems are designed to be used in embedded computer systems. They are designed to operate on small machines like PDAs with less autonomy and they are able to operate with a limited number of resources. They are very compact and extremely efficient by design, Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is a system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could run different programs in succession to speed up processing

5.
Graphical user interface
–
GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces, which require commands to be typed on a computer keyboard. The actions in a GUI are usually performed through direct manipulation of the graphical elements, beyond computers, GUIs are used in many handheld mobile devices such as MP3 players, portable media players, gaming devices, smartphones and smaller household, office and industrial controls. Designing the visual composition and temporal behavior of a GUI is an important part of application programming in the area of human–computer interaction. Its goal is to enhance the efficiency and ease of use for the logical design of a stored program. Methods of user-centered design are used to ensure that the language introduced in the design is well-tailored to the tasks. The visible graphical interface features of an application are sometimes referred to as chrome or GUI, typically, users interact with information by manipulating visual widgets that allow for interactions appropriate to the kind of data they hold. The widgets of an interface are selected to support the actions necessary to achieve the goals of users. A model–view–controller allows a structure in which the interface is independent from and indirectly linked to application functions. This allows users to select or design a different skin at will, good user interface design relates to users more, and to system architecture less. Large widgets, such as windows, usually provide a frame or container for the main presentation content such as a web page, smaller ones usually act as a user-input tool. A GUI may be designed for the requirements of a market as application-specific graphical user interfaces. By the 1990s, cell phones and handheld game systems also employed application specific touchscreen GUIs, newer automobiles use GUIs in their navigation systems and multimedia centers, or navigation multimedia center combinations. Sample graphical desktop environments A GUI uses a combination of technologies and devices to provide a platform that users can interact with, a series of elements conforming a visual language have evolved to represent information stored in computers. This makes it easier for people with few computer skills to work with, the most common combination of such elements in GUIs is the windows, icons, menus, pointer paradigm, especially in personal computers. The WIMP style of interaction uses a virtual device to represent the position of a pointing device, most often a mouse. Available commands are compiled together in menus, and actions are performed making gestures with the pointing device, a window manager facilitates the interactions between windows, applications, and the windowing system. The windowing system handles hardware devices such as pointing devices, graphics hardware, window managers and other software combine to simulate the desktop environment with varying degrees of realism. Smaller mobile devices such as personal assistants and smartphones typically use the WIMP elements with different unifying metaphors, due to constraints in space

6.
Mobile app
–
A mobile application software or mobile app is an application software designed to run on mobile devices such as smartphones and tablet computers. Some pre-installed apps can be removed by an ordinary uninstall process, where the software does not allow this, some devices can be rooted to eliminate the undesired apps. Native mobile apps often stand in contrast to desktop applications that run on desktop computers, Apps that are not preinstalled are usually available through distribution platforms called app stores. They began appearing in 2008 and are operated by the owner of the mobile operating system, such as the Apple App Store, Google Play, Windows Phone Store. Some apps are free, while others must be bought, usually, they are downloaded from the platform to a target device, but sometimes they can be downloaded to laptops or desktop computers. For apps with a price, generally a percentage, 20-30%, goes to the provider. The same app can therefore cost a different price depending on the mobile platform, the term app is a shortening of the term application software. It has become popular, and in 2010 was listed as Word of the Year by the American Dialect Society. In 2009, technology columnist David Pogue said that newer smartphones could be nicknamed app phones to distinguish them from earlier less-sophisticated smartphones, Mobile apps were originally offered for general productivity and information retrieval, including email, calendar, contacts, stock market and weather information. However, public demand and the availability of developer tools drove rapid expansion into other categories, in 2014 government regulatory agencies began trying to regulate and curate apps, particularly medical apps. Some companies offer apps as a method to deliver content with certain advantages over an official website. Usage of mobile apps has become increasingly prevalent across mobile phone users, a May 2012 comScore study reported that during the previous quarter, more mobile subscribers used apps than browsed the web on their devices,51. 1% vs.49. 8% respectively. Researchers found that usage of mobile apps strongly correlates with user context and depends on users location, Mobile apps are playing an ever-increasing role within healthcare and when designed and integrated correctly can yield many benefits. Market research firm Gartner predicted that 102 billion apps would be downloaded in 2013, by Q22015, the Google Play and Apple stores alone generated $5 billion. Developing apps for mobile devices requires considering the constraints and features of these devices, Mobile devices run on battery and have less powerful processors than personal computers and also have more features such as location detection and cameras. Developers also have to consider an array of screen sizes, hardware specifications and configurations because of intense competition in mobile software. Mobile application development requires use of specialized integrated development environments, Mobile apps are first tested within the development environment using emulators and later subjected to field testing. Emulators provide a way to test applications on mobile phones to which developers may not have physical access

7.
Website
–
A website is a collection of related web pages, including multimedia content, typically identified with a common domain name, and published on at least one web server. A website may be accessible via a public Internet Protocol network, such as the Internet, or a local area network. Websites have many functions and can be used in various fashions, a website can be a website, a commercial website for a company. Websites are typically dedicated to a topic or purpose, ranging from entertainment and social networking to providing news. All publicly accessible websites collectively constitute the World Wide Web, while private websites, Web pages, which are the building blocks of websites, are documents, typically composed in plain text interspersed with formatting instructions of Hypertext Markup Language. They may incorporate elements from other websites with suitable markup anchors, Web pages are accessed and transported with the Hypertext Transfer Protocol, which may optionally employ encryption to provide security and privacy for the user. The users application, often a web browser, renders the page content according to its HTML markup instructions onto a display terminal. Hyperlinking between web pages conveys to the reader the site structure and guides the navigation of the site, Some websites require user registration or subscription to access content. As of 2016 end users can access websites on a range of devices, including desktop and laptop computers, tablet computers, smartphones, the World Wide Web was created in 1990 by the British CERN physicist Tim Berners-Lee. On 30 April 1993, CERN announced that the World Wide Web would be free to use for anyone, before the introduction of HTML and HTTP, other protocols such as File Transfer Protocol and the gopher protocol were used to retrieve individual files from a server. These protocols offer a directory structure which the user navigates and chooses files to download. Documents were most often presented as text files without formatting. Websites have many functions and can be used in various fashions, a website can be a website, a commercial website. Websites can be the work of an individual, a business or other organization, any website can contain a hyperlink to any other website, so the distinction between individual sites, as perceived by the user, can be blurred. Websites are written in, or converted to, HTML and are accessed using a software interface classified as a user agent. Web pages can be viewed or otherwise accessed from a range of computer-based and Internet-enabled devices of various sizes, including computers, laptops, PDAs. A website is hosted on a system known as a web server. These terms can refer to the software that runs on these systems which retrieves

8.
HTML
–
Hypertext Markup Language is the standard markup language for creating web pages and web applications. With Cascading Style Sheets and JavaScript it forms a triad of cornerstone technologies for the World Wide Web, Web browsers receive HTML documents from a webserver or from local storage and render them into multimedia web pages. HTML describes the structure of a web page semantically and originally included cues for the appearance of the document, HTML elements are the building blocks of HTML pages. With HTML constructs, images and other objects, such as interactive forms and it provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. HTML elements are delineated by tags, written using angle brackets, tags such as <img /> and <input /> introduce content into the page directly. Include explicit close tags for elements that permit content but are left empty, by carefully following the W3Cs compatibility guidelines, a user agent should be able to interpret the document equally as HTML or XHTML. For documents that are XHTML1.0 and have made compatible in this way. When delivered as XHTML, browsers should use an XML parser, HTML4 defined three different versions of the language, Strict, Transitional and Frameset. The Transitional and Frameset versions allow for presentational markup, which is omitted in the Strict version, instead, cascading style sheets are encouraged to improve the presentation of HTML documents. Because XHTML1 only defines an XML syntax for the language defined by HTML4, as this list demonstrates, the loose versions of the specification are maintained for legacy support. However, contrary to popular misconceptions, the move to XHTML does not imply a removal of this legacy support, rather the X in XML stands for extensible and the W3C is modularizing the entire specification and opening it up to independent extensions. The primary achievement in the move from XHTML1.0 to XHTML1.1 is the modularization of the entire specification, the strict version of HTML is deployed in XHTML1.1 through a set of modular extensions to the base XHTML1.1 specification. Likewise, someone looking for the loose or frameset specifications will find similar extended XHTML1.1 support, the modularization also allows for separate features to develop on their own timetable. So for example, XHTML1.1 will allow quicker migration to emerging XML standards such as MathML, in summary, the HTML4 specification primarily reined in all the various HTML implementations into a single clearly written specification based on SGML. XHTML1.0, ported this specification, as is, next, XHTML1.1 takes advantage of the extensible nature of XML and modularizes the whole specification. XHTML2.0 was intended to be the first step in adding new features to the specification in a standards-body-based approach. The WHATWG considers their work as living standard HTML for what constitutes the state of the art in major browser implementations by Apple, Google, Mozilla, Opera, hTML5 is specified by the HTML Working Group of the W3C following the W3C process. HTML lacks some of the found in earlier hypertext systems, such as source tracking, fat links

9.
Cascading Style Sheets
–
Cascading Style Sheets is a style sheet language used for describing the presentation of a document written in a markup language. It can also display the web page differently depending on the size or viewing device. Readers can also specify a different style sheet, such as a CSS file stored on their own computer, to override the one the author specified. Changes to the design of a document can be applied quickly and easily, by editing a few lines in the CSS file they use. The CSS specification describes a priority scheme to determine which style rules apply if more than one rule matches against a particular element, in this so-called cascade, priorities are calculated and assigned to rules, so that the results are predictable. The CSS specifications are maintained by the World Wide Web Consortium, Internet media type text/css is registered for use with CSS by RFC2318. The W3C operates a free CSS validation service for CSS documents, CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties. A style sheet consists of a list of rules, each rule or rule-set consists of one or more selectors, and a declaration block. In CSS, selectors declare which part of the markup a style applies to by matching tags, Selectors may apply to, all elements of a specific type, e. g. Classes and IDs are case-sensitive, start with letters, and can include alphanumeric characters and underscores. A class may apply to any number of instances of any elements, an ID may only be applied to a single element. Pseudo-classes are used in CSS selectors to permit formatting based on information that is not contained in the document tree. One example of a widely used pseudo-class is, hover, which identifies content only when the points to the visible element. It is appended to a selector as in a, hover or #elementid, a pseudo-class classifies document elements, such as, link or, visited, whereas a pseudo-element makes a selection that may consist of partial elements, such as, first-line or, first-letter. Selectors may be combined in ways to achieve great specificity and flexibility. Multiple selectors may be joined in a spaced list to specify elements by location, element type, id, class, the order of the selectors is important. For example, div. myClass applies to all elements of class myClass that are inside div elements, the following table provides a summary of selector syntax indicating usage and the version of CSS that introduced it. A declaration block consists of a list of declarations in braces, each declaration itself consists of a property, a colon, and a value. If there are multiple declarations in a block, a semi-colon must be inserted to separate each declaration, properties are specified in the CSS standard

10.
Visual Basic .NET
–
Visual Basic. NET is a multi-paradigm, object-oriented programming language, implemented on the. NET Framework. Microsoft launched VB. NET in 2002 as the successor to its original Visual Basic language, along with Visual C#, it is one of the two main languages targeting the. NET framework. Microsofts integrated development environment for developing in Visual Basic. NET language is Visual Studio, most of Visual Studio editions are commercial, the only exceptions are Visual Studio Express and Visual Studio Community, which are freeware. In addition. NET Framework SDK includes a freeware command-line compiler called vbc. exe, mono also includes a command-line VB. NET compiler. VB. NET uses statements to specify actions, the most common statement is an expression statement, consisting of an expression to be evaluated, on a single line. As part of evaluation, functions or subroutines may be called. To modify the normal execution of statements, VB. NET provides several control-flow statements identified by reserved keywords. Structured programming is supported by several constructs including two conditional execution constructs and three iterative execution constructs, the For … To statement has separate initialisation and testing sections, both of which must be present. The For Each statement steps through each value in a list, in addition, in Visual Basic. NET, There is no unified way of defining blocks of statements. Instead, certain keywords, such as If … Then or Sub are interpreted as starters of sub-blocks of code and have matching termination keywords such as End If or End Sub, statements are terminated either with a colon or with the end of line. Multiple line statements in Visual Basic. NET are enabled with _ at the end of such line. The need for the underscore continuation character was removed in version 10. The equals sign is used in both assigning values to variable and in comparison, round brackets are used with arrays, both to declare them and to get a value at a given index in one of them. Visual Basic. NET uses round brackets to define the parameters of subroutines or functions, the following is a very simple VB. NET program, a version of the classic Hello world example created as a console application, It prints Hello world. Each line serves a purpose, as follows, This is a module definition. Modules serve as containers of code that can be referenced from other parts of a program and it defines a subroutine called Main. Main is the point, where the program begins execution. This line performs the task of writing the output

11.
C++
–
C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation and it was designed with a bias toward system programming and embedded, resource-constrained and large systems, with performance, efficiency and flexibility of use as its design highlights. C++ is a language, with implementations of it available on many platforms and provided by various organizations, including the Free Software Foundation, LLVM, Microsoft, Intel. C++ is standardized by the International Organization for Standardization, with the latest standard version ratified and published by ISO in December 2014 as ISO/IEC14882,2014. The C++ programming language was standardized in 1998 as ISO/IEC14882,1998. The current C++14 standard supersedes these and C++11, with new features, the C++17 standard is due in 2017, with the draft largely implemented by some compilers already, and C++20 is the next planned standard thereafter. Many other programming languages have influenced by C++, including C#, D, Java. In 1979, Bjarne Stroustrup, a Danish computer scientist, began work on C with Classes, the motivation for creating a new language originated from Stroustrups experience in programming for his Ph. D. thesis. When Stroustrup started working in AT&T Bell Labs, he had the problem of analyzing the UNIX kernel with respect to distributed computing, remembering his Ph. D. experience, Stroustrup set out to enhance the C language with Simula-like features. C was chosen because it was general-purpose, fast, portable, as well as C and Simulas influences, other languages also influenced C++, including ALGOL68, Ada, CLU and ML. Initially, Stroustrups C with Classes added features to the C compiler, Cpre, including classes, derived classes, strong typing, inlining, furthermore, it included the development of a standalone compiler for C++, Cfront. In 1985, the first edition of The C++ Programming Language was released, the first commercial implementation of C++ was released in October of the same year. In 1989, C++2.0 was released, followed by the second edition of The C++ Programming Language in 1991. New features in 2.0 included multiple inheritance, abstract classes, static functions, const member functions. In 1990, The Annotated C++ Reference Manual was published and this work became the basis for the future standard. Later feature additions included templates, exceptions, namespaces, new casts, after a minor C++14 update released in December 2014, various new additions are planned for 2017 and 2020. According to Stroustrup, the name signifies the nature of the changes from C. This name is credited to Rick Mascitti and was first used in December 1983, when Mascitti was questioned informally in 1992 about the naming, he indicated that it was given in a tongue-in-cheek spirit

12.
Node.js
–
Node. js is an open-source, cross-platform JavaScript runtime environment for developing a diverse variety of server tools and applications. Although Node. js is not a JavaScript framework, many of its modules are written in JavaScript. The runtime environment interprets JavaScript using Googles V8 JavaScript engine, Node. js has an event-driven architecture capable of asynchronous I/O. These design choices aim to optimize throughput and scalability in Web applications with many input/output operations, the Node. js distributed development project, governed by the Node. js Foundation, is facilitated by the Linux Foundations Collaborative Projects program. Corporate users of Node. js software include GoDaddy, Groupon, IBM, LinkedIn, Microsoft, Netflix, PayPal, Rakuten, SAP, Voxer, Walmart, Yahoo. Node. js was originally written in 2009 by Ryan Dahl. The initial release supported only Linux and Mac OSX and its development and maintenance was led by Dahl and later sponsored by Joyent. Dahl was inspired to create Node. js after seeing a file upload progress bar on Flickr, the browser did not know how much of the file had been uploaded and had to query the Web server. Dahl demonstrated the project at the inaugural European JSConf on November 8,2009, Node. js combined Googles V8 JavaScript engine, an event loop and a low-level I/O API. The project received a standing ovation, in January 2010, a package manager was introduced for the Node. js environment called npm. The package manager makes it easier for programmers to publish and share code of Node. js libraries and is designed to simplify installation, updating. In June 2011, Microsoft and Joyent implemented a native Windows version of Node. js, the first Node. js build supporting Windows was released in July 2011. In January 2012, Dahl stepped aside, promoting coworker and npm creator Isaac Schlueter to manage the project, in January 2014, Schlueter announced that Timothy J. Fontaine would lead the project. In December 2014, Fedor Indutny started io. js, a fork of Node. js, due to the internal conflict over Joyents governance, io. js was created as an open governance alternative with a separate technical committee. Unlike Node. js, the authors planned to keep io. js up-to-date with the latest releases of the Google V8 JavaScript engine, in February 2015, the intent to form a neutral Node. js Foundation was announced. By June 2015, the Node. js and io. js communities voted to work together under the Node. js Foundation, in September 2015, Node. js v0.12 and io. js v3.3 were merged back together into Node v4.0. This brought V8 ES6 features into Node. js, and a long-term support release cycle, as of 2016, the io. js website recommends that developers switch back to Node. js and that no further releases of io. js are planned due to the merger. Node. js allows the creation of Web servers and networking tools using JavaScript, modules are provided for file system I/O, networking, binary data, cryptography functions, data streams and other core functions. Node. jss modules use an API designed to reduce the complexity of writing server applications, Node. js applications can run on Linux, macOS, Microsoft Windows, NonStop, and Unix servers