Skip to content

1. Inleiding

De PDF van dit document is beschikbaar |HIER|.

De voorbeelden in dit document zijn beschikbaar |HIER|.

C# is een recente programmeertaal. De taal was sinds het jaar 2000 beschikbaar in opeenvolgende bètaversies, voordat deze in februari 2002 officieel werd uitgebracht, gelijktijdig met het .NET 1.0-platform van Microsoft waaraan de taal is gekoppeld. C# kan alleen in deze uitvoeringsomgeving functioneren. Deze omgeving stelt een zeer uitgebreide verzameling klassen ter beschikking aan de programma’s die erin worden uitgevoerd. In eerste instantie kan worden gesteld dat het .NET-platform een uitvoeringsomgeving is die vergelijkbaar is met een Java-virtuele machine. Er zijn echter twee verschillen:

  • Java draait al sinds het begin op verschillende besturingssystemen (Windows, Unix, Macintosh). In 2002 draaide het .NET-platform alleen op Windows-computers. Sinds enkele jaren maakt het Mono-project het mogelijk om het .NET-platform te gebruiken op besturingssystemen zoals Unix en Linux. De huidige versie van Mono (februari 2008) ondersteunt .NET 1.1 en onderdelen van .NET 2.0.
  • Het .NET-platform maakt het mogelijk om programma’s uit te voeren die in verschillende talen zijn geschreven. Het volstaat dat de compiler van deze talen IL-code (Intermediate Language) kan genereren, code die wordt uitgevoerd door de .NET virtuele machine. Alle klassen van .NET zijn beschikbaar voor talen die compatibel zijn met .NET, wat de verschillen tussen talen doet vervagen, aangezien programma’s deze klassen op grote schaal gebruiken. De keuze voor een .NET-taal wordt dan meer een kwestie van smaak dan van prestaties.

In 2002 maakte C# gebruik van het .NET 1.0-platform. C# was toen grotendeels een „kopie“ van Java en .NET een klassenbibliotheek die sterk leek op die van het Java-ontwikkelingsplatform. Bij het leren van de taal stapte men van een C#-omgeving over naar een Java-omgeving zonder dat dit echt vreemd aanvoelde. Er waren zelfs tools beschikbaar om broncode van de ene taal naar de andere te converteren. Sindsdien zijn de zaken veranderd. Elke taal en elk ontwikkelingsplatform heeft nu zijn eigen specifieke kenmerken. Het is niet meer zo vanzelfsprekend om vaardigheden van het ene domein naar het andere over te dragen.

C# 3.0 en het .NET 3.5-framework brengen veel nieuwigheden met zich mee. De belangrijkste is waarschijnlijk LINQ (Language INtegrated Query), waarmee op een uniforme manier, vergelijkbaar met de taal SQL, reeksen objecten afkomstig uit geheugenstructuren zoals arrays en lijsten, uit databases (momenteel alleen SQL Server – februari 2008) of uit XML-bestanden.

Dit document is geen uitputtende cursus. Zo wordt LINQ er bijvoorbeeld niet behandeld. Het is bedoeld voor mensen die al bekend zijn met programmeren en die de basis van C# willen ontdekken. Het is een herziening van het oorspronkelijke document dat in 2002 verscheen.

Verschillende boeken hebben me geholpen bij het schrijven van deze cursus:

Voor de versie uit 2002:

  • Professional C# programming, Wrox Editions
  • C# en .NET, Gérard Leblanc, Eyrolles

Destijds vond ik deze twee boeken uitstekend. Sindsdien heeft Gérard Leblanc bijgewerkte versies gepubliceerd, waaronder de volgende:

  • C# en .NET 2005, Gérard Leblanc, Eyrolles

Voor de herziening van 2008 heb ik de volgende bronnen gebruikt:

  • het oorspronkelijke document uit 2002. Dit document, dat voortkwam uit een kopieer- en plakactie uit mijn Java-cursus, bevatte zowel typografische fouten als ernstigere fouten, zoals de bewering dat primitieve typen zoals System.Int32 klassen waren, terwijl het in feite structuren zijn. Mea culpa...
  • de MSDN-documentatie van Visual Studio Express 2008
  • het boek *C# 3.0 in a Nutshell* van Joseph en Ben Albahari, uitgegeven door O’Reilly, een van de beste programmeerboeken die ik ooit heb gelezen.

De broncodes van de voorbeelden in dit document zijn beschikbaar op de website [HIER].

De PDF van het document is beschikbaar |HIER|.

Serge Tahé, mei 2008

Sinds mei 2008 is C# uiteraard verder ontwikkeld. Dit document blijft echter nog steeds actueel voor het leren van deze taal. Als aanvulling op deze cursus is er een presentatie van de ORM (Object Relational Mapper) Entity Framework in het artikel "Inleiding tot het ORM Entity Framework 5 Code First" op de URL [https://stahe.github.io/nl-ef5cf-oct-2012/].

Serge Tahé, oktober 2013