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

What's hot (17)

Dotnet1
Dotnet1
Sudhriti Gupta
 
Introduction to .NET Programming
Introduction to .NET Programming
Karthikeyan Mkr
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Antonio Chagoury
 
Introduction .NET Framework
Introduction .NET Framework
javadib
 
Introducation to C#
Introducation to C#
musrath mohammad
 
Session i
Session i
DrUjwala1
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
Bhushan Mulmule
 
.Net Overview
.Net Overview
Pankaj Rattan
 
3.0 Introduction to .NET Framework
3.0 Introduction to .NET Framework
Abdelrahman Hosny
 
Dot net
Dot net
public
 
.Net framework
.Net framework
Raghu nath
 
c#.Net Windows application
c#.Net Windows application
veera
 
Introduction to VB.net
Introduction to VB.net
Yousaf Sahota
 
Introduction to .NET Framework
Introduction to .NET Framework
Raghuveer Guthikonda
 
Microsoft dot net framework
Microsoft dot net framework
Instantenigma
 
Introduction to .net
Introduction to .net
Jaya Kumari
 
New microsoft office word document
New microsoft office word document
SIVAJISADHANA
 
Introduction to .NET Programming
Introduction to .NET Programming
Karthikeyan Mkr
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Antonio Chagoury
 
Introduction .NET Framework
Introduction .NET Framework
javadib
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
Bhushan Mulmule
 
3.0 Introduction to .NET Framework
3.0 Introduction to .NET Framework
Abdelrahman Hosny
 
.Net framework
.Net framework
Raghu nath
 
c#.Net Windows application
c#.Net Windows application
veera
 
Introduction to VB.net
Introduction to VB.net
Yousaf Sahota
 
Microsoft dot net framework
Microsoft dot net framework
Instantenigma
 
Introduction to .net
Introduction to .net
Jaya Kumari
 
New microsoft office word document
New microsoft office word document
SIVAJISADHANA
 

Viewers also liked (15)

20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
Intro C# Book
 
Architecture of .net framework
Architecture of .net framework
Then Murugeshwari
 
Advanced System Analysis And Design
Advanced System Analysis And Design
Anit Thapaliya
 
Library Automation
Library Automation
Ra Alvi
 
construction of Reservation software solution for Airline Companies project ...
construction of Reservation software solution for Airline Companies project ...
Hagi Sahib
 
Dlis007 library automation
Dlis007 library automation
saniul rahaman
 
Dotnet basics
Dotnet basics
Mir Majid
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
Vangos Pterneas
 
Introduction to .net framework
Introduction to .net framework
Arun Prasad
 
Library Management System
Library Management System
Faculty of Science , portsaid Univeristy
 
La perdurabilidad en las empresas familiasde
La perdurabilidad en las empresas familiasde
mariaperezgamboa
 
.NET Framework 4.0 – Changes & Benefits
.NET Framework 4.0 – Changes & Benefits
Deepika Chaudhary
 
AUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEM
Abhishek Kumar
 
Library Management System
Library Management System
Aditya Shah
 
Hospital management system
Hospital management system
Mohammad Safiullah
 
20. Object-Oriented Programming Fundamental Principles
20. Object-Oriented Programming Fundamental Principles
Intro C# Book
 
Architecture of .net framework
Architecture of .net framework
Then Murugeshwari
 
Advanced System Analysis And Design
Advanced System Analysis And Design
Anit Thapaliya
 
Library Automation
Library Automation
Ra Alvi
 
construction of Reservation software solution for Airline Companies project ...
construction of Reservation software solution for Airline Companies project ...
Hagi Sahib
 
Dlis007 library automation
Dlis007 library automation
saniul rahaman
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
Vangos Pterneas
 
Introduction to .net framework
Introduction to .net framework
Arun Prasad
 
La perdurabilidad en las empresas familiasde
La perdurabilidad en las empresas familiasde
mariaperezgamboa
 
.NET Framework 4.0 – Changes & Benefits
.NET Framework 4.0 – Changes & Benefits
Deepika Chaudhary
 
AUTOMATED LIBRARY MANAGEMENT SYSTEM
AUTOMATED LIBRARY MANAGEMENT SYSTEM
Abhishek Kumar
 
Library Management System
Library Management System
Aditya Shah
 
Ad

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

Chapter1_Part1.pptx
Chapter1_Part1.pptx
RaajzKoirala
 
.Net framework
.Net framework
Viv EK
 
.Net the begining
.Net the begining
cncwebworld
 
c#.pptx
c#.pptx
GokulPadmakumar3
 
Net framework
Net framework
Aravindharamanan S
 
Introduction to .net
Introduction to .net
Karthika Parthasarathy
 
.Net slid
.Net slid
pacatarpit
 
.Net
.Net
Gowarthini
 
Inside .net framework
Inside .net framework
Faisal Aziz
 
1.0
1.0
SIVAJISADHANA
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
Aniruddha Chakrabarti
 
Introduction to C# Programming
Introduction to C# Programming
Sherwin Banaag Sapin
 
.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3
Amin Mesbahi
 
Net framework
Net framework
jhsri
 
Components of .NET Framework
Components of .NET Framework
Roshith S Pai
 
Chapter1
Chapter1
guest9ccd0e
 
Presentation1
Presentation1
kpkcsc
 
Session2 (3)
Session2 (3)
DrUjwala1
 
Chapter1_Part1.pptx
Chapter1_Part1.pptx
RaajzKoirala
 
.Net framework
.Net framework
Viv EK
 
.Net the begining
.Net the begining
cncwebworld
 
Inside .net framework
Inside .net framework
Faisal Aziz
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
Rakesh Joshi
 
Future of .NET - .NET on Non Windows Platforms
Future of .NET - .NET on Non Windows Platforms
Aniruddha Chakrabarti
 
.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3
Amin Mesbahi
 
Net framework
Net framework
jhsri
 
Components of .NET Framework
Components of .NET Framework
Roshith S Pai
 
Presentation1
Presentation1
kpkcsc
 
Session2 (3)
Session2 (3)
DrUjwala1
 
Ad

Recently uploaded (20)

“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
Your startup on AWS - How to architect and maintain a Lean and Mean account J...
angelo60207
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 

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.