SlideShare ist ein Scribd-Unternehmen logo
1 von 48
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
 C++ is an object-oriented layer on 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 experience
Visual Basic 6.0 Programmer
 Ability 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-oriented
 No “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 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 true cross-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
 Microsoft 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 Rescuer
.NET
OOP JVM
GUI
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
?
Win64 Win32
(XP,2K,98)
WinCE
Narrow view of .Net applications
Operating System + Hardware
.NET Framework
.NET Application
.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
Base Class Library
Common Language Specification
Common Language Runtime
ADO.NET: Data and XML
VB C++ C#
VisualStudio.NET
ASP.NET: Web Services
and Web Forms
JScript …
Windows
Forms
Windows
Forms
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
Class Loader
MSIL to Native
Compilers (JIT)
Code
Manager
Garbage
Collector (GC)
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
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
VBSource
code
Compiler
C++C#
CompilerCompiler
Assembly
IL Code
Assembly
IL Code
Assembly
IL Code
Operating System Services
Common Language Runtime
JIT Compiler
Native Code
Managed
code
Unmanaged
Component
How CLR works?
CLR based execution
APP.exe
other FCL
components
CLR
JIT Compiler
obj code
OS Process
Underlying OS and HW
Core
FCL
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
1. Clients need CLR & FCL to run .NET apps
 available via Redistributable .NET Framework
2. Design 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 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
 JIT 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 Infrastructure
 CLI 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 specified
A type can contain zero or more members:
 Field
 Method
 Property
 Event
Common Type System (CTS)
String Array ValueType Exception Delegate Class1
Multicast
Delegate
Class2
Class3
Object
Enum1
Structure1Enum
Primitive types
Boolean
Byte
Int16
Int32
Int64
Char
Single
Double
Decimal
DateTime
System-defined types
User-defined types
Delegate1
TimeSpan
Guid
CTS Data Types
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
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
Comparison to Java
Hello.java Hello.class JVM
compile execute
Hello.vb Hello.exe CLR
compile execute
Source code Byte code
CILSource code
Base Class Library @ FCL
Unified Classes
Web Classes (ASP.NET)
XML Classes
System Classes
Drawing Classes
Windows FormsData (ADO.NET)
Controls, Caching, Security, Session, Configuration etc
Collections, Diagnostics, Globalization, IO, Security,
Threading Serialization, Reflection, Messaging etc
ADO, SQL,Types etc
Drawing, Imaging, Text, etc
Design, Cmpnt Model etc
XSLT, Path, Serialization etc
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
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
Example
Intermediate Language (IL)
 .NET languages are not compiled to machine code.
They are compiled to an Intermediate Language (IL).
 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.
 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?
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
Thank you !!!
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.

Weitere ähnliche Inhalte

Was ist angesagt?

.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework IntroductionAbhishek Sahu
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Frameworkjavadib
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewHarish Ranganathan
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET FrameworkKamlesh Makvana
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet frameworkNitu Pandey
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
.net CLR
.net CLR.net CLR
.net CLRDevTalk
 
Dotnet ch1
Dotnet ch1Dotnet ch1
Dotnet ch1007laksh
 
Java vs .net
Java vs .netJava vs .net
Java vs .netTech_MX
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineAbdelrahman Hosny
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Bhushan Mulmule
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 

Was ist angesagt? (20)

.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Framework
 
Visual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 OverviewVisual Studio 2010 and .NET Framework 4.0 Overview
Visual Studio 2010 and .NET Framework 4.0 Overview
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 
.Net framework
.Net framework.Net framework
.Net framework
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
.net CLR
.net CLR.net CLR
.net CLR
 
Dotnet ch1
Dotnet ch1Dotnet ch1
Dotnet ch1
 
Java vs .net
Java vs .netJava vs .net
Java vs .net
 
A Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual MachineA Comparison of .NET Framework vs. Java Virtual Machine
A Comparison of .NET Framework vs. Java Virtual Machine
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
 
Overview of .Net Framework 4.5
Overview of .Net Framework 4.5Overview of .Net Framework 4.5
Overview of .Net Framework 4.5
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 

Ähnlich wie Presentation1

Ähnlich wie Presentation1 (20)

1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Net framework
Net frameworkNet framework
Net framework
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptx
 
.Net overview
.Net overview.Net overview
.Net overview
 
As Pdotnet
As PdotnetAs Pdotnet
As Pdotnet
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net Overview
.Net Overview.Net Overview
.Net Overview
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
Csharp dot net
Csharp dot netCsharp dot net
Csharp dot net
 
Dot net
Dot netDot net
Dot net
 
.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
 
jhkghj
jhkghjjhkghj
jhkghj
 
Asp net
Asp netAsp net
Asp net
 
test2PPT
test2PPTtest2PPT
test2PPT
 
Synapse india reviews sharing asp.net
Synapse india reviews sharing  asp.netSynapse india reviews sharing  asp.net
Synapse india reviews sharing asp.net
 
.Net framework
.Net framework.Net framework
.Net framework
 

Presentation1

  • 1.
  • 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. Life As a C++/MFC Programmer  C++ is an object-oriented layer on 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 experience
  • 5. Visual Basic 6.0 Programmer  Ability 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-oriented  No “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).
  • 6. 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 true cross-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.
  • 7. 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.
  • 8. Windows DNA Programmer  Microsoft 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).
  • 9. 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.
  • 10. .Net, the Rescuer .NET OOP JVM GUI Web component-based design n-tier design
  • 12. .Net provides  Integrated environment  Internet, Desktop , Mobile devices  consistent object-oriented  To provide a portable environment  A managed environment
  • 13. What Is .NET  .NET is a framework  New programming methodology  .NET is platform independent / cross platform  .NET is language-insensitive
  • 14. .NET is cross-platform APP.exe ? Win64 Win32 (XP,2K,98) WinCE
  • 15. Narrow view of .Net applications Operating System + Hardware .NET Framework .NET Application
  • 17. .Net Architecture  .NET architecture is:  multi-language  cross-platform  based on the CLR, FCL, and JIT technology  .NET components are packaged as assemblies
  • 19. .Net Technical Architecture Base Class Library Common Language Specification Common Language Runtime ADO.NET: Data and XML VB C++ C# VisualStudio.NET ASP.NET: Web Services and Web Forms JScript … Windows Forms Windows Forms
  • 20. 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
  • 21. The CLR Architecture Class Loader MSIL to Native Compilers (JIT) Code Manager Garbage Collector (GC) Security Engine Debug Engine Type Checker Exception Manager Thread Support COM Marshaler Base Class Library Support
  • 22. 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
  • 23. CLR Execution Model VBSource code Compiler C++C# CompilerCompiler Assembly IL Code Assembly IL Code Assembly IL Code Operating System Services Common Language Runtime JIT Compiler Native Code Managed code Unmanaged Component
  • 25. CLR based execution APP.exe other FCL components CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL
  • 26. 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
  • 27. Implications of CLR execution model 1. Clients need CLR & FCL to run .NET apps  available via Redistributable .NET Framework 2. Design trade-off… + managed execution (memory protection, verifiable code, etc.) + portability: – slower execution?
  • 28. 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.
  • 29. 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”
  • 30. Advantages of CLR  JIT 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)
  • 32. CLI
  • 33. Common Language Infrastructure  CLI 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).
  • 34. Common Type System (CTS) A specification for how types are defined and how they behave.  no syntax specified A type can contain zero or more members:  Field  Method  Property  Event
  • 35. Common Type System (CTS) String Array ValueType Exception Delegate Class1 Multicast Delegate Class2 Class3 Object Enum1 Structure1Enum Primitive types Boolean Byte Int16 Int32 Int64 Char Single Double Decimal DateTime System-defined types User-defined types Delegate1 TimeSpan Guid
  • 37. 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
  • 38. 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
  • 39. Comparison to Java Hello.java Hello.class JVM compile execute Hello.vb Hello.exe CLR compile execute Source code Byte code CILSource code
  • 40. Base Class Library @ FCL Unified Classes Web Classes (ASP.NET) XML Classes System Classes Drawing Classes Windows FormsData (ADO.NET) Controls, Caching, Security, Session, Configuration etc Collections, Diagnostics, Globalization, IO, Security, Threading Serialization, Reflection, Messaging etc ADO, SQL,Types etc Drawing, Imaging, Text, etc Design, Cmpnt Model etc XSLT, Path, Serialization etc
  • 41. 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
  • 42. 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
  • 44. Intermediate Language (IL)  .NET languages are not compiled to machine code. They are compiled to an Intermediate Language (IL).  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.  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.
  • 46. 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
  • 48. 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.