Geschiedenis
1960’s - 1990’s
- BCPL naar B
- Gebruikt voor Unix. Eerste OS
- C
- Nakomeling van B
- Datatypes en data in 1 struct. Of object def
- C++
- Java
1995
JAVA
- Geen blue screens bij exceptions
- Sloeg aan bij grote bedrijven
- JAVA is ongeveer JAVA gebleven door de tijd heen
- Heeft een commite om dingen aan te passen aan de taal
- Veel mensen moeten het er mee eens zijn
- Werkt wat traag en log
Microsoft
- Had alleen nog maar COM (Component Object Model)
- Java kreeg al application services en web services
- COM uitbreiden
- COR (COM Object Runtime)
- Geen succes. Vast aan nare afspraken van COM
- Nooit gekomen
- Van scratch beginnen
- .NET als antwoord op JAVA
- C# en VB6 praatte tegen hetzelfde model aan
- Dingen uit beide talen kunnen gebruikt worden
.NET 1.0 naar 2.0
Er is erg veel veranderd
- Oude JAVA applicaties draaien nog op nieuwe runtimes
- Oude .NET draait niet op nieuwe runtime
- Voor devs erg fijn, omdat talen features beter kunnen implementeren
- Voor bedrijven niet fijn, want ze hebben oude OS’en en misschien wel oude hardware nodig
.NET 4.0
Weer meer coole fancy features
- .NET gaat veel sneller omdat het alleen van Microsoft is. Closed source
.NET core
- Helemaal vanaf scratch gebouwd
- Open source
- Had JAVA altijd al als pluspunt, maar nu .NET ook
- Cross-platform
- Had JAVA altijd al als pluspunt, maar nu .NET ook
TDD
Voordelen
- (Bijna) Alle code is getest
- Meer vertrouwen
- Regressietests. Verander je iets, weet je of er iets kapot is gegaan
- Niet meer code dan nodig
- Beter testbare code
- Beter design
Nadelen
- Voor een proof of concept vaak niet lonend
- Voor hele kleine projecten vaak niet lonend
- Nieuwe technologie is moeilijk te TDD’en
AAA test
Datatypes
Verschillende datatypes
‘ushort’, ‘uint’, etc. staat voor unsigned short/int/etc
Ongebroken getallen
bool
char
- 2 bit
- Voor karakters (natuurlijk)
- Uitspraak is ‘kar’, niet ‘tjar’
sbyte en byte
short en ushort
- 2 bit
- Klein getaal
- Eigenlijk bijna nooit gebruiken
int en uint
long en ulong
Gebroken getallen
float
- 4 bit
- 2 keer zo klein als double
double
- 8 bit
- Physical numbers
- Grote gewichten
- Niet precies
- (0.30 - 0.20) != (0.20 - 0.10)
- IEEE standard
- Double 64 bits
- 1 sign bit
- montisse
- 1 sign bit
- exponent
- m * 2^e
- 1/2 = bin 0,1
- 1/4 = bin 0,01
- 1/10 = 0,0001100110011001100… Ergens afronden
- Denk aan 1/3 = 0,3333333…
Double soms niet representateerbaar
- Werkt niet met tiendes
- 7 bits nummer: 1 sign bit, 3 mantisse’s, 2 exponent.
- 0 001 11 is 7
- 9 is niet te maken
- Double zoeken die het dichtste bij ligt als het nummer niet gemaakt kan worden
decimal
- 12 bit
- Geld
- Man made numbers
- Wel precies bij geld want werkt met tiendes
Handige bronnen
- Google
- Microsoft events
- Microsoft sprekers naar Nederland, o.a. bij Info Support
- Collega’s
- Kennisavonden
- dotnetflix