PeterPan schreef:279 bladzijden.
(...)
Al dat gedoe levert geen fluit op (maakt alleen de kans op fouten groter). Zonde van de tijd als beginnend programmeur.
Mee eens, voor de beginnende programmeur is dit echt overkill. Maar ik denk dat C++ sowieso niet de ideale taal is om mee te beginnen als je nog moet leren programmeren. Talen als (Visual)Basic of PHP zijn dan makkelijker denk ik: veel functies voorradig, en je hoeft niet moeilijk te doen met types, declareren van variabelen en alloceren van arrays enzo
Daarentegen voor de programmeur met wat meer ervaring is C++ juist wel een aanrader, omdat je veel explicieter kan uitdrukken wat er precies moet gebeuren.
PeterPan schreef:Wat is er op tegen dat ik de variabele waarin iemands leeftijd (tussen 0 en 120) als volgt declareer:
long leeftijd;
Op zich niets. Maar wie weet moet je later een keer leeftijden kopiëren uit andere data, waar de leeftijd als (unsigned?) char was gedefinieerd en -1 als 'unknown' gold (of ~0 indien unsigned). Krijg je ineens leeftijden van 255, want -1 of ~0 als long is iets anders. Om maar een dwarsstraat te noemen
Met long zit je aan de veilige kant. Of wordt het programma daardoor traag?
Met float is het nog erger(lijker). Altijd double gebruiken.
Onzin. Als het bijvoorbeeld om een lijst vectorcoördinaten gaat die naar je videokaart gepompt moet worden wil je juist geen doubles gebruiken.
PeterPan schreef:Bovendien vind ik dat een programmeur zich moet bezighouden met het ontwikkelen van algoritmen en zich niet moet hoeven te bekommeren om administratieve zaken (zoals hoeveel bits zit er in een int).
In toekomstige programmeertalen zullen deze mankementen moeten verdwijnen.
Ligt er maar helemaal aan wat (en op welk abstractieniveau) je programmeert. Bij het wegschrijven van bestanden in een bepaald formaat is het juist essentieel om te weten hoeveel bits er in een int zitten. Of bij het bewerken van afbeeldingen maakt het nogal een verschil of je met 8, 16, 24 of 32 bit kleurdiepte werkt.
PeterPan schreef:Nadelen van int en float:
int: De compiler waarschuwt niet als de grenzen overschreden worden. Ga dan maar eens zoeken.
Tuurlijk wel, iedere fatsoenlijke compiler geeft een waarschuwing bij
(als het een 32bits programma betreft tenminste).
En anders is het puur een tekortkoming van de compiler, en heeft niets te maken met de taal of het type int.
float: Numerieke problemen zulllen je genezen en snel doen besluiten elke float in double te veranderen. Zoek de problemen niet op als ze niet hoeven te ontstaan.
Te kort door de bocht, dat is echt maar één kant van het verhaal. Als je alleen maar in algoritmes denkt doen die details er niet toe. Maar de exacte implementatie is net zo belangrijk, en het hangt compleet van de situatie af (en niet zozeer van de taal) waar je wel en geen rekening mee hoeft te houden.