ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Introduction to .NET

    Lorenzo Dematt¨¦
       @ldematte
What is .NET?


Not different from asking: what is Java?
.NET, XP, 2000¡­ oh my!
A Framework
 Execution environment (CLR)
 Support libraries (BCL)
 Languages (C#, VB, F#)
.NET is also


A platform, an ¡°ecosystem¡±
  Both MS and others
  Tools (VS), libraries, open source projects (Nunit,
  EF)
And also, for some parts, a specification
/standard
  CLI, C#
.NET Framework

  C#              C++/CLI         VB.NET     F#

           PLINQ            TPL

  EF       LINQ

  ADO.NET                   WPF        WCF        WF

  BCL                                                  VS


  CLR (Jitter, VM, Loader, GC, Debugging¡­)

       Host: OS, Hardware, Exe (SQL, IIS)
History

1.0, 1.1
  Winforms, C# 1, ASP.NET, ADO.NET
2.0
  Generics, C# 2 (latest CLR)
3.0 ¨C ¡°WinFX¡±
  WPF, WCF, WF
3.5
  LINQ, C# 3 (lambda, extension methods)
4.0
  ParallelFX, C# 4 (dynamic)
4.5
  Metro, C# 5 (async)
.NET Framework (history)




         PLINQ          TPL            F#


   EF   LINQ
   ADO.NE
   T        WPF          WCF      WF
                                       C++/CLI
   BCL
                                       VB.NET
   CLR (Jitter, VM, Loader, GC,
   Debugging¡­)                         C#
Introduction to .NET
Core concepts


Managed
 Garbage collection
 Introspection (self-description)
 Virtual machine
JIT
 Verification and optimization
Components
Assembly
 Bytecode + Metadata
Where?


Windows
Linux, MacOSX
 Mono, MonoMAC
Embedded
 Windows CE, Windows Phone
Micro
 Netduino
Outside MS: Languages
Outside MS: Libraries
From source to execution:
languages

Compilation
  csc /out:test.exe test.cs
  mcs test.cs --out:test2.exe
Execution
  .test.exe
  mono test.exe
Multiple languages
  csc /t:library /out:testLib.dll testLib.cs
  fsc test.fs /r:testLibrary.dll
From source to execution


Assembly:
  MSIL + Metadata
Load assembly
  Plus dependencies
  ¡°Fusion¡±
JIT
From source to execution
                               Assembly (dll)
  F# source
                               MSIL
                               Assembly
                               (exe)
  C# source
                               MSIL



              Main Func
                                        ASM Main
              Greet Func

              GreetAll Func
   CLR (Jitter, VM, Loader, GC, Debugging¡­)
An example: Hello World

More Related Content

Introduction to .NET

  • 1. Introduction to .NET Lorenzo Dematt¨¦ @ldematte
  • 2. What is .NET? Not different from asking: what is Java? .NET, XP, 2000¡­ oh my! A Framework Execution environment (CLR) Support libraries (BCL) Languages (C#, VB, F#)
  • 3. .NET is also A platform, an ¡°ecosystem¡± Both MS and others Tools (VS), libraries, open source projects (Nunit, EF) And also, for some parts, a specification /standard CLI, C#
  • 4. .NET Framework C# C++/CLI VB.NET F# PLINQ TPL EF LINQ ADO.NET WPF WCF WF BCL VS CLR (Jitter, VM, Loader, GC, Debugging¡­) Host: OS, Hardware, Exe (SQL, IIS)
  • 5. History 1.0, 1.1 Winforms, C# 1, ASP.NET, ADO.NET 2.0 Generics, C# 2 (latest CLR) 3.0 ¨C ¡°WinFX¡± WPF, WCF, WF 3.5 LINQ, C# 3 (lambda, extension methods) 4.0 ParallelFX, C# 4 (dynamic) 4.5 Metro, C# 5 (async)
  • 6. .NET Framework (history) PLINQ TPL F# EF LINQ ADO.NE T WPF WCF WF C++/CLI BCL VB.NET CLR (Jitter, VM, Loader, GC, Debugging¡­) C#
  • 8. Core concepts Managed Garbage collection Introspection (self-description) Virtual machine JIT Verification and optimization Components Assembly Bytecode + Metadata
  • 9. Where? Windows Linux, MacOSX Mono, MonoMAC Embedded Windows CE, Windows Phone Micro Netduino
  • 12. From source to execution: languages Compilation csc /out:test.exe test.cs mcs test.cs --out:test2.exe Execution .test.exe mono test.exe Multiple languages csc /t:library /out:testLib.dll testLib.cs fsc test.fs /r:testLibrary.dll
  • 13. From source to execution Assembly: MSIL + Metadata Load assembly Plus dependencies ¡°Fusion¡± JIT
  • 14. From source to execution Assembly (dll) F# source MSIL Assembly (exe) C# source MSIL Main Func ASM Main Greet Func GreetAll Func CLR (Jitter, VM, Loader, GC, Debugging¡­)