SlideShare a Scribd company logo
the .net platform

  a brief overview

     carlos a. m. lopes
        cl@oink.tw
        @carlosaml
first,

A LITTLE HISTORY...
in the late 90s...

• Next Generation Web Services

• COM+ 2.0

• Universal Runtime

• ASP 4.0

• J++
“why not put into the system all of these
   silly housekeeping, plumbing tricks?”

   “have the platform do the dirty work,
   then you get to do the creative work”




                Anders Hejlsberg – chief C# architect
MICROSOFT JAVA?!
2002

.NET Framework 1.0
• 2002 – 1.0

• 2003 – 1.1

• 2005 – 2.0

• 2006 – 3.0

• 2007 – 3.5

• 2009 – 4.0
• 2002 – 1.0 SP1 & SP2
• 2004 – 1.0 SP3

• 2004 – 1.1 SP1

• 2007 – 2.0 SP1
• 2009 – 2.0 SP2

• 2007 – 3.0 SP1
• 2009 – 3.0 SP2

• 2008 – 3.5 SP1
ok,

LET’S SEE A BIT MORE
basically,


      the runtime (CLR)
               &
the class libraries (BCL & FCL)
THE CLR
the Common Language Runtime
the common language runtime
• .net platform runtime environment

• VM-like

• Microsoft’s implementation of the CLI

• runs only on Windows environments (!!!)
CLI?!
the common language infrastructure
• open specification (ECMA-335)

• developed by Microsoft

• pretty much defines the core of the platform
  – Common Type System
  – Common Language Specification
  – Virtual Execution System
csharp-online.net
now, the

COMMON INTERMEDIATE
LANGUAGE
aka Microsoft Intermediate Language
the CIL

• the “.net bytecode”

• the CLR JIT compiler uses this to generate
  native code

• and that’s pretty much it
what if I just hate Microsoft but
     somehow love .net?
here we go...

• Mono
  – seems pretty cool, but...


• DotGNU
  – not so promising I guess... :-/
how about copyrights, patents and all
          that cool stuff?
Microsoft Community Promise

http://www.microsoft.com/interop/cp/def
              ault.mspx
bla bla bla
           It is important to note that, under the Community Promise,
anyone can freely implement these specifications with their technology,
code, and solutions. You do not need to sign a license agreement, or
otherwise communicate to Microsoft how you will implement the
specifications.
           The Promise applies to developers, distributors, and users of
Covered Implementations without regard to the development model that
created the implementations, the type of copyright licenses under which
it is distributed, or the associated business model.
           Under the Community Promise, Microsoft provides assurance
that it will not assert its Necessary Claims against anyone who makes,
uses, sells, offers for sale, imports, or distributes any Covered
Implementation under any type of development or distribution model,
including open-source licensing models such as the LGPL or GPL.


                          Peter Galli – Open Source Community Manager at Microsoft
bla bla bla
           It is important to note that, under the Community Promise,
anyone can freely implement these specifications with their technology,
code, and solutions. You do not need to sign a license agreement, or
otherwise communicate to Microsoft how you will implement the
specifications.
           The Promise applies to developers, distributors, and users of
Covered Implementations without regard to the development model that
created the implementations, the type of copyright licenses under which
it is distributed, or the associated business model.
           Under the Community Promise, Microsoft provides assurance
that it will not assert its Necessary Claims against anyone who makes,
uses, sells, offers for sale, imports, or distributes any Covered
Implementation under any type of development or distribution model,
including open-source licensing models such as the LGPL or GPL.


                          Peter Galli – Open Source Community Manager at Microsoft
all right,

LET’S TALK ABOUT STUFF
• value types

• callbacks and events

• generic types directly into the CLR

• pointers (yey!)

• enums
• LINQ
  – type inference
  – anonymous types
  – lambdas
  – extension methods


• DLR (IronRuby, IronPython)

• parallel extensions
and

YET MORE HISTORY
• 2002 – .NET 1.0 – Visual Studio 2002
  – first release
  – not really usable


• 2003 – .NET 1.1 – Visual Studio 2003
  – much better
  – usable
• 2005 – .NET 2.0 – Visual Studio 2005
  – much much better
     • generics
     • anonymous methods
     • VS 2005


• 2006 – .NET 3.0
  – still .NET 2.0 (!)
  – 4 big new components
     • WCF, WPF, WF & WCS
• 2007 – .NET 3.5 – Visual Studio 2008
  – still .NET 2.0 runtime
  – lots of new stuff, specially to support LINQ
     •   expression trees
     •   lambda expressions
     •   extension methods
     •   type inference


• 2008 – .NET 3.5 SP1
  – Entity Framework
  – ADO.NET Data Services
• 2009 – .NET 4.0
  – parallel extensions
     • PLINQ
     • Task Parallel Library
  – dynamic runtime (DLR)
     • dynamic members
     • IronRuby, IronPython
  – F#
  – co- and contra-variance
  – Visual Studio 2010
  – Entity Framework 4.0
WHAT ELSE?
and


THAT’S IT!

More Related Content

PPTX
Dotnet Frameworks Version History
PPT
.Net overview|Introduction Of .net
PPT
.Net framework
PPTX
Introduction to .NET Programming
PPTX
Components of .NET Framework
PPT
Architecture of .net framework
PPT
Architecture of net framework
PPTX
.Net framework
Dotnet Frameworks Version History
.Net overview|Introduction Of .net
.Net framework
Introduction to .NET Programming
Components of .NET Framework
Architecture of .net framework
Architecture of net framework
.Net framework

What's hot (20)

PPTX
Microsoft dot net framework
PDF
Dotnet basics
PPTX
dot net technology
PPT
1.Philosophy of .NET
PPTX
Common language runtime clr
PPTX
01 intro to programming in .net
PPT
DOT Net overview
PDF
Dot Net Fundamentals
PPT
Microsoft .NET Framework
PPT
Module 1: Introduction to .NET Framework 3.5 (Slides)
PPTX
.net CLR
PPT
Dotnet framework
PPTX
.Net Framework Introduction
PPSX
Introduction to .net framework
PPT
DotNet Introduction
PPTX
Evolution of .net frame work
PPTX
Net Fundamentals
PPTX
Introduction to .net FrameWork by QuontraSolutions
PPTX
6.origins genesis of .net technology
PPTX
.Net framework
Microsoft dot net framework
Dotnet basics
dot net technology
1.Philosophy of .NET
Common language runtime clr
01 intro to programming in .net
DOT Net overview
Dot Net Fundamentals
Microsoft .NET Framework
Module 1: Introduction to .NET Framework 3.5 (Slides)
.net CLR
Dotnet framework
.Net Framework Introduction
Introduction to .net framework
DotNet Introduction
Evolution of .net frame work
Net Fundamentals
Introduction to .net FrameWork by QuontraSolutions
6.origins genesis of .net technology
.Net framework
Ad

Viewers also liked (20)

PPTX
.Net platform an understanding
PPTX
.NET Standard - Introduction
PDF
XP In the Real World
PDF
Multiple projects, different goals, one thing in common: the codebase! at Agi...
PDF
Cognitive Biases
PDF
Refactoring Strategies: Beyond the Basics
PDF
Microsoft .NET Platform
PPTX
Application versioning
PPTX
Continuous Delivery Overview
PDF
Trunk Based Development Explored
PPTX
Web Vulnerabilities - Building Basic Security Awareness
PDF
Lessons from Deploying an EMR in Rural India
PDF
Trunk Based Development
PDF
TDD and more than 9000 tries to sell it to a customer
PPTX
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
PDF
Continuous Delivery: Making DevOps Awesome
PDF
Branching Strategies: Feature Branches vs Branch by Abstraction
PDF
Multiple projects, different goals, one thing in common: the codebase!
PPTX
Introduction to .NET Core
PDF
Merge hells - Feature Toggles to the rescue
.Net platform an understanding
.NET Standard - Introduction
XP In the Real World
Multiple projects, different goals, one thing in common: the codebase! at Agi...
Cognitive Biases
Refactoring Strategies: Beyond the Basics
Microsoft .NET Platform
Application versioning
Continuous Delivery Overview
Trunk Based Development Explored
Web Vulnerabilities - Building Basic Security Awareness
Lessons from Deploying an EMR in Rural India
Trunk Based Development
TDD and more than 9000 tries to sell it to a customer
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
Continuous Delivery: Making DevOps Awesome
Branching Strategies: Feature Branches vs Branch by Abstraction
Multiple projects, different goals, one thing in common: the codebase!
Introduction to .NET Core
Merge hells - Feature Toggles to the rescue
Ad

Similar to The .NET Platform - A Brief Overview (20)

PPT
TypeScript - Javascript done right
PPTX
.NET Fundamentals and Business Application Development
PDF
Raffaele Rialdi
PDF
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
PPT
Best DotNet Training in Delhi
PDF
1..Net Framework Architecture-(c#)
PPT
Synapse india fundamentals of dotnet development
PPTX
Third Meetup Slides Mulesoft Mexico City
PPTX
Microsoft .Net Technology
PPTX
Cross platform development with c# and xamarin
PPTX
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
PDF
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
PPTX
Dot net platform and dotnet core fundamentals
PPT
Introduction to .net
PPTX
Second Caracas MuleSoft Meetup Slides
PDF
ASP.NET on zLinux: A New Workload
PPTX
Staying connected: An Overview of Announcements from Microsoft’s Connect();
PPTX
Mini .net conf 2020
PDF
An Introduction to the Model-View-Controller Pattern
PDF
From hello world to goodbye code
TypeScript - Javascript done right
.NET Fundamentals and Business Application Development
Raffaele Rialdi
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
Best DotNet Training in Delhi
1..Net Framework Architecture-(c#)
Synapse india fundamentals of dotnet development
Third Meetup Slides Mulesoft Mexico City
Microsoft .Net Technology
Cross platform development with c# and xamarin
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
Dot net platform and dotnet core fundamentals
Introduction to .net
Second Caracas MuleSoft Meetup Slides
ASP.NET on zLinux: A New Workload
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Mini .net conf 2020
An Introduction to the Model-View-Controller Pattern
From hello world to goodbye code

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PDF
KodekX | Application Modernization Development
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
Teaching material agriculture food technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
KodekX | Application Modernization Development
Building Integrated photovoltaic BIPV_UPV.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Teaching material agriculture food technology
20250228 LYD VKU AI Blended-Learning.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?

The .NET Platform - A Brief Overview

  • 1. the .net platform a brief overview carlos a. m. lopes cl@oink.tw @carlosaml
  • 3. in the late 90s... • Next Generation Web Services • COM+ 2.0 • Universal Runtime • ASP 4.0 • J++
  • 4. “why not put into the system all of these silly housekeeping, plumbing tricks?” “have the platform do the dirty work, then you get to do the creative work” Anders Hejlsberg – chief C# architect
  • 7. • 2002 – 1.0 • 2003 – 1.1 • 2005 – 2.0 • 2006 – 3.0 • 2007 – 3.5 • 2009 – 4.0
  • 8. • 2002 – 1.0 SP1 & SP2 • 2004 – 1.0 SP3 • 2004 – 1.1 SP1 • 2007 – 2.0 SP1 • 2009 – 2.0 SP2 • 2007 – 3.0 SP1 • 2009 – 3.0 SP2 • 2008 – 3.5 SP1
  • 9. ok, LET’S SEE A BIT MORE
  • 10. basically, the runtime (CLR) & the class libraries (BCL & FCL)
  • 11. THE CLR the Common Language Runtime
  • 12. the common language runtime • .net platform runtime environment • VM-like • Microsoft’s implementation of the CLI • runs only on Windows environments (!!!)
  • 13. CLI?!
  • 14. the common language infrastructure • open specification (ECMA-335) • developed by Microsoft • pretty much defines the core of the platform – Common Type System – Common Language Specification – Virtual Execution System
  • 16. now, the COMMON INTERMEDIATE LANGUAGE aka Microsoft Intermediate Language
  • 17. the CIL • the “.net bytecode” • the CLR JIT compiler uses this to generate native code • and that’s pretty much it
  • 18. what if I just hate Microsoft but somehow love .net?
  • 19. here we go... • Mono – seems pretty cool, but... • DotGNU – not so promising I guess... :-/
  • 20. how about copyrights, patents and all that cool stuff?
  • 22. bla bla bla It is important to note that, under the Community Promise, anyone can freely implement these specifications with their technology, code, and solutions. You do not need to sign a license agreement, or otherwise communicate to Microsoft how you will implement the specifications. The Promise applies to developers, distributors, and users of Covered Implementations without regard to the development model that created the implementations, the type of copyright licenses under which it is distributed, or the associated business model. Under the Community Promise, Microsoft provides assurance that it will not assert its Necessary Claims against anyone who makes, uses, sells, offers for sale, imports, or distributes any Covered Implementation under any type of development or distribution model, including open-source licensing models such as the LGPL or GPL. Peter Galli – Open Source Community Manager at Microsoft
  • 23. bla bla bla It is important to note that, under the Community Promise, anyone can freely implement these specifications with their technology, code, and solutions. You do not need to sign a license agreement, or otherwise communicate to Microsoft how you will implement the specifications. The Promise applies to developers, distributors, and users of Covered Implementations without regard to the development model that created the implementations, the type of copyright licenses under which it is distributed, or the associated business model. Under the Community Promise, Microsoft provides assurance that it will not assert its Necessary Claims against anyone who makes, uses, sells, offers for sale, imports, or distributes any Covered Implementation under any type of development or distribution model, including open-source licensing models such as the LGPL or GPL. Peter Galli – Open Source Community Manager at Microsoft
  • 24. all right, LET’S TALK ABOUT STUFF
  • 25. • value types • callbacks and events • generic types directly into the CLR • pointers (yey!) • enums
  • 26. • LINQ – type inference – anonymous types – lambdas – extension methods • DLR (IronRuby, IronPython) • parallel extensions
  • 28. • 2002 – .NET 1.0 – Visual Studio 2002 – first release – not really usable • 2003 – .NET 1.1 – Visual Studio 2003 – much better – usable
  • 29. • 2005 – .NET 2.0 – Visual Studio 2005 – much much better • generics • anonymous methods • VS 2005 • 2006 – .NET 3.0 – still .NET 2.0 (!) – 4 big new components • WCF, WPF, WF & WCS
  • 30. • 2007 – .NET 3.5 – Visual Studio 2008 – still .NET 2.0 runtime – lots of new stuff, specially to support LINQ • expression trees • lambda expressions • extension methods • type inference • 2008 – .NET 3.5 SP1 – Entity Framework – ADO.NET Data Services
  • 31. • 2009 – .NET 4.0 – parallel extensions • PLINQ • Task Parallel Library – dynamic runtime (DLR) • dynamic members • IronRuby, IronPython – F# – co- and contra-variance – Visual Studio 2010 – Entity Framework 4.0