the .net platform - a brief overview

Post on 31-Oct-2014

1.941 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

the .net platform

a brief overview

carlos a. m. lopes

cl@oink.tw

@carlosaml

A LITTLE HISTORY... first,

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

LET’S SEE A BIT MORE ok,

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

COMMON INTERMEDIATE LANGUAGE

now, the

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/default.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

LET’S TALK ABOUT STUFF all right,

• 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

YET MORE HISTORY and

• 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?

THAT’S IT! and

top related