Direkte fra kilden
Danmark er en lille plet i en stor verden, men når det drejer sig om programmeringssprog, så er vi faktisk helt godt med på landkortet.
Så forskellige sprog som C++, Pascal og PHP har alle danske aner i en eller anden grad. Senest har Anders Hejlsberg, som i sin tid stod bag den succesfulde Pascal-udgave Turbo Pascal og Borlands udgave af Object Pascal, Delphi, ageret bagmand for Microsofts .Net arkitektur, og et af .Net-verdenens vigtigste puslebrikker. Brikken er sproget C#, der efter behag kan udtales som "C-sharp" eller "C-havelåge", som nogle foretrækker.
Det er ikke altid, at skaberne af computerteknologier er de bedste til at kommunikere ideerne bag, men Gunnerson klarer opgaven fint.
Ved første blik kan C# ligne Java i stor udstrækning, og der er da også en lang række overensstemmelser mellem de to sprog, men der er mere i det, end man skulle tro ved første øjekast. Hejlsberg ser selv C# som en forbedring af C++, og forbedringerne minder meget om den funktionalitet, Java tilbyder, men som mange andre moderne objektorienterede sprog også byder på.
Løsningsorienteret
Den første trediedel af bogen beskæftiger sig med sprogets konstruktioner, og derefter gennemgås de grundlæggende klassebiblioteker, først og fremmest Array- og Collections-bibliotekerne, som understøtter arrays og containere. Klassebibliotekerne er for øvrigt ikke tilknyttet C#, men er en del af CLR, og er således ens for alle .Net-sprogene, der bygger på CLR.
Herefter bliver bogen mere løsningsorienteret. Først gennemgås multitrådning, og det er nemt i C#. Tre kapitler gennemgår kodegenerering, brug af COM-objekter med hensyn til integrering i en eksisterende kodebase, og et kapitel gennemgår grundlæggende funktionalitet i CRL-biblioteket, så som input/output og dato- og tidsfunktioner. Et kapitel gennemgår Windows Forms, tidligere kendt som WinForms, og det er funktionalitet til generering af grafiske brugerflader.
Afslutningsvist kigger bogen på et praktisk kodeeksempel, og gennemgår ting som kodestil og virkemåden af C#'s garbage collecter.
Bogen giver glimrende indsigt i C# og programmering i .Net-verden. Microsofts teknologier kan nogle gange virke lidt luftige, og det tog denne artikels forfatter et stykke tid at få et begreb om, hvad .Net egentlig er for noget. Gunnersons bog giver et godt udgangspunkt for de forvirrede, og er anbefalelsesværdig læsning for udviklere i Microsoft-verdenen.
C# - introduktion for programmører Af Eric Gunnerson Ingeniørens Forlag ISBN: 87-571-2392-6 Pris: kr 438,00 Antal sider: 416 |
Begyndervanskeligheder
Mest central er sprogets basis i .Net. C# er ikke skabt til at generere binære processorinstruktioner, men til at blive afviklet på en såkaldt Common Language Runtime, som i al væsentlighed minder om Javas virtuelle maskine. Ideen om virtuelle maskiner er nu ældre end Java, og findes også i en række andre sprog, så derfor er der ingen grund til at beskylde arkitekturens udviklere for at plagiere - selv om der givetvis er skelet en hel del til Suns teknologi under udviklingen af sproget. Men det er nødvendigvis ikke en dårlig ting.
De instruktioner, som maskinen fortolker, kaldes andre steder for bytecode eller opcode, og i .Net er navnet Intermediate Language (IL). Andre sprog kan også generere IL, og foreløbig er der tale om .Net-versionen af Visual Basic og sproget J#. Mere spændende er, at .Net indeholder en komponent-arkitektur, som ligeledes er sproguafhængig. Komponenter skrevet i et sprog kan altså benyttes i et andet sprog. Et lag af metadata indkapsler komponenterne, og giver en sproguafhængig mulighed for indsigt (introspektion) i komponentens egenskaber og metoder.
Bogen er skrevet i hverdagsnært sprog og er udmærket oversat. Selv om den kort gennemgår objektorienterede paradigmer, så forudsætter den i praksis at læseren har en vis erfaring med objektoritentering. Hvis læseren har baggrund i C++ eller Java, skulle den være forholdsvis nem at gå til, og et enkelt kapitel gennemgår også forskelle og ligheder med Java. Selv om bogen er en grundlæggende gennemgang, så krydrer forfatteren teksten med eksempler og sine egne begyndervanskeligheder.