Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to .NET


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Introduction to .NET

  1. 1. Introduction to .NET Lorenzo Dematté @ldematte
  2. 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. 3. .NET is alsoA 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. 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. 5. History1.0, 1.1 Winforms, C# 1, ASP.NET, ADO.NET2.0 Generics, C# 2 (latest CLR)3.0 – “WinFX” WPF, WCF, WF3.5 LINQ, C# 3 (lambda, extension methods)4.0 ParallelFX, C# 4 (dynamic)4.5 Metro, C# 5 (async)
  6. 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#
  7. 7. Core conceptsManaged Garbage collection Introspection (self-description) Virtual machineJIT Verification and optimizationComponentsAssembly Bytecode + Metadata
  8. 8. Where?WindowsLinux, MacOSX Mono, MonoMACEmbedded Windows CE, Windows PhoneMicro Netduino
  9. 9. Outside MS: Languages
  10. 10. Outside MS: Libraries
  11. 11. From source to execution:languagesCompilation csc /out:test.exe test.cs mcs test.cs --out:test2.exeExecution .test.exe mono test.exeMultiple languages csc /t:library /out:testLib.dll testLib.cs fsc test.fs /r:testLibrary.dll
  12. 12. From source to executionAssembly: MSIL + MetadataLoad assembly Plus dependencies “Fusion”JIT
  13. 13. 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…)
  14. 14. An example: Hello World