SlideShare a Scribd company logo
1 of 26
Introduction to Microsoft .NET
Framework 4.0
Abd El-Rahman Hosny Mohammed
Microsoft Student Partner.
4th Grade – Faculty of Computers and Information.
Computer Science Department.
Assiut University.
contact: abdelrahmanhosny.com
Agenda
 Previous State of Affairs
- Punched Cards.
- Assembly Programming.
- C/Windows API
- C++/MFC
- Visual Basic 6.0
- Java
- COM
 The .NET Solution
 What’s next ?!
2abdelrahmanhosny.com
Previous State of Affairs
 Punched Cards
- Piece of paper, that contains digital information.
- Information is represented by the presence or absence of holes
in predefined positions.
3abdelrahmanhosny.com
 Assembly Programming
- More readable for programmers.
- Consists of machine instructions.
- Each computer architecture has its own assembly commands.
- Reduced Instruction Set Computing (RISC).
- Complex Instruction Set Computing (CISC).
- Using assembler: assembly code => executable machine code.
- However, still a low-level programming language.
- High-level assembler for assembly languages that have some
high-level programming features.
4abdelrahmanhosny.com
5abdelrahmanhosny.com
 C/Windows API
- To develop software for Windows operating systems, we use
C programming language with the Windows application
programming interface (API).
- Large number of applications already created with this
approach.
- However …
Manual memory management.
Ugly pointer arithmetic.
Spaghetti code (thousands of functions & data types).
6abdelrahmanhosny.com
 C++/MFC
- Object-oriented layer on top of C.
- Benefits of OOP (Encapsulation, Inheritance, Polymorphism)
- Microsoft Foundation Classes (MFC) are set of C++ classes
that facilitate building Windows applications.
- MFC hade the underlying Windows API and provide classes,
macros and code generation tools (wizards).
- However …
Backward compatibility with C makes it prone to the same
problems (memory management, pointers, constructs).
7abdelrahmanhosny.com
 Visual Basic 6.0
- Programmer is now able to build complex user interfaces and
code libraries.
- Can access databases easily.
- Hide Windows API by using code wizards, VB data types,
classes and VB-specific functions.
- However …
Not fully OO (rather it’s object-based).
No is-a relationship (No inheritance).
No Multi-threaded applications (actually we can use lower
level APIs.
8abdelrahmanhosny.com
 Java
- C-Like
- Pure Object-Oriented.
- Platform independent.
- Developers can build 100% pure java applications.
- However …
Little language integration (must use Java front to back during
the development life cycle.
Limited ability to access non-Java APIs.
9abdelrahmanhosny.com
 COM
- Stands for Component Object Model.
- Microsoft’s previous application development framework.
- “If you build your types in accordance with the rules of COM,
you end up with a block of reusable binary code”.
- Language-Independent.
- ATL ( Active Template Library) provides a set of C++ classes,
templates & macros.
- However … Complex Data Type representation
10abdelrahmanhosny.com
The .NET Solution
- Interoperability with existing source code.
- Support for many programming language.
- Common run-time engine shared by all .NET-aware languages.
- Complete and total language integration.
- Comprehensive base class libraries.
- No COM.
- Simplified deployment model.
11abdelrahmanhosny.com
.NET Building Blocks
CLR
Common Language
Runtime
CTS
Common Type System
CLS
Common Language
Specification
12abdelrahmanhosny.com
 CTS (Common Type System)
- CTS Specification fully describes all possible data types and
programming constructs supported by the run-time.
- CTS specifies how these entities can interact with each other
and how they are represented in the .NET metadata format.
- Some .NET language might not support every feature defined
by the CTS.
13abdelrahmanhosny.com
 CLS (Common Language Specification)
- CLS is a set of rules that describes, in detail, the minimal and
complete set of features a given .NET-aware compiler must
support to produce code that can be hosted by the CLR, while
at the same time can be accessed in a uniform manner by all
languages that the .NET platform support.
- CLS is a subset of the full functionality of CTS.
14abdelrahmanhosny.com
 CLR (Common Language Runtime)
- The CLR locate, load and manage .NET types on your behalf.
- Memory Management (Garbage Collector).
- Application Hosting.
- Handling Threads.
- Security Checks.
15abdelrahmanhosny.com
 CLR (Common Language Runtime) .. cont.
- When an assembly is referenced for use, mscore.dll is loaded
automatically, which loads the required assembly in turn.
(MS Common Object Runtime Execution Engine).
- Creating the required custom types.
- The key assembly is the mscore.dll, which contains a large
number of types, that encapsulate a wide variety of common
programming tasks as well as the core data types used by all
.NET languages.
16abdelrahmanhosny.com
Base Class Libraries
- In addition to CLR and CTS/CLS specifications, the .NET
platform provides a base class library that is available to all
.NET programming languages
17abdelrahmanhosny.com
18abdelrahmanhosny.com
- CIL: the same as Java bytecode, it’ not compiled into platform
specific instructions until absolutely necessary.
- You can view the CIL code of any assembly using either:
ildasm.exe or using Reflector.
19abdelrahmanhosny.com
- Metadata
describes, in detail, the characteristics of every type within the
binary.
- Manifest:
The current version of the assembly.
Culture information (localizing string & image resources).
List of externally referenced assemblies that are required for
the proper execution of the program.
 Single-File assembly vs. Multi-File assembly.
20abdelrahmanhosny.com
SO >>
21abdelrahmanhosny.com
What’s Next ?!
22abdelrahmanhosny.com
 Criticism
- Applications running in a managed environment tend to
require more system resources than similar applications that
access machine resources more directly
- Managed byte code can often be easier to reverse-engineer
than native code.
- The .NET Framework currently does not provide support for
calling Streaming SIMD Extensions (SSE) via managed code.
- While the standards that make up .NET are inherently cross-
platform, Microsoft's full implementation of .NET is only
supported on Windows.
23abdelrahmanhosny.com
- Pro C# 2010 and the .NET 4 platform.
By: Andrew Troelsen
- Microsoft Developers Network (MSDN).
- Wikipedia.
24abdelrahmanhosny.com
25abdelrahmanhosny.com
26
- Building C# applications.
- Core C# Programming Constructs
- Data types and strings.
- Type conversions.
- Conditions and Looping.
- Methods
- Arrays.
- Enumerations.
- Structures.
abdelrahmanhosny.com

More Related Content

What's hot

6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technologyPramod Rathore
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmerArun Prasad
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework IntroductionAbhishek Sahu
 
dot net technology
dot net technologydot net technology
dot net technologyImran Khan
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework OverviewDoncho Minkov
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
What is dotnet (.NET) ?
What is dotnet (.NET) ?What is dotnet (.NET) ?
What is dotnet (.NET) ?Talha Shahzad
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net frameworkumesh patil
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Frameworkjavadib
 

What's hot (20)

6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
Life as an asp.net programmer
Life as an asp.net programmerLife as an asp.net programmer
Life as an asp.net programmer
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
dot net technology
dot net technologydot net technology
dot net technology
 
Net framework
Net frameworkNet framework
Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
.NET Framework Overview
.NET Framework Overview.NET Framework Overview
.NET Framework Overview
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
What is dotnet (.NET) ?
What is dotnet (.NET) ?What is dotnet (.NET) ?
What is dotnet (.NET) ?
 
.Net framework
.Net framework.Net framework
.Net framework
 
Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
.net framework
.net framework.net framework
.net framework
 
Introduction .NET Framework
Introduction .NET FrameworkIntroduction .NET Framework
Introduction .NET Framework
 

Similar to 3.0 Introduction to .NET Framework

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
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - IntroductionRandy Connolly
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsQUONTRASOLUTIONS
 
The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnetNethaji Naidu
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notesWE-IT TUTORIALS
 
Dotnet interview qa
Dotnet interview qaDotnet interview qa
Dotnet interview qaabcxyzqaz
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net frameworkFaisal Aziz
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics PresentationSudhakar Sharma
 
.NET TECHNOLOGIES
.NET TECHNOLOGIES.NET TECHNOLOGIES
.NET TECHNOLOGIESProf Ansari
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworksnawal saad
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iRakesh Joshi
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iRakesh Joshi
 

Similar to 3.0 Introduction to .NET Framework (20)

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
 
.NET Online Session
.NET Online Session.NET Online Session
.NET Online Session
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - Introduction
 
Presentation1
Presentation1Presentation1
Presentation1
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
The seven pillars of aspnet
The seven pillars of aspnetThe seven pillars of aspnet
The seven pillars of aspnet
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
 
The Seven Pillars Of Asp.Net
The Seven Pillars Of Asp.NetThe Seven Pillars Of Asp.Net
The Seven Pillars Of Asp.Net
 
Vb
VbVb
Vb
 
Dotnet interview qa
Dotnet interview qaDotnet interview qa
Dotnet interview qa
 
Chapter1
Chapter1Chapter1
Chapter1
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net framework
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
Net Interview questions
Net Interview questionsNet Interview questions
Net Interview questions
 
.NET TECHNOLOGIES
.NET TECHNOLOGIES.NET TECHNOLOGIES
.NET TECHNOLOGIES
 
Dot net
Dot netDot net
Dot net
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
Visual studio
Visual studioVisual studio
Visual studio
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 
Dot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part iDot net-interview-questions-and-answers part i
Dot net-interview-questions-and-answers part i
 

More from Abdelrahman Hosny

Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Abdelrahman Hosny
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - ReviewAbdelrahman Hosny
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerAbdelrahman Hosny
 
Microsoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewMicrosoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewAbdelrahman Hosny
 
1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer ArchitectureAbdelrahman Hosny
 
2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and ProgrammingAbdelrahman Hosny
 

More from Abdelrahman Hosny (16)

Teaching Philosophy
Teaching PhilosophyTeaching Philosophy
Teaching Philosophy
 
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
Confirming dna replication origins of saccharomyces cerevisiae a deep learnin...
 
A Study On Deep Learning
A Study On Deep LearningA Study On Deep Learning
A Study On Deep Learning
 
My Teaching Philosophy
My Teaching PhilosophyMy Teaching Philosophy
My Teaching Philosophy
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
Implementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy ServerImplementing a Caching Scheme for Media Streaming in a Proxy Server
Implementing a Caching Scheme for Media Streaming in a Proxy Server
 
A Servant Leader
A Servant LeaderA Servant Leader
A Servant Leader
 
Microsoft SharePoint 2010 Overview
Microsoft SharePoint 2010 OverviewMicrosoft SharePoint 2010 Overview
Microsoft SharePoint 2010 Overview
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Office365
Office365Office365
Office365
 
The Silent Presentation
The Silent PresentationThe Silent Presentation
The Silent Presentation
 
Team Building
Team BuildingTeam Building
Team Building
 
Introduction to Marketing
Introduction to MarketingIntroduction to Marketing
Introduction to Marketing
 
Interviewing
InterviewingInterviewing
Interviewing
 
1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture1.0 Introduction to Hardware Computer Architecture
1.0 Introduction to Hardware Computer Architecture
 
2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming2.0 Introduction to Computer Science and Programming
2.0 Introduction to Computer Science and Programming
 

Recently uploaded

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 

3.0 Introduction to .NET Framework

  • 1. Introduction to Microsoft .NET Framework 4.0 Abd El-Rahman Hosny Mohammed Microsoft Student Partner. 4th Grade – Faculty of Computers and Information. Computer Science Department. Assiut University. contact: abdelrahmanhosny.com
  • 2. Agenda  Previous State of Affairs - Punched Cards. - Assembly Programming. - C/Windows API - C++/MFC - Visual Basic 6.0 - Java - COM  The .NET Solution  What’s next ?! 2abdelrahmanhosny.com
  • 3. Previous State of Affairs  Punched Cards - Piece of paper, that contains digital information. - Information is represented by the presence or absence of holes in predefined positions. 3abdelrahmanhosny.com
  • 4.  Assembly Programming - More readable for programmers. - Consists of machine instructions. - Each computer architecture has its own assembly commands. - Reduced Instruction Set Computing (RISC). - Complex Instruction Set Computing (CISC). - Using assembler: assembly code => executable machine code. - However, still a low-level programming language. - High-level assembler for assembly languages that have some high-level programming features. 4abdelrahmanhosny.com
  • 6.  C/Windows API - To develop software for Windows operating systems, we use C programming language with the Windows application programming interface (API). - Large number of applications already created with this approach. - However … Manual memory management. Ugly pointer arithmetic. Spaghetti code (thousands of functions & data types). 6abdelrahmanhosny.com
  • 7.  C++/MFC - Object-oriented layer on top of C. - Benefits of OOP (Encapsulation, Inheritance, Polymorphism) - Microsoft Foundation Classes (MFC) are set of C++ classes that facilitate building Windows applications. - MFC hade the underlying Windows API and provide classes, macros and code generation tools (wizards). - However … Backward compatibility with C makes it prone to the same problems (memory management, pointers, constructs). 7abdelrahmanhosny.com
  • 8.  Visual Basic 6.0 - Programmer is now able to build complex user interfaces and code libraries. - Can access databases easily. - Hide Windows API by using code wizards, VB data types, classes and VB-specific functions. - However … Not fully OO (rather it’s object-based). No is-a relationship (No inheritance). No Multi-threaded applications (actually we can use lower level APIs. 8abdelrahmanhosny.com
  • 9.  Java - C-Like - Pure Object-Oriented. - Platform independent. - Developers can build 100% pure java applications. - However … Little language integration (must use Java front to back during the development life cycle. Limited ability to access non-Java APIs. 9abdelrahmanhosny.com
  • 10.  COM - Stands for Component Object Model. - Microsoft’s previous application development framework. - “If you build your types in accordance with the rules of COM, you end up with a block of reusable binary code”. - Language-Independent. - ATL ( Active Template Library) provides a set of C++ classes, templates & macros. - However … Complex Data Type representation 10abdelrahmanhosny.com
  • 11. The .NET Solution - Interoperability with existing source code. - Support for many programming language. - Common run-time engine shared by all .NET-aware languages. - Complete and total language integration. - Comprehensive base class libraries. - No COM. - Simplified deployment model. 11abdelrahmanhosny.com
  • 12. .NET Building Blocks CLR Common Language Runtime CTS Common Type System CLS Common Language Specification 12abdelrahmanhosny.com
  • 13.  CTS (Common Type System) - CTS Specification fully describes all possible data types and programming constructs supported by the run-time. - CTS specifies how these entities can interact with each other and how they are represented in the .NET metadata format. - Some .NET language might not support every feature defined by the CTS. 13abdelrahmanhosny.com
  • 14.  CLS (Common Language Specification) - CLS is a set of rules that describes, in detail, the minimal and complete set of features a given .NET-aware compiler must support to produce code that can be hosted by the CLR, while at the same time can be accessed in a uniform manner by all languages that the .NET platform support. - CLS is a subset of the full functionality of CTS. 14abdelrahmanhosny.com
  • 15.  CLR (Common Language Runtime) - The CLR locate, load and manage .NET types on your behalf. - Memory Management (Garbage Collector). - Application Hosting. - Handling Threads. - Security Checks. 15abdelrahmanhosny.com
  • 16.  CLR (Common Language Runtime) .. cont. - When an assembly is referenced for use, mscore.dll is loaded automatically, which loads the required assembly in turn. (MS Common Object Runtime Execution Engine). - Creating the required custom types. - The key assembly is the mscore.dll, which contains a large number of types, that encapsulate a wide variety of common programming tasks as well as the core data types used by all .NET languages. 16abdelrahmanhosny.com
  • 17. Base Class Libraries - In addition to CLR and CTS/CLS specifications, the .NET platform provides a base class library that is available to all .NET programming languages 17abdelrahmanhosny.com
  • 19. - CIL: the same as Java bytecode, it’ not compiled into platform specific instructions until absolutely necessary. - You can view the CIL code of any assembly using either: ildasm.exe or using Reflector. 19abdelrahmanhosny.com
  • 20. - Metadata describes, in detail, the characteristics of every type within the binary. - Manifest: The current version of the assembly. Culture information (localizing string & image resources). List of externally referenced assemblies that are required for the proper execution of the program.  Single-File assembly vs. Multi-File assembly. 20abdelrahmanhosny.com
  • 23.  Criticism - Applications running in a managed environment tend to require more system resources than similar applications that access machine resources more directly - Managed byte code can often be easier to reverse-engineer than native code. - The .NET Framework currently does not provide support for calling Streaming SIMD Extensions (SSE) via managed code. - While the standards that make up .NET are inherently cross- platform, Microsoft's full implementation of .NET is only supported on Windows. 23abdelrahmanhosny.com
  • 24. - Pro C# 2010 and the .NET 4 platform. By: Andrew Troelsen - Microsoft Developers Network (MSDN). - Wikipedia. 24abdelrahmanhosny.com
  • 26. 26 - Building C# applications. - Core C# Programming Constructs - Data types and strings. - Type conversions. - Conditions and Looping. - Methods - Arrays. - Enumerations. - Structures. abdelrahmanhosny.com