C-sharp
Wikipedia
C# (C-sharp) är ett objektorienterat programspråk som utvecklats av Microsoft i samband med skapandet av den nya .NET-plattformen. C# är ett (strikt) objektorienterat språk och som namnet antyder bygger det på det populära språket C/C++ med starka influenser av Java.
Ansvarig för utvecklingen av C# var Anders Hejlsberg som även är far till Turbo Pascal samt Delphi.
Källkod skriven i C# omvandlas av en kompilator till så kallad MSIL-kod (Microsoft Intermediate Language) som sedan exekveras inuti en virtuell maskin kallad CLR (Common Language Runtime). Inuti CLR:en lever objekten i skyddade miljöer som kallas Application Domains. Kommunikationen mellan objekt i olika Application Domains kan ske väldigt effektivt, i synnerhet om dessa finns i samma process på samma fysiska dator.
Innehåll |
[redigera] Historia
År 1996 rekryterades Anders Hejlsberg till Microsoft som arkitekt för Visual J++. Hejlsberg blev sedan chefsarkitekt för C# som blir en del av Microsoft.NET. C# 1.2 lämnades in till ECMA för standardisering och blev år 2001 godkänt som ECMA-334. C# är även ISO-standardiserat som ISO/IEC 23270. Version 2.0 av C# släpptes i samband med Microsoft Visual Studio 2005 (även känd som Whidbey) i November 2005.
[redigera] Funktioner
- Attributbaserad
- Objektorienterad
[redigera] Fördelar
- Lätt att lära sig – För en C++/Java-programmerare bör det inte vara några problem att gå över till C# då syntaxen är lik. Dessutom har .NET ett stort kodbibliotek som gör det relativt enkelt att göra till exempel grafiska program.
- Flera användningsområden – C# kan både användas som kompilerat språk på en lokal dator och som språk i ASP.NET. Detta gör det enkelt att länka samman program på datorn med serverskript.
- Används och kommer att användas i Microsofts produktflora vilket möjliggör enkel integration.
- C#-kompilatorn ingår som standard i installationen av Microsoft.NET och kan användas utan några som helst licenser och utvecklingsverktyg.
[redigera] Nackdelar
- Kan vara långsamt – C#/Dotnettillämpningar körs precis som Javatillämpningar i en Virtual Machine och kan i uppstartsfasen upplevas som långsamma. Verktyget ngen.exe som ingår i SDK:t kan dock användas för att förkompilera MSIL-koden till äkta maskinkod för den aktuella processorarkitekturen. Därigenom snabbas starten av programmet upp, då ingen JIT-kompilering längre är nödvändig. Observera att .NET assemblies förkompilerade med ngen.exe startar snabbare men ofta exekverar långsammare då ingen optimering av koden är möjlig som vid användning av JIT-kompilering.
- Kräver Dotnet – användaren av ett Dotnetprogram behöver minst det 23 MB stora Dotnet Framework på sin dator, även om detta ingår i nyare utgåvor av Windows.
- Plattformsberoende – C# är starkt bundet till Windows även om Dotnetimplementationer finns för andra operativsystem, till exempel Mono för GNU/Linux.
[redigera] Hello, World!
Det klassiska "Hello, world!"-programmet kan skrivas så här i C#:
using System; namespace HelloWorld { class Hello { public static void Main() { Console.WriteLine("Hello World!"); } } }
[redigera] Externa länkar
- C# School ebook (pdf)