SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
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!

Weitere ähnliche Inhalte

Was ist angesagt?

Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
dot net technology
dot net technologydot net technology
dot net technologyImran Khan
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .netFelisha Hosein
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Mohamed Saleh
 
.net CLR
.net CLR.net CLR
.net CLRDevTalk
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet frameworkNitu Pandey
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework IntroductionAbhishek Sahu
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
DotNet Introduction
DotNet IntroductionDotNet Introduction
DotNet IntroductionWei Sun
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame workvc7722
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsQuontra Solutions
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technologyPramod Rathore
 

Was ist angesagt? (20)

Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Dotnet basics
Dotnet basicsDotnet basics
Dotnet basics
 
dot net technology
dot net technologydot net technology
dot net technology
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
 
.net CLR
.net CLR.net CLR
.net CLR
 
Dotnet framework
Dotnet frameworkDotnet framework
Dotnet framework
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
DotNet Introduction
DotNet IntroductionDotNet Introduction
DotNet Introduction
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
.Net framework
.Net framework.Net framework
.Net framework
 

Andere mochten auch

.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understandingBinu Bhasuran
 
.NET Standard - Introduction
.NET Standard - Introduction.NET Standard - Introduction
.NET Standard - IntroductionImmo Landwerth
 
XP In the Real World
XP In the Real WorldXP In the Real World
XP In the Real WorldCarlos Lopes
 
Multiple projects, different goals, one thing in common: the codebase! at Agi...
Multiple projects, different goals, one thing in common: the codebase! at Agi...Multiple projects, different goals, one thing in common: the codebase! at Agi...
Multiple projects, different goals, one thing in common: the codebase! at Agi...Carlos Lopes
 
Refactoring Strategies: Beyond the Basics
Refactoring Strategies: Beyond the BasicsRefactoring Strategies: Beyond the Basics
Refactoring Strategies: Beyond the BasicsDanilo Sato
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
Application versioning
Application versioningApplication versioning
Application versioningTed Steinmann
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewLuca Minudel
 
Trunk Based Development Explored
Trunk Based Development ExploredTrunk Based Development Explored
Trunk Based Development ExploredCarlos Lopes
 
Web Vulnerabilities - Building Basic Security Awareness
Web Vulnerabilities - Building Basic Security AwarenessWeb Vulnerabilities - Building Basic Security Awareness
Web Vulnerabilities - Building Basic Security AwarenessGurpreet Luthra
 
Lessons from Deploying an EMR in Rural India
Lessons from Deploying an EMR in Rural IndiaLessons from Deploying an EMR in Rural India
Lessons from Deploying an EMR in Rural IndiaGurpreet Luthra
 
Trunk Based Development
Trunk Based DevelopmentTrunk Based Development
Trunk Based DevelopmentCarlos Lopes
 
TDD and more than 9000 tries to sell it to a customer
TDD and more than 9000 tries to sell it to a customerTDD and more than 9000 tries to sell it to a customer
TDD and more than 9000 tries to sell it to a customerAnuar Nurmakanov
 
How Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps AmazeballsHow Continuous Delivery and Lean Management Make your DevOps Amazeballs
How Continuous Delivery and Lean Management Make your DevOps AmazeballsNicole Forsgren
 
Continuous Delivery: Making DevOps Awesome
Continuous Delivery: Making DevOps AwesomeContinuous Delivery: Making DevOps Awesome
Continuous Delivery: Making DevOps AwesomeNicole Forsgren
 
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionBranching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionChris Birchall
 
Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Carlos Lopes
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET CoreMarco Parenzan
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueLeena N
 

Andere mochten auch (20)

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

Ähnlich wie The .NET Platform - A Brief Overview

TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done rightWekoslav Stefanovski
 
.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development명신 김
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time Amazon Web Services
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfssuserbe139c
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)Shoaib Ghachi
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet developmentSynapseindiappsdevelopment
 
Third Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico CityThird Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico CityAlan Muñoz Ochoa
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarinLuca Zulian
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxGaytriMate
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsLalit Kale
 
Second Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesSecond Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesFernando Silva
 
ASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New WorkloadASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New WorkloadNovell
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
 

Ähnlich wie The .NET Platform - A Brief Overview (20)

TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development.NET Fundamentals and Business Application Development
.NET Fundamentals and Business Application Development
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdfCLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
CLR_via_CSharp_(Jeffrey_Richter_4th_Edition).pdf
 
Best DotNet Training in Delhi
Best   DotNet Training  in DelhiBest   DotNet Training  in Delhi
Best DotNet Training in Delhi
 
1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
 
Synapse india fundamentals of dotnet development
Synapse india fundamentals of dotnet  developmentSynapse india fundamentals of dotnet  development
Synapse india fundamentals of dotnet development
 
Third Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico CityThird Meetup Slides Mulesoft Mexico City
Third Meetup Slides Mulesoft Mexico City
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Cross platform development with c# and xamarin
Cross platform development with c# and xamarinCross platform development with c# and xamarin
Cross platform development with c# and xamarin
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
 
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream ProjectsITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
ITCamp 2017 - Raffaele Rialdi - Adopting .NET Core in Mainstream Projects
 
Dot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentalsDot net platform and dotnet core fundamentals
Dot net platform and dotnet core fundamentals
 
Introduction to .net
Introduction to .netIntroduction to .net
Introduction to .net
 
Second Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup SlidesSecond Caracas MuleSoft Meetup Slides
Second Caracas MuleSoft Meetup Slides
 
ASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New WorkloadASP.NET on zLinux: A New Workload
ASP.NET on zLinux: A New Workload
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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