SlideShare a Scribd company logo
Part 2
Introduction to
Programming in .NET
Learning Objectives Overview
Lecturer: Jareed Eve;2
 .NET Languages
 Different types of .NET frameworks architectures
 Common Language Infrastructure (CLI),
Assemblies, Metadata, Security, Memory
Management, Class Library*
 Framework Versions (4, 3.5, 3, 2, etc.)
 Common Language Runtime*, .NET Class Libraries
 .NET Framework Components
 The Common Language Runtime
 The Class Library
.NET Languages /1
Lecturer: Jareed Eve;3
 A#
 A# is a port of the Ada programming language. A# is freely distributed by the Department
of Computer Science at the United States Air Force Academy as a service to the Ada
community under the terms of the GNU General Public License.
 Ada was originally designed by a team led by Jean Ichbiah of CII Honeywell Bull under
contract to the United States Department of Defense (DoD) from 1977 to 1983 to
supersede the hundreds of programming languages then used by the DoD.
 C#
 Developed by Microsoft, C# is intended to be a simple, modern, general-purpose, object-
oriented programming language.
 It was developed by Microsoft within its .NET initiative and later approved as a standard
by Ecma and ISO.
 F#
 F# is developed by The F# Software Foundation and Microsoft
 An open-source, strongly typed, multi-paradigm programming language. F# is most often
used as a cross-platform CLI language, but can also be used to generate JavaScript and
GPU code.
 L#
 The language was designed by Rob Blackwell, as was its first implementation.
 L# .NET is a dynamic computer programming language intended to be compiled and
executed on the Ecma-334 and Ecma-335 Common Language Infrastructure (CLI). It is a
dialect of Lisp, adapted from Paul Graham's proposed Arc language.
.NET Languages /2
Lecturer: Jareed Eve;4
 C++
 C++/CLI (Common Language Infrastructure) is a language specification
created by Microsoft and intended to supersede Managed Extensions
for C++.
 Boo
 Developed by Rodrigo B. De Oliveira, Boo is an object-oriented,
statically typed, general-purpose programming language that seeks to
make use of the Common Language Infrastructure's support for Unicode,
internationalization, and web applications, while using a Python-inspired
syntax and a special focus on language and compiler extensibility.
 Cobra
 Cobra is an Object Oriented language designed by Charles Esterbrook
 It is strongly influenced by Python,C#, Eiffel, Objective-C, and other
programming languages
 Cobra is an open-source project; it was released under the MIT License
on February 29, 2008.
 JScript .NET
 Developed by Microsoft, JScript has a strong foundation in Microsoft's
ActiveX/COM technologies, and relies primarily on ActiveX components
to provide much of its functionality (including database access via ADO,
file handling, etc.), whereas JScript .NET uses the .NET Framework to
provide equivalent functionality.
.NET Languages /3
Lecturer: Jareed Eve;5
 IronPython, IronRuby
 IronPython is an implementation of the Python programming language
targeting the .NET Framework
 Jim Hugunin created the project and actively contributed to it up until
Version 1.0 which was released on September 5, 2006. Thereafter, it was
maintained by a small team at Microsoft until the 2.7 Beta 1 release;
Microsoft abandoned IronPython (and its sister project IronRuby) in late
2010, after which event Hugunin left to work at Google. IronPython 2.0
was released on December 10, 2008.
 IronRuby is an implementation of the Ruby programming language
targeting Microsoft .NET framework
 Visual Basic.NET
 Visual Basic .NET (VB.NET) (created by Microsoft) is an object-oriented
computer programming language that can be viewed as an evolution of
the classic Visual Basic (VB), implemented on the .NET Framework
 IronLISP
 IronLisp was an implementation of the Lisp programming language
targeting the Microsoft .NET framework. It was developed and
announced by Xacc.ide on July 23, 2007. No further development will
take place on IronLisp.
.NET Frameworks Architectures
/1
Lecturer: Jareed Eve;6
 Common Language Infrastructure (CLI)
 This is an open specification developed by
Microsoft and standardized by ISO and
ECMA.
 It describes the executable code and runtime
environment that form the core of the
Microsoft .NET Framework and the free
and open source implementations Mono and
Portable.NET.
 The specification defines an environment
that allows multiple high-level languages to
be used on different computer platforms
without being rewritten for specific
Lecturer: Jareed Eve;7
.NET Frameworks Architectures
/2
Lecturer: Jareed Eve;8
 Common Language Infrastructure (CLI)
 Metadata
Describes the high-level structure of the code.
Metadata describes all classes and class members
that are defined in the assembly, and the classes
and class members that the current assembly will
call from another assembly.
 Common Language Specification (CLS)
A set of base rules to which any language targeting
the CLI should conform in order to interoperate with
other CLS-compliant languages. The CLS rules
define a subset of the Common Type System.
.NET Frameworks Architectures
/3
Lecturer: Jareed Eve;9
 Common Language Infrastructure (CLI)
 Common Type System (CTS)
A set of data types and operations that are shared
by all CTS-compliant programming languages.
 Virtual Execution System (VES)
The VES loads and executes CLI-compatible
programs, using the metadata to combine
separately generated pieces of code at runtime.
.NET Frameworks Architectures
/4
Lecturer: Jareed Eve;10
 Common Language Infrastructure (CLI)
Assembly
 An assembly in the Common Language
Infrastructure (CLI) is a compiled code library used
for deployment, versioning, and security.
 There are two types: process assemblies (EXE)
and
library assemblies (DLL).
 A process assembly represents a process that will
use classes defined in library assemblies.
 CLI assemblies contain code which is generated
from a CLI language, and then compiled into
machine language at run time by the just-in-time
compiler. In the .NET framework implementation,
this compiler is part of the Common Language
.NET Frameworks Architectures
/5
Lecturer: Jareed Eve;11
 Common Language Infrastructure (CLI)
Security
 .NET has its own security mechanism with 2 general
features:
 Code Access Security (CAS), and
 Validation and verification.
 Code Access Security is based on evidence that is
associated with a specific assembly.
 Typically the evidence is the source of the assembly.
 Code Access Security uses evidence to determine
the permissions granted to the code. Other code can
demand that calling code is granted a specified
permission.
.NET Frameworks Architectures
/5
Lecturer: Jareed Eve;12
 Common Language Infrastructure (CLI)
Memory Management
 Automatic memory management is one of the
services that the common language runtime
provides. The garbage collector manages the
allocation and release of memory for an application.
 Allocating Memory
When you initialize a new process, the runtime
reserves a contiguous region of address space for
the process.
 Releasing Memory
The garbage collector's optimizing engine
determines the best time to perform a collection
based on the allocations being made. When the
garbage collector performs a collection, it releases
.NET Frameworks Architectures
/6
Lecturer: Jareed Eve;13
Lecturer: Jareed Eve;14
Class Library
Lecturer: Jareed Eve;15
 The .NET Framework includes a set of standard class
libraries.
 The class library is organized in a hierarchy of
namespaces. Most of the built-in APIs are part of
either System.* or Microsoft.* namespaces.
 These class libraries implement a large number of
common functions, such as file reading and writing,
graphic rendering, database interaction, and XML
document manipulation, among others. The .NET
class libraries are available to all CLI compliant
languages.
 The .NET Framework class library is divided into two
parts:
 the Base Class Library and
 the Framework Class Library
Common Language Runtime /1
Lecturer: Jareed Eve;16
 The Common Language Runtime (CLR) is the
virtual machine component of Microsoft's .NET
framework and is responsible for managing the
execution of .NET programs.
 In a process known as Just-in-time compilation, the
compiled code is converted into machine instructions
that, in turn, are executed by the computer's CPU.
 The CLR provides additional services including
memory management, type safety and exception
handling. It provides exception handling, garbage
collection and thread management. CLR is common
to all versions of the .NET framework.
 The CLR is Microsoft's implementation of the
Common Language Infrastructure (CLI) standard.
Common Language Runtime /2
Lecturer: Jareed Eve;17
THE END
Lecturer: Jareed Eve;18
Lecturer: Jareed Eve;19

More Related Content

PPTX
01 intro to programming in .net
PPT
Introduction to .NET Framework
PPTX
Overview of .Net Framework
PPTX
Dotnet Frameworks Version History
PPT
Dotnet framework
PPTX
.Net framework
PPTX
Introduction of .net framework
PPTX
6.origins genesis of .net technology
01 intro to programming in .net
Introduction to .NET Framework
Overview of .Net Framework
Dotnet Frameworks Version History
Dotnet framework
.Net framework
Introduction of .net framework
6.origins genesis of .net technology

What's hot (17)

PPTX
PPTX
Introduction to .NET Programming
PPTX
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
PPT
Introduction .NET Framework
PPT
Introducation to C#
PPTX
Session i
PPTX
Overview of .Net Framework 4.5
PPT
.Net Overview
PPTX
3.0 Introduction to .NET Framework
PDF
Dot net
PPTX
.Net framework
PPT
c#.Net Windows application
PPT
Introduction to VB.net
PPT
Introduction to .NET Framework
PPT
Microsoft dot net framework
PPTX
Introduction to .net
DOCX
New microsoft office word document
Introduction to .NET Programming
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Introduction .NET Framework
Introducation to C#
Session i
Overview of .Net Framework 4.5
.Net Overview
3.0 Introduction to .NET Framework
Dot net
.Net framework
c#.Net Windows application
Introduction to VB.net
Introduction to .NET Framework
Microsoft dot net framework
Introduction to .net
New microsoft office word document
Ad

Viewers also liked (15)

PPT
20. Object-Oriented Programming Fundamental Principles
PPT
Architecture of .net framework
DOCX
Advanced System Analysis And Design
DOCX
Library Automation
DOC
construction of Reservation software solution for Airline Companies project ...
PDF
Dlis007 library automation
PDF
Dotnet basics
PPTX
Introduction to .NET Framework and C# (English)
PPSX
Introduction to .net framework
POTX
Library Management System
PPTX
La perdurabilidad en las empresas familiasde
PPTX
.NET Framework 4.0 – Changes & Benefits
DOCX
AUTOMATED LIBRARY MANAGEMENT SYSTEM
DOCX
Library Management System
DOC
Hospital management system
20. Object-Oriented Programming Fundamental Principles
Architecture of .net framework
Advanced System Analysis And Design
Library Automation
construction of Reservation software solution for Airline Companies project ...
Dlis007 library automation
Dotnet basics
Introduction to .NET Framework and C# (English)
Introduction to .net framework
Library Management System
La perdurabilidad en las empresas familiasde
.NET Framework 4.0 – Changes & Benefits
AUTOMATED LIBRARY MANAGEMENT SYSTEM
Library Management System
Hospital management system
Ad

Similar to 02 intro to programming in .net (part 2) (20)

PPTX
Chapter1_Part1.pptx
PPT
.Net framework
PPTX
.Net the begining
PPTX
PDF
Net framework
PPT
Introduction to .net
PPTX
.Net slid
PPTX
PPT
Inside .net framework
DOCX
PPTX
Dot net-interview-questions-and-answers part i
PDF
Dot net-interview-questions-and-answers part i
PDF
Future of .NET - .NET on Non Windows Platforms
PPTX
Introduction to C# Programming
PDF
.NET Core, ASP.NET Core Course, Session 3
PPT
Net framework
PPTX
Components of .NET Framework
PDF
Chapter1
PPTX
Presentation1
PPTX
Session2 (3)
Chapter1_Part1.pptx
.Net framework
.Net the begining
Net framework
Introduction to .net
.Net slid
Inside .net framework
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Future of .NET - .NET on Non Windows Platforms
Introduction to C# Programming
.NET Core, ASP.NET Core Course, Session 3
Net framework
Components of .NET Framework
Chapter1
Presentation1
Session2 (3)

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
A Presentation on Artificial Intelligence
PDF
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
A Presentation on Artificial Intelligence
Spectral efficient network and resource selection model in 5G networks

02 intro to programming in .net (part 2)

  • 2. Learning Objectives Overview Lecturer: Jareed Eve;2  .NET Languages  Different types of .NET frameworks architectures  Common Language Infrastructure (CLI), Assemblies, Metadata, Security, Memory Management, Class Library*  Framework Versions (4, 3.5, 3, 2, etc.)  Common Language Runtime*, .NET Class Libraries  .NET Framework Components  The Common Language Runtime  The Class Library
  • 3. .NET Languages /1 Lecturer: Jareed Eve;3  A#  A# is a port of the Ada programming language. A# is freely distributed by the Department of Computer Science at the United States Air Force Academy as a service to the Ada community under the terms of the GNU General Public License.  Ada was originally designed by a team led by Jean Ichbiah of CII Honeywell Bull under contract to the United States Department of Defense (DoD) from 1977 to 1983 to supersede the hundreds of programming languages then used by the DoD.  C#  Developed by Microsoft, C# is intended to be a simple, modern, general-purpose, object- oriented programming language.  It was developed by Microsoft within its .NET initiative and later approved as a standard by Ecma and ISO.  F#  F# is developed by The F# Software Foundation and Microsoft  An open-source, strongly typed, multi-paradigm programming language. F# is most often used as a cross-platform CLI language, but can also be used to generate JavaScript and GPU code.  L#  The language was designed by Rob Blackwell, as was its first implementation.  L# .NET is a dynamic computer programming language intended to be compiled and executed on the Ecma-334 and Ecma-335 Common Language Infrastructure (CLI). It is a dialect of Lisp, adapted from Paul Graham's proposed Arc language.
  • 4. .NET Languages /2 Lecturer: Jareed Eve;4  C++  C++/CLI (Common Language Infrastructure) is a language specification created by Microsoft and intended to supersede Managed Extensions for C++.  Boo  Developed by Rodrigo B. De Oliveira, Boo is an object-oriented, statically typed, general-purpose programming language that seeks to make use of the Common Language Infrastructure's support for Unicode, internationalization, and web applications, while using a Python-inspired syntax and a special focus on language and compiler extensibility.  Cobra  Cobra is an Object Oriented language designed by Charles Esterbrook  It is strongly influenced by Python,C#, Eiffel, Objective-C, and other programming languages  Cobra is an open-source project; it was released under the MIT License on February 29, 2008.  JScript .NET  Developed by Microsoft, JScript has a strong foundation in Microsoft's ActiveX/COM technologies, and relies primarily on ActiveX components to provide much of its functionality (including database access via ADO, file handling, etc.), whereas JScript .NET uses the .NET Framework to provide equivalent functionality.
  • 5. .NET Languages /3 Lecturer: Jareed Eve;5  IronPython, IronRuby  IronPython is an implementation of the Python programming language targeting the .NET Framework  Jim Hugunin created the project and actively contributed to it up until Version 1.0 which was released on September 5, 2006. Thereafter, it was maintained by a small team at Microsoft until the 2.7 Beta 1 release; Microsoft abandoned IronPython (and its sister project IronRuby) in late 2010, after which event Hugunin left to work at Google. IronPython 2.0 was released on December 10, 2008.  IronRuby is an implementation of the Ruby programming language targeting Microsoft .NET framework  Visual Basic.NET  Visual Basic .NET (VB.NET) (created by Microsoft) is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic (VB), implemented on the .NET Framework  IronLISP  IronLisp was an implementation of the Lisp programming language targeting the Microsoft .NET framework. It was developed and announced by Xacc.ide on July 23, 2007. No further development will take place on IronLisp.
  • 6. .NET Frameworks Architectures /1 Lecturer: Jareed Eve;6  Common Language Infrastructure (CLI)  This is an open specification developed by Microsoft and standardized by ISO and ECMA.  It describes the executable code and runtime environment that form the core of the Microsoft .NET Framework and the free and open source implementations Mono and Portable.NET.  The specification defines an environment that allows multiple high-level languages to be used on different computer platforms without being rewritten for specific
  • 8. .NET Frameworks Architectures /2 Lecturer: Jareed Eve;8  Common Language Infrastructure (CLI)  Metadata Describes the high-level structure of the code. Metadata describes all classes and class members that are defined in the assembly, and the classes and class members that the current assembly will call from another assembly.  Common Language Specification (CLS) A set of base rules to which any language targeting the CLI should conform in order to interoperate with other CLS-compliant languages. The CLS rules define a subset of the Common Type System.
  • 9. .NET Frameworks Architectures /3 Lecturer: Jareed Eve;9  Common Language Infrastructure (CLI)  Common Type System (CTS) A set of data types and operations that are shared by all CTS-compliant programming languages.  Virtual Execution System (VES) The VES loads and executes CLI-compatible programs, using the metadata to combine separately generated pieces of code at runtime.
  • 10. .NET Frameworks Architectures /4 Lecturer: Jareed Eve;10  Common Language Infrastructure (CLI) Assembly  An assembly in the Common Language Infrastructure (CLI) is a compiled code library used for deployment, versioning, and security.  There are two types: process assemblies (EXE) and library assemblies (DLL).  A process assembly represents a process that will use classes defined in library assemblies.  CLI assemblies contain code which is generated from a CLI language, and then compiled into machine language at run time by the just-in-time compiler. In the .NET framework implementation, this compiler is part of the Common Language
  • 11. .NET Frameworks Architectures /5 Lecturer: Jareed Eve;11  Common Language Infrastructure (CLI) Security  .NET has its own security mechanism with 2 general features:  Code Access Security (CAS), and  Validation and verification.  Code Access Security is based on evidence that is associated with a specific assembly.  Typically the evidence is the source of the assembly.  Code Access Security uses evidence to determine the permissions granted to the code. Other code can demand that calling code is granted a specified permission.
  • 12. .NET Frameworks Architectures /5 Lecturer: Jareed Eve;12  Common Language Infrastructure (CLI) Memory Management  Automatic memory management is one of the services that the common language runtime provides. The garbage collector manages the allocation and release of memory for an application.  Allocating Memory When you initialize a new process, the runtime reserves a contiguous region of address space for the process.  Releasing Memory The garbage collector's optimizing engine determines the best time to perform a collection based on the allocations being made. When the garbage collector performs a collection, it releases
  • 15. Class Library Lecturer: Jareed Eve;15  The .NET Framework includes a set of standard class libraries.  The class library is organized in a hierarchy of namespaces. Most of the built-in APIs are part of either System.* or Microsoft.* namespaces.  These class libraries implement a large number of common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation, among others. The .NET class libraries are available to all CLI compliant languages.  The .NET Framework class library is divided into two parts:  the Base Class Library and  the Framework Class Library
  • 16. Common Language Runtime /1 Lecturer: Jareed Eve;16  The Common Language Runtime (CLR) is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs.  In a process known as Just-in-time compilation, the compiled code is converted into machine instructions that, in turn, are executed by the computer's CPU.  The CLR provides additional services including memory management, type safety and exception handling. It provides exception handling, garbage collection and thread management. CLR is common to all versions of the .NET framework.  The CLR is Microsoft's implementation of the Common Language Infrastructure (CLI) standard.
  • 17. Common Language Runtime /2 Lecturer: Jareed Eve;17

Editor's Notes

  • #9: http://en.wikipedia.org/wiki/Metadata_(CLI)
  • #11: http://en.wikipedia.org/wiki/Assembly_(CLI)
  • #16: The Base Class Library (BCL) includes a small subset of the entire class library and is the core set of classes that serve as the basic API of the Common Language Runtime. The classes in mscorlib.dll and some of the classes in System.dll and System.core.dll are considered to be a part of the BCL. The BCL classes are available in both .NET Framework as well as its alternative implementations including .NET Compact Framework, Microsoft Silverlight and Mono.The Framework Class Library (FCL) is a superset of the BCL classes and refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation among others. The FCL is much larger in scope than standard libraries for languages like C++, and comparable in scope to the standard libraries of Java.
  • #17: All programs written for the .NET framework, regardless of programming language, are executed by the CLR.
  • #18: All programs written for the .NET framework, regardless of programming language, are executed by the CLR.