SlideShare a Scribd company logo
Introduction to .Net FrameworkNithyaVidhyaarthi
Before .NETWindows GUI development: Win32 API, MFC, Visual Basic, COMWeb development: ASPJava – “Write once, run anywhere.”Embrace and extend: Visual J++
Life As a C/Win32 API ProgrammerTraditional 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 approachWhen 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 ProgrammerC++ is an object-oriented layeron top of C.
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 experienceVisual Basic 6.0 ProgrammerAbility to build complex user interfaces, code libraries, and data access logic with minimal fuss and bother. VB6 hides the complexities of the raw Win32 API from view using integrated code wizards, intrinsic data types, classes, and VB-specific functions.Not fully object-orientedNo “is-a” relationships between types (i.e., no classical inheritance)No multithreaded applications unless you are willing to drop down to low-level Win32 API calls (which is complex at best and dangerous at worst).
Life As a Java/J2EE ProgrammerObject 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 ProgrammerMicrosoft’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 ProgrammerMicrosoft has been adding more Internet-aware features into its family of operating systems and products.
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). The complete maze…Completely unrelated syntaxes. JavaScript has a syntax much like C, while VBScript is a subset of VB6. The result is a highly confused mishmash of technologies.Each language and/or technology has its own type system: An “int” in JavaScript is not quite the same as an “Integer” in VB6.
.Net, the RescuerOOPJVMGUI.NETWebcomponent-based designn-tier design
.Net, the Rescuer
.Net providesIntegrated environmentInternet, Desktop , Mobile devicesconsistent object-orientedTo provide a portable environmentA 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-platformAPP.exe?Win32(XP,2K,98)Win64WinCE
.NET Application.NET FrameworkNarrow view of .Net applicationsOperating System + Hardware
.Net Framework
.Net Architecture.NET architecture is:multi-languagecross-platformbased on the CLR, FCL, and JIT technology.NET components are packaged as assemblies
.Net Architecture
.Net Technical ArchitectureVBC++C#Visual Studio.NETJScript…Common Language SpecificationWindowsFormsASP.NET: Web Servicesand Web FormsWindowsFormsADO.NET: Data and XMLBase Class LibraryCommon Language Runtime
Common Language RuntimeA common runtime for all .NET languagesCommon type systemCommon metadataIntermediate Language (IL) to native code compilersMemory allocation and garbage collectionCode execution and securityOver 15 languages supported todayC#, VB, Jscript, Visual C++ from MicrosoftPerl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc.Rational is working on Java compiler for CLR
The CLR ArchitectureBase Class Library SupportThread SupportCOM MarshalerType CheckerException ManagerSecurity EngineDebug EngineMSIL to NativeCompilers (JIT)CodeManagerGarbageCollector (GC)Class Loader
CLR Execution Model (Narrow)Code in VB.NETCode in C#Code in another .NET LanguageVB.NET compilerC# compilerAppropriateCompilerIL(IntermediateLanguage) codeCLR just-in-timeexecution
CLR Execution ModelSource codeVBC++C#UnmanagedComponentCompilerCompilerCompilerManagedcodeAssemblyIL CodeAssemblyIL CodeAssemblyIL CodeCommon Language RuntimeJIT CompilerNative CodeOperating System Services
How CLR works?
CLR based executionJIT CompilerAPP.exe         OS ProcessCLR other FCL componentsCore FCLobj codeUnderlying OS and HW
Common Language RuntimeExecution EngineCompiles Microsoft Intermediate Language (MSIL) into native codeHandles garbage collectionHandles exceptionsEnforces code access securityHandles verificationManaged v. Unmanaged
Implications of CLR execution modelClients need CLR & FCL to run .NET appsavailable via Redistributable .NET FrameworkDesign trade-off…managed execution (memory protection, verifiable code, etc.)
portability:
slower execution?CLR and JIT compiling.Indirect execution of .Net applications.All .NET languages compile to the same CIL.The CLR transforms the CIL to assembly instructions for a particular hardware architecture.This is termed jit’ing or Just-in-time compiling.Some initial performance cost, but the jitted code is cached for further execution.The CLR can target the specific architecture in which the code is executing, so some performance gains are possible.
Advantages of CLRSupport for developer services (debugging)Interoperation between managed code and unmanaged code (COM, DLLs).Managed code environmentImproved memory handlingImproved “garbage collection”
Advantages of CLRJIT allows code to run in a protected environment as managed code.
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)Common Language Infrastructure
CLI
Common Language InfrastructureCLI allows for cross-language development.
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).Common Type System (CTS)A specification for how types are defined and how they behave.no syntax specifiedA type can contain zero or more members:FieldMethodPropertyEvent
Common Type System (CTS)
CTS Data Types

More Related Content

PPT
CSharp.ppt
ckthesolo
 
PPT
Introduction To Dotnet
SAMIR BHOGAYTA
 
PPT
.NET Framework Overview
Doncho Minkov
 
PPT
Programming in c#
Shehrevar Davierwala
 
PPSX
C# - Part 1
Md. Mahedee Hasan
 
PPT
C#.NET
gurchet
 
PPT
C# basics
Dinesh kumar
 
PPT
Introduction To C#
SAMIR BHOGAYTA
 
CSharp.ppt
ckthesolo
 
Introduction To Dotnet
SAMIR BHOGAYTA
 
.NET Framework Overview
Doncho Minkov
 
Programming in c#
Shehrevar Davierwala
 
C# - Part 1
Md. Mahedee Hasan
 
C#.NET
gurchet
 
C# basics
Dinesh kumar
 
Introduction To C#
SAMIR BHOGAYTA
 

What's hot (20)

PPT
Introduction to .NET Framework
Raghuveer Guthikonda
 
PPTX
Introduction to ASP.NET
Rajkumarsoy
 
PPT
Introduction to c#
OpenSource Technologies Pvt. Ltd.
 
PDF
Introduction to ASP.NET Core
Avanade Nederland
 
PPTX
C# programming language
swarnapatil
 
PPTX
.Net Core
Bertrand Le Roy
 
PPTX
Introduction to spring boot
Santosh Kumar Kar
 
PPTX
Basics of JAVA programming
Elizabeth Thomas
 
PPTX
dot net technology
Imran Khan
 
PPT
DOT Net overview
chandrasekhardesireddi
 
PPTX
Angular overview
Thanvilahari
 
PPT
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
PPTX
Core java complete ppt(note)
arvind pandey
 
PPTX
Mobile application development ppt
tirupathinews
 
PPTX
Assemblies
Janas Khan
 
PPTX
Solid principles
Monica Rodrigues
 
PPTX
Angular 14.pptx
MohaNedGhawar
 
PPTX
Microsoft dot net framework
Ashish Verma
 
PPT
.Net overview|Introduction Of .net
pinky singh
 
PPTX
Dart and Flutter Basics.pptx
DSCVSSUT
 
Introduction to .NET Framework
Raghuveer Guthikonda
 
Introduction to ASP.NET
Rajkumarsoy
 
Introduction to ASP.NET Core
Avanade Nederland
 
C# programming language
swarnapatil
 
.Net Core
Bertrand Le Roy
 
Introduction to spring boot
Santosh Kumar Kar
 
Basics of JAVA programming
Elizabeth Thomas
 
dot net technology
Imran Khan
 
DOT Net overview
chandrasekhardesireddi
 
Angular overview
Thanvilahari
 
Nakov - .NET Framework Overview - English
Svetlin Nakov
 
Core java complete ppt(note)
arvind pandey
 
Mobile application development ppt
tirupathinews
 
Assemblies
Janas Khan
 
Solid principles
Monica Rodrigues
 
Angular 14.pptx
MohaNedGhawar
 
Microsoft dot net framework
Ashish Verma
 
.Net overview|Introduction Of .net
pinky singh
 
Dart and Flutter Basics.pptx
DSCVSSUT
 
Ad

Viewers also liked (20)

PPT
Asp.net architecture
Iblesoft
 
PPT
Visual Studio IDE
Sayantan Sur
 
PPS
Asp Architecture
Om Vikram Thapa
 
PPTX
Overview of .Net Framework 4.5
Bhushan Mulmule
 
PPTX
Asp.net and .Net Framework ppt presentation
abhishek singh
 
PDF
Crystal Reports Review
Justin R. Rue
 
PDF
Crystal Reports: Basics
Net at Work
 
PPTX
Components of .NET Framework
Roshith S Pai
 
PPT
Architecture of .net framework
Then Murugeshwari
 
PPT
CMS (CONTENT MANAGEMENT SYSTEM)
Aaina Katyal
 
PPTX
Introduction to .NET Framework and C# (English)
Vangos Pterneas
 
PPTX
.NET and C# Introduction
Siraj Memon
 
PPTX
Content Management System
OmnePresent
 
PDF
Robot Framework Introduction
Pekka Klärck
 
PDF
The Design of the Scalaz 8 Effect System
John De Goes
 
PPTX
Demonetisation.
Varadraj Bapat
 
PPT
What is a Content Management System or CMS
Steve Williams
 
PPTX
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
Kenneth Ceyer
 
PDF
失敗と向き合う姿勢を正す話
LIFULL Co., Ltd.
 
Asp.net architecture
Iblesoft
 
Visual Studio IDE
Sayantan Sur
 
Asp Architecture
Om Vikram Thapa
 
Overview of .Net Framework 4.5
Bhushan Mulmule
 
Asp.net and .Net Framework ppt presentation
abhishek singh
 
Crystal Reports Review
Justin R. Rue
 
Crystal Reports: Basics
Net at Work
 
Components of .NET Framework
Roshith S Pai
 
Architecture of .net framework
Then Murugeshwari
 
CMS (CONTENT MANAGEMENT SYSTEM)
Aaina Katyal
 
Introduction to .NET Framework and C# (English)
Vangos Pterneas
 
.NET and C# Introduction
Siraj Memon
 
Content Management System
OmnePresent
 
Robot Framework Introduction
Pekka Klärck
 
The Design of the Scalaz 8 Effect System
John De Goes
 
Demonetisation.
Varadraj Bapat
 
What is a Content Management System or CMS
Steve Williams
 
GDG DevFest 2017 Seoul 프론트엔드 모던 프레임워크 낱낱히 파헤치기
Kenneth Ceyer
 
失敗と向き合う姿勢を正す話
LIFULL Co., Ltd.
 
Ad

Similar to Introduction to .net framework (20)

PPTX
Introduction to .net FrameWork by QuontraSolutions
Quontra Solutions
 
PPTX
Presentation1
kpkcsc
 
PPTX
Introduction to .NET by QuontraSolutions
QUONTRASOLUTIONS
 
PPT
Best DotNet Training in Delhi
Information Technology
 
DOC
Dotnet ch1
007laksh
 
PPT
.Net framework
Viv EK
 
PPT
Introduction to ,NET Framework
ANURAG SINGH
 
PPTX
.Net Framework & Languages Supported by .Net Frmaework
Pranil Dukare
 
PPT
Synapse india reviews sharing asp.net
SynapseindiaComplaints
 
PPT
.Net overview
madydud
 
PPSX
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 
PPT
Modified.net overview
Faisal Aziz
 
PPT
.Net Overview
Pankaj Rattan
 
PPT
.Net overview
Pankaj Rattan
 
PPTX
.Net Framework
MohamadKrm
 
PPT
Asp dot net
husnara mohammad
 
PPTX
3.0 Introduction to .NET Framework
Abdelrahman Hosny
 
PPT
.Netframework
Shareb Ismaeel
 
PPT
Net Framework Overview
Luis Goldster
 
PPT
Microsoft.Net
Vishwa Mohan
 
Introduction to .net FrameWork by QuontraSolutions
Quontra Solutions
 
Presentation1
kpkcsc
 
Introduction to .NET by QuontraSolutions
QUONTRASOLUTIONS
 
Best DotNet Training in Delhi
Information Technology
 
Dotnet ch1
007laksh
 
.Net framework
Viv EK
 
Introduction to ,NET Framework
ANURAG SINGH
 
.Net Framework & Languages Supported by .Net Frmaework
Pranil Dukare
 
Synapse india reviews sharing asp.net
SynapseindiaComplaints
 
.Net overview
madydud
 
Introductionto .netframework by Priyanka Pinglikar
PriyankaPinglikar
 
Modified.net overview
Faisal Aziz
 
.Net Overview
Pankaj Rattan
 
.Net overview
Pankaj Rattan
 
.Net Framework
MohamadKrm
 
Asp dot net
husnara mohammad
 
3.0 Introduction to .NET Framework
Abdelrahman Hosny
 
.Netframework
Shareb Ismaeel
 
Net Framework Overview
Luis Goldster
 
Microsoft.Net
Vishwa Mohan
 

Recently uploaded (20)

PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Why Your AI & Cybersecurity Hiring Still Misses the Mark in 2025
Virtual Employee Pvt. Ltd.
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
PPTX
Coupa-Overview _Assumptions presentation
annapureddyn
 
PPTX
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
CIFDAQ'S Market Insight: BTC to ETH money in motion
CIFDAQ
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Why Your AI & Cybersecurity Hiring Still Misses the Mark in 2025
Virtual Employee Pvt. Ltd.
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Revolutionize Operations with Intelligent IoT Monitoring and Control
Rejig Digital
 
Coupa-Overview _Assumptions presentation
annapureddyn
 
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
CIFDAQ'S Market Insight: BTC to ETH money in motion
CIFDAQ
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 

Introduction to .net framework

  • 1. Introduction to .Net FrameworkNithyaVidhyaarthi
  • 2. Before .NETWindows GUI development: Win32 API, MFC, Visual Basic, COMWeb development: ASPJava – “Write once, run anywhere.”Embrace and extend: Visual J++
  • 3. Life As a C/Win32 API ProgrammerTraditional 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 approachWhen 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. Life As a C++/MFC ProgrammerC++ is an object-oriented layeron top of C.
  • 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. Regardless of the helpful MFC, programming for Windows using C++ remains a difficult and error-prone experienceVisual Basic 6.0 ProgrammerAbility to build complex user interfaces, code libraries, and data access logic with minimal fuss and bother. VB6 hides the complexities of the raw Win32 API from view using integrated code wizards, intrinsic data types, classes, and VB-specific functions.Not fully object-orientedNo “is-a” relationships between types (i.e., no classical inheritance)No multithreaded applications unless you are willing to drop down to low-level Win32 API calls (which is complex at best and dangerous at worst).
  • 9. Life As a Java/J2EE ProgrammerObject 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 ProgrammerMicrosoft’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. Windows DNA ProgrammerMicrosoft has been adding more Internet-aware features into its family of operating systems and products.
  • 12. COM-based Windows Distributed interNet Applications Architecture (DNA) is quite complex.
  • 13. 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). The complete maze…Completely unrelated syntaxes. JavaScript has a syntax much like C, while VBScript is a subset of VB6. The result is a highly confused mishmash of technologies.Each language and/or technology has its own type system: An “int” in JavaScript is not quite the same as an “Integer” in VB6.
  • 16. .Net providesIntegrated environmentInternet, Desktop , Mobile devicesconsistent object-orientedTo provide a portable environmentA managed environment
  • 17. What Is .NET.NET is a framework New programming methodology.NET is platform independent / cross platform.NET is language-insensitive
  • 19. .NET Application.NET FrameworkNarrow view of .Net applicationsOperating System + Hardware
  • 21. .Net Architecture.NET architecture is:multi-languagecross-platformbased on the CLR, FCL, and JIT technology.NET components are packaged as assemblies
  • 23. .Net Technical ArchitectureVBC++C#Visual Studio.NETJScript…Common Language SpecificationWindowsFormsASP.NET: Web Servicesand Web FormsWindowsFormsADO.NET: Data and XMLBase Class LibraryCommon Language Runtime
  • 24. Common Language RuntimeA common runtime for all .NET languagesCommon type systemCommon metadataIntermediate Language (IL) to native code compilersMemory allocation and garbage collectionCode execution and securityOver 15 languages supported todayC#, VB, Jscript, Visual C++ from MicrosoftPerl, Python, Smalltalk, Cobol, Haskell, Mercury, Eiffel, Oberon, Oz, Pascal, APL, CAML, Scheme, etc.Rational is working on Java compiler for CLR
  • 25. The CLR ArchitectureBase Class Library SupportThread SupportCOM MarshalerType CheckerException ManagerSecurity EngineDebug EngineMSIL to NativeCompilers (JIT)CodeManagerGarbageCollector (GC)Class Loader
  • 26. CLR Execution Model (Narrow)Code in VB.NETCode in C#Code in another .NET LanguageVB.NET compilerC# compilerAppropriateCompilerIL(IntermediateLanguage) codeCLR just-in-timeexecution
  • 27. CLR Execution ModelSource codeVBC++C#UnmanagedComponentCompilerCompilerCompilerManagedcodeAssemblyIL CodeAssemblyIL CodeAssemblyIL CodeCommon Language RuntimeJIT CompilerNative CodeOperating System Services
  • 29. CLR based executionJIT CompilerAPP.exe OS ProcessCLR other FCL componentsCore FCLobj codeUnderlying OS and HW
  • 30. Common Language RuntimeExecution EngineCompiles Microsoft Intermediate Language (MSIL) into native codeHandles garbage collectionHandles exceptionsEnforces code access securityHandles verificationManaged v. Unmanaged
  • 31. Implications of CLR execution modelClients need CLR & FCL to run .NET appsavailable via Redistributable .NET FrameworkDesign trade-off…managed execution (memory protection, verifiable code, etc.)
  • 33. slower execution?CLR and JIT compiling.Indirect execution of .Net applications.All .NET languages compile to the same CIL.The CLR transforms the CIL to assembly instructions for a particular hardware architecture.This is termed jit’ing or Just-in-time compiling.Some initial performance cost, but the jitted code is cached for further execution.The CLR can target the specific architecture in which the code is executing, so some performance gains are possible.
  • 34. Advantages of CLRSupport for developer services (debugging)Interoperation between managed code and unmanaged code (COM, DLLs).Managed code environmentImproved memory handlingImproved “garbage collection”
  • 35. Advantages of CLRJIT allows code to run in a protected environment as managed code.
  • 36. JIT allows the IL code to be hardware independent.
  • 37. CLR also allows for enforcement of code access security.
  • 39. Access to Metadata (enhanced Type Information)Common Language Infrastructure
  • 40. CLI
  • 41. Common Language InfrastructureCLI allows for cross-language development.
  • 44. Meta-data in a language agnostic fashion.
  • 45. Common Language Specification – behaviors that all languages need to follow.
  • 46. A Virtual Execution System (VES).Common Type System (CTS)A specification for how types are defined and how they behave.no syntax specifiedA type can contain zero or more members:FieldMethodPropertyEvent
  • 49. Common Data TypesCLR provides a set of primitive types that all languages must support. The data types include:Integer—three types 16/32/64 bitsFloat—two types: 32/64 bitsBoolean and CharacterDate/time and Time spanThe primitive types can be collected intoArraysStructuresCombination of the two
  • 50. Common Language Specification (CLS)Not all languages support all CTS types and featuresC# is case sensitive, VB.NET is notC# supports pointer types (in unsafe mode), VB.NET does notC# supports operator overloading, VB.NET does notCLS was drafted to promote language interoperabilityvast majority of classes within FCL are CLS-compliant
  • 51. Comparison to JavaHello.javaHello.classJVMcompileexecuteSource codeByte codeHello.vbHello.exeCLRcompileexecuteSource codeCIL
  • 53. Base Class LibrarySimilar to Java’s System namespace.Used by all .NET applicationsHas 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 @ BCLSingle consistent set of object oriented class libraries to enable building distributed web applications (Unified Classes)Built using classes arranged across logical hierarchical namespacesWork with all CLR languagesNo more “VBRun” or “MFC” divide
  • 56. Intermediate Language (IL).NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL).
  • 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. The JIT code stays in memory for subsequent calls. In cases where there is not enough memory it is discarded thus making JIT process interpretive.Queries?
  • 59. Contact me viaMail: [email protected] [email protected] network(s) / Services:arunprasadvidhyaarthi – skype, slideshare.comArun85prasad – twitter, gmail, live, yahoo.com Arun Prasad - facebook, orkutArunprasad – scribd.comMobile: +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.