SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Introduction to .Net Framework NithyaVidhyaarthi
Before .NET Windows GUI development: Win32 API, MFC, Visual Basic, COM Web development: ASP Java – “Write once, run anywhere.” Embrace and extend: Visual J++
Life As a C/Win32 API Programmer Traditional software development for the Windows. C developers are forced to contend with complex memory management and pointer arithmetic.  It lacks the benefits provided by the object-oriented approach When you combine the thousands of global functions and data types defined by the Win32 API to an already formidable language, it is little wonder that there are so many buggy applications floating around today.
Life As a C++/MFC Programmer ,[object Object]
Programmers benefit from the famed “pillars of OOP” (encapsulation, inheritance, and polymorphism).
Microsoft Foundation Classes (MFC) provides a set of C++ classes that facilitate the construction of Win32 applications.
It wraps a “sane subset” of the raw Win32 API behind a number of classes, magic macros, and numerous code-generation tools (wizards).
Regardless of the helpful MFC, programming for Windows using C++ remains a difficult and error-prone experience,[object Object]
Life As a Java/J2EE Programmer Object oriented with syntactic roots in C++.  Java cleans up many unsavory syntactical aspects of C++.  Java provides programmers with a large number of predefined “packages” that contain various type definitions.  Limited ability to access non-Java APIs. Little support for truecross-language integration.  Not appropriate for many graphically or numerically intensive applications.  A better approach for such programs would be to use a language such as C++ where appropriate.
Life As a COM Programmer Microsoft’s previous application development framework. reusable binary code. C++ programmers can build COM classes that can be used by VB6. Delphi programmers can use COM classes built using C.  COM’s language independence is limited.  COM has no support for classical inheritance).  COM is extremely complex under the hood. The Active Template Library (ATL) provides a set of C++ classes, templates, and macros to ease the creation of COM types.
Windows DNA Programmer ,[object Object]
COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
Due to the simple fact that Windows DNA requires the use of numerous technologies and languages (ASP, HTML, XML, JavaScript, VBScript, COM(+), and data access API like ADO). ,[object Object]
.Net, the Rescuer OOP JVM GUI .NET Web component-based design n-tier design
.Net, the Rescuer
.Net provides Integrated environment Internet, Desktop , Mobile devices consistent object-oriented To provide a portable environment A managed environment
What Is .NET .NET is a framework  New programming methodology .NET is platform independent / cross platform .NET is language-insensitive
.NET is cross-platform APP.exe ? Win32 (XP,2K,98) Win64 WinCE
.NET Application .NET Framework Narrow view of .Net applications Operating System + Hardware
.Net Framework
.Net Architecture .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology .NET components are packaged as assemblies
.Net Architecture
.Net Technical Architecture VB C++ C# Visual Studio.NET JScript 
 Common Language Specification WindowsForms ASP.NET: Web Services and Web Forms WindowsForms ADO.NET: Data and XML Base Class Library Common Language Runtime
Common Language Runtime A common runtime for all .NET languages Common type system Common metadata Intermediate Language (IL) to native code compilers Memory allocation and garbage collection Code execution and security Over 15 languages supported today C#, VB, Jscript, Visual C++ from Microsoft Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc. Rational is working on Java compiler for CLR
The CLR Architecture Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Class Loader
CLR Execution Model (Narrow) Code in VB.NET Code in C# Code in another  .NET Language VB.NET compiler C# compiler Appropriate Compiler IL(Intermediate Language) code CLR just-in-time execution
CLR Execution Model Source code VB C++ C# Unmanaged Component Compiler Compiler Compiler Managed code Assembly IL Code Assembly IL Code Assembly IL Code Common Language Runtime JIT Compiler Native Code Operating System Services
How CLR works?
CLR based execution JIT Compiler APP.exe          OS Process CLR  other FCL components Core FCL obj code Underlying OS and HW
Common Language Runtime Execution Engine Compiles Microsoft Intermediate Language (MSIL) into native code Handles garbage collection Handles exceptions Enforces code access security Handles verification Managed v. Unmanaged
Implications of CLR execution model Clients need CLR & FCL to run .NET apps available via Redistributable .NET Framework Design trade-off
 ,[object Object]
portability:
slower execution?,[object Object]
Advantages of CLR Support for developer services (debugging) Interoperation between managed code and unmanaged code (COM, DLLs). Managed code environment Improved memory handling Improved “garbage collection”
Advantages of CLR ,[object Object]
JIT allows the IL code to be hardware independent.
CLR also allows for enforcement of code access security.
Verification of type safety.
Access to Metadata (enhanced Type Information),[object Object]
CLI
Common Language Infrastructure ,[object Object]
Four components:
Common Type System (CTS)
Meta-data in a language agnostic fashion.
Common Language Specification – behaviors that all languages need to follow.
A Virtual Execution System (VES).,[object Object]
Common Type System (CTS)
CTS Data Types

Weitere Àhnliche Inhalte

Was ist angesagt?

Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
Doncho Minkov
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
jaimefrozr
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
Iblesoft
 

Was ist angesagt? (20)

Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 
dot net technology
dot net technologydot net technology
dot net technology
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 
CSharp Presentation
CSharp PresentationCSharp Presentation
CSharp Presentation
 
C# Framework class library
C# Framework class libraryC# Framework class library
C# Framework class library
 
C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
C sharp
C sharpC sharp
C sharp
 
C# - Part 1
C# - Part 1C# - Part 1
C# - Part 1
 
Introduction to Java Programming Language
Introduction to Java Programming LanguageIntroduction to Java Programming Language
Introduction to Java Programming Language
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
C# programming language
C# programming languageC# programming language
C# programming language
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Collections and its types in C# (with examples)
Collections and its types in C# (with examples)Collections and its types in C# (with examples)
Collections and its types in C# (with examples)
 
Java programming course for beginners
Java programming course for beginnersJava programming course for beginners
Java programming course for beginners
 
oops concept in java | object oriented programming in java
oops concept in java | object oriented programming in javaoops concept in java | object oriented programming in java
oops concept in java | object oriented programming in java
 

Andere mochten auch

Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
Sayantan Sur
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
Justin R. Rue
 
CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)
Aaina Katyal
 

Andere mochten auch (20)

Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
Asp Architecture
Asp ArchitectureAsp Architecture
Asp Architecture
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentation
 
Crystal Reports Review
Crystal Reports ReviewCrystal Reports Review
Crystal Reports Review
 
Crystal Reports: Basics
Crystal Reports: BasicsCrystal Reports: Basics
Crystal Reports: Basics
 
Crystal report
Crystal reportCrystal report
Crystal report
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET Framework
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
 
CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)CMS (CONTENT MANAGEMENT SYSTEM)
CMS (CONTENT MANAGEMENT SYSTEM)
 
Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)Introduction to .NET Framework and C# (English)
Introduction to .NET Framework and C# (English)
 
Content Management System
Content Management SystemContent Management System
Content Management System
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
The Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect SystemThe Design of the Scalaz 8 Effect System
The Design of the Scalaz 8 Effect System
 
Demonetisation.
Demonetisation.Demonetisation.
Demonetisation.
 
What is a Content Management System or CMS
What is a Content Management System or CMSWhat is a Content Management System or CMS
What is a Content Management System or CMS
 
GDG DevFest 2017 Seoul í”„ëĄ íŠžì—”ë“œ ëȘšë˜ í”„ë ˆìž„ì›ŒíŹ 낱낱히 파헀ìč˜êž°
 GDG DevFest 2017 Seoul í”„ëĄ íŠžì—”ë“œ ëȘšë˜ í”„ë ˆìž„ì›ŒíŹ 낱낱히 파헀ìč˜êž° GDG DevFest 2017 Seoul í”„ëĄ íŠžì—”ë“œ ëȘšë˜ í”„ë ˆìž„ì›ŒíŹ 낱낱히 파헀ìč˜êž°
GDG DevFest 2017 Seoul í”„ëĄ íŠžì—”ë“œ ëȘšë˜ í”„ë ˆìž„ì›ŒíŹ 낱낱히 파헀ìč˜êž°
 
ć€±æ•—ăšć‘ăćˆă†ć§żć‹ąă‚’æ­Łă™è©±
ć€±æ•—ăšć‘ăćˆă†ć§żć‹ąă‚’æ­Łă™è©±ć€±æ•—ăšć‘ăćˆă†ć§żć‹ąă‚’æ­Łă™è©±
ć€±æ•—ăšć‘ăćˆă†ć§żć‹ąă‚’æ­Łă™è©±
 
reveal.js 3.0.0
reveal.js 3.0.0reveal.js 3.0.0
reveal.js 3.0.0
 
Social Networking Presentation
Social Networking PresentationSocial Networking Presentation
Social Networking Presentation
 

Ähnlich wie Introduction to .net framework

Presentation1
Presentation1Presentation1
Presentation1
kpkcsc
 
1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#
Tuan Ngo
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
Sisir Ghosh
 
Net framework
Net frameworkNet framework
Net framework
jhsri
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
Carlos Posada
 
.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
Rishi Kothari
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
Ashish Verma
 

Ähnlich wie Introduction to .net framework (20)

Presentation1
Presentation1Presentation1
Presentation1
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
 
Dotnet ch1
Dotnet ch1Dotnet ch1
Dotnet ch1
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
Introduction to .net
Introduction to .netIntroduction to .net
Introduction to .net
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
.Net overview
.Net overview.Net overview
.Net overview
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Csharp dot net
Csharp dot netCsharp dot net
Csharp dot net
 
Net framework
Net frameworkNet framework
Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptx
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 

KĂŒrzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

KĂŒrzlich hochgeladen (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Introduction to .net framework

  • 1. Introduction to .Net Framework NithyaVidhyaarthi
  • 2. Before .NET Windows GUI development: Win32 API, MFC, Visual Basic, COM Web development: ASP Java – “Write once, run anywhere.” Embrace and extend: Visual J++
  • 3. Life As a C/Win32 API Programmer Traditional software development for the Windows. C developers are forced to contend with complex memory management and pointer arithmetic. It lacks the benefits provided by the object-oriented approach When you combine the thousands of global functions and data types defined by the Win32 API to an already formidable language, it is little wonder that there are so many buggy applications floating around today.
  • 4.
  • 5. Programmers benefit from the famed “pillars of OOP” (encapsulation, inheritance, and polymorphism).
  • 6. Microsoft Foundation Classes (MFC) provides a set of C++ classes that facilitate the construction of Win32 applications.
  • 7. It wraps a “sane subset” of the raw Win32 API behind a number of classes, magic macros, and numerous code-generation tools (wizards).
  • 8.
  • 9. Life As a Java/J2EE Programmer Object oriented with syntactic roots in C++. Java cleans up many unsavory syntactical aspects of C++. Java provides programmers with a large number of predefined “packages” that contain various type definitions. Limited ability to access non-Java APIs. Little support for truecross-language integration. Not appropriate for many graphically or numerically intensive applications. A better approach for such programs would be to use a language such as C++ where appropriate.
  • 10. Life As a COM Programmer Microsoft’s previous application development framework. reusable binary code. C++ programmers can build COM classes that can be used by VB6. Delphi programmers can use COM classes built using C. COM’s language independence is limited. COM has no support for classical inheritance). COM is extremely complex under the hood. The Active Template Library (ATL) provides a set of C++ classes, templates, and macros to ease the creation of COM types.
  • 11.
  • 12. COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
  • 13.
  • 14. .Net, the Rescuer OOP JVM GUI .NET Web component-based design n-tier design
  • 16. .Net provides Integrated environment Internet, Desktop , Mobile devices consistent object-oriented To provide a portable environment A managed environment
  • 17. What Is .NET .NET is a framework New programming methodology .NET is platform independent / cross platform .NET is language-insensitive
  • 18. .NET is cross-platform APP.exe ? Win32 (XP,2K,98) Win64 WinCE
  • 19. .NET Application .NET Framework Narrow view of .Net applications Operating System + Hardware
  • 21. .Net Architecture .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology .NET components are packaged as assemblies
  • 23. .Net Technical Architecture VB C++ C# Visual Studio.NET JScript 
 Common Language Specification WindowsForms ASP.NET: Web Services and Web Forms WindowsForms ADO.NET: Data and XML Base Class Library Common Language Runtime
  • 24. Common Language Runtime A common runtime for all .NET languages Common type system Common metadata Intermediate Language (IL) to native code compilers Memory allocation and garbage collection Code execution and security Over 15 languages supported today C#, VB, Jscript, Visual C++ from Microsoft Perl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc. Rational is working on Java compiler for CLR
  • 25. The CLR Architecture Base Class Library Support Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Class Loader
  • 26. CLR Execution Model (Narrow) Code in VB.NET Code in C# Code in another .NET Language VB.NET compiler C# compiler Appropriate Compiler IL(Intermediate Language) code CLR just-in-time execution
  • 27. CLR Execution Model Source code VB C++ C# Unmanaged Component Compiler Compiler Compiler Managed code Assembly IL Code Assembly IL Code Assembly IL Code Common Language Runtime JIT Compiler Native Code Operating System Services
  • 29. CLR based execution JIT Compiler APP.exe OS Process CLR other FCL components Core FCL obj code Underlying OS and HW
  • 30. Common Language Runtime Execution Engine Compiles Microsoft Intermediate Language (MSIL) into native code Handles garbage collection Handles exceptions Enforces code access security Handles verification Managed v. Unmanaged
  • 31.
  • 33.
  • 34. Advantages of CLR Support for developer services (debugging) Interoperation between managed code and unmanaged code (COM, DLLs). Managed code environment Improved memory handling Improved “garbage collection”
  • 35.
  • 36. JIT allows the IL code to be hardware independent.
  • 37. CLR also allows for enforcement of code access security.
  • 39.
  • 40. CLI
  • 41.
  • 44. Meta-data in a language agnostic fashion.
  • 45. Common Language Specification – behaviors that all languages need to follow.
  • 46.
  • 49. Common Data Types CLR provides a set of primitive types that all languages must support. The data types include: Integer—three types 16/32/64 bits Float—two types: 32/64 bits Boolean and Character Date/time and Time span The primitive types can be collected into Arrays Structures Combination of the two
  • 50. Common Language Specification (CLS) Not all languages support all CTS types and features C# is case sensitive, VB.NET is not C# supports pointer types (in unsafe mode), VB.NET does not C# supports operator overloading, VB.NET does not CLS was drafted to promote language interoperability vast majority of classes within FCL are CLS-compliant
  • 51. Comparison to Java Hello.java Hello.class JVM compile execute Source code Byte code Hello.vb Hello.exe CLR compile execute Source code CIL
  • 53. Base Class Library Similar to Java’s System namespace. Used by all .NET applications Has classes for IO, threading, database, text, graphics, console, sockets/web/mail, security, cryptography, COM, run-time type discovery/invocation, assembly generation
  • 54. Framework Class Library @ BCL Single consistent set of object oriented class libraries to enable building distributed web applications (Unified Classes) Built using classes arranged across logical hierarchical namespaces Work with all CLR languages No more “VBRun” or “MFC” divide
  • 56.
  • 57. CLR accepts the IL code and recompiles it to machine code. The recompilation is just-in-time (JIT) meaning it is done as soon as a function or subroutine is called.
  • 58.
  • 59. Contact me via Mail: arunprasadnva@gmail.com arun85prasad@gmail.com Social network(s) / Services: arunprasadvidhyaarthi – skype, slideshare.com Arun85prasad – twitter, gmail, live, yahoo.com Arun Prasad - facebook, orkut Arunprasad – scribd.com Mobile: +91 93446 20159
  • 61. Disclaimer The names of Technologies, Product(s), Companies, Application(s), Tool(s), Utilities, etc provided with this material are intended to reference only. The name(s), brand name(s), trademark(s), registered trademark(s), logo(s), slogan(s) belong to their respective owners in the respective countries.