You are on page 1of 22

Visual Programming Languages

Introduction to .NET

1
Objectives
You will learn about;
• Visual Programming
• Microsoft’s .NET
– NET Framework
– Common Language Runtime
– Managed Code
– Platform Independence
– Language Interoperability
• .NET Architecture & its Components

2
Visual Programming Languages
• Create programs by manipulating program elements graphically rather
than by specifying them textually.
• Dataflow or diagrammatic programming
• Programming with visual expressions, spatial arrangements of text and
graphic symbols, used as elements of syntax.

Example:
Scratch
a product of MIT, designed for children in K-12 and after-school programs

3
Microsoft Visual Languages
• Microsoft has utilized the term "Visual" in its programming products to
reflect that a large degree of development in these languages can be
performed by "dragging and dropping" in a traditional wysiwyg fashion.

Example:
The "visual languages“ of Microsoft includes Visual Basic, Visual C#, Visual
J#, etc.

4
Microsoft’s .NET
A broad vision for using the Internet and the web in the development,
engineering, distribution and use of software.

• Internet-oriented
• Microsoft announced its .NET initiative in 2000
• Create apps in any .NET-compatible language (C#, Visual Basic, Visual C++)
• Microsoft’s ASP.NET technology

5
Microsoft’s .NET
There are four primary .NET implementations that Microsoft actively develops
and maintains:
1. .NET Core
cross-platform implementation of .NET
2. .NET Framework
original .NET implementation 
3. Mono
free and open-source project to create .NET Framework-compatible
software
4. UWP (Universal Windows Platform)
unify different types of devices and builds modern, touch-enabled
Windows applications for IoT

6
.NET Framework
.NET Framework is a software framework developed by Microsoft that runs
primarily on Microsoft Windows.

• Executes apps and contains the .NET Framework Class Library


• Built-in tools for developing, installing and executing different types of
applications
• Console, Windows, Web application and Mobile based applications

7
.NET Framework Architecture

8
Components of .NET Framework Architecture
.NET Framework mainly contains following component

• .Net Framework Class Library


• Common Type System
• Common Language Specification
• Common Language Runtime (CLR)

9
.Net Framework Class Library
A vast collection of prebuilt classes
• It is a library of reusable classes, interfaces, value types and components
(API) that provide access to system functionality.
• It is the foundation on which .NET Framework applications, components,
and controls are built.

10
.Net Framework Class Library

11
Common Type System
• It is a standard that specifies how type definitions and specific values of
types are represented in computer memory.
• A framework that helps enable cross-language integration, type safety,
and high performance code execution
• It is intended to allow programs written in different programming
languages to easily share information.

12
Common Language Specification
• A Common Language Specification (CLS) is a document that says
how computer programs can be turned into Common Intermediate Language
(CIL) code.
• These are guidelines for languages to follow so that it can communicate with
other .NET languages in a seamless manner.
• When several languages use the same bytecode, different parts of a program
can be written in different languages. 
• Microsoft uses a Common Language Specification for their .NET Framework. 

13
Common Language Runtime (CLR)
The CLR is a virtual machine (VM)
• It is a software that manages the execution of programs and hides from
them the underlying operating system and hardware.
• It provides functionality to make programs easier to develop and debug
• It provides various services to managed code, such as
– integrating software components written in different .NET languages,
– error handling between components,
– enhanced security,
– automatic memory management and more

14
Managed & Unmanaged Code
Managed code
The source code for programs that are executed and managed by the CLR is
called managed code.
Managed Code contains
• Intermediate Language (IL)
• Metadata

Unmanaged code
Code which is developed outside .NET Framework 
Unmanaged-code programs do not have access to the CLR’s services, which
makes unmanaged code more difficult to write

15
Intermediate Language (IL) & Metadata
Intermediate Language (IL)
• It is the lowest-level human-readable programming language defined by the
Common Language Infrastructure specification
• Formerly called Microsoft Intermediate Language(MSIL)
• CPU independent machine language

Metadata
• Structured information
• describes programming constructs including class definition, field and
method definitions, parameter lists, return types, etc.

16
Code Compilation & Execution
Source Code is compiled into machine-specific instructions in the following
steps:
1. First, the code is compiled into Microsoft Intermediate Language (MSIL).
Code converted into MSIL from other languages and sources can be
merged together by the CLR
2. When the app executes, another compiler known as the JIT compiler
(just-in-time compiler) in the CLR translates the MSIL in the executable
file into machine-language code (for a particular platform). Just-in-time
compiler, compiles the IL and metadata at runtime
3. The machine-language code executes on that platform.

17
Code Compilation & Execution

18
Code Compilation & Execution

19
.NET Framework Versions
Version No. CLR version Release date Development tool
1.0 1.0 2002-02-13 Visual Studio .NET
1.1 1.1 2003-04-24 Visual Studio .NET 2003
2.0 2.0 2005-11-07 Visual Studio 2005
3.0 2.0 2006-11-06 Expression Blend
3.5 2.0 2007-11-19 Visual Studio 2008
4.0 4 2010-04-12 Visual Studio 2010
4.5 4 2012-08-15 Visual Studio 2012
4.5.1 4 2013-10-17 Visual Studio 2013
4.5.2 4 2014-05-05 N/A
4.6 4 2015-07-20 Visual Studio 2015
4.6.1 4 2015-11-30 Visual Studio 2015 Update 1
4.6.2 4 2016-08-02
4.7 4 2017-04-05 Visual Studio 2017

20
.Net Framework Features
Platform Independence
• The ability of a program to run without modification across multiple
platforms is known as platform independence.
• Code written once can be used on another type of computer without
modification, saving time and money.

Language Interoperability
• MSIL allows the .NET Framework to be language independent.
• Software components written in different .NET languages can be
combined to create a single unified program.

21
Thank you

22

You might also like