Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to .NET
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Lorenzo Dematté
January 22, 2013
Programming
0
200
Introduction to .NET
Lorenzo Dematté
January 22, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
100
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
450
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
170
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
270
Oxlint JS plugins
kazupon
1
940
Basic Architectures
denyspoltorak
0
670
Patterns of Patterns
denyspoltorak
0
1.4k
ぼくの開発環境2026
yuzneri
0
220
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
560
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Transcript
Introduction to .NET Lorenzo Dematté @ldematte
Not different from asking: what is Java? .NET, XP ,
2000… oh my! A Framework Execution environment (CLR) Support libraries (BCL) Languages (C#, VB, F#) What is .NET?
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 is also
.NET Framework C# BCL CLR (Jitter, VM, Loader, GC, Debugging…)
Host: OS, Hardware, Exe (SQL, IIS) ADO.NET WPF EF LINQ WCF WF PLINQ TPL C++/CLI VB.NET F# VS
History 1.0, 1.1 Winforms, C# 1, ASP .NET, ADO.NET 2.0
Generics, C# 2 (latest CLR) 3.0 – “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) C# BCL CLR (Jitter, VM, Loader, GC,
Debugging…) ADO.NET WPF EF LINQ WCF WF PLINQ TPL C++/CLI VB.NET F#
None
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 C# source CLR (Jitter, VM, Loader,
GC, Debugging…) F# source Assembly (dll) MSIL Assembly (exe) MSIL Greet Func GreetAll Func Main Func ASM Main
An example: Hello World