Original article: https://www.stroustrup.com/bs_faq.html

Bjarne Stroustrup's FAQ

Gewijzigd op 26 mei 2024.

Dit zijn vragen die mensen mij vaak stellen. Als je betere vragen of opmerkingen over de antwoorden hebt, stuur me dan gerust een e-mail. Houd er rekening mee dat ik niet al mijn tijd kan besteden aan het verbeteren van mijn webpagina's.

Deze pagina gaat vooral over persoonlijke meningen en algemene vragen over filosofie. Voor vragen die directer te maken hebben met C++ taalkenmerken en het gebruik van C++, zie de FAQ van de C++ Foundation of mijn FAQ over C++ stijl en techniek. Voor C++ terminologie en concepten, zie mijn C++ woordenlijst. Voor links naar nuttige bronnen met C++ informatie, zie mijn C++ pagina en mijn C++11 FAQ. Voor informatie over mijn boeken, inclusief recensies en ondersteuning, zie mijn boekenlijst. Voor papers en ISBN's voor vertalingen van mijn boeken, zie mijn publicatielijst.

Index


Hoe spreek je "Bjarne Stroustrup?" uit?

Het kan moeilijk zijn voor niet Scandinaviërs. De beste suggestie die ik tot nu toe heb gehoord was: "begin door het een paar keer in het Noors te zeggen, stop dan een aardappel in je keel en doe het opnieuw". Hier is een wav bestand.

Voor mensen die geen geluid kunnen ontvangen, is hier een suggestie: Beide namen worden uitgesproken met twee lettergrepen: Bjar ne Strou strup. Noch de B noch de J in mijn voornaam worden benadrukt en de NE is vrij zwak. De eerste U in mijn achternaam had eigenlijk een V moeten zijn. De tweede U is een beetje zoals de OO in OOP, maar nog steeds kort.

Ja, dit is waarschijnlijk de meest gestelde vraag.

P.S. Mijn voornaam is Bjarne niet Bjorn, Bjørn of Barney. Mijn achternaam is Stroustrup niet Stroustroup, Stroustrop, Strustrup, Strustrop, Strustroup, Straustrup of Straustroup.


Mag ik je een vraag stellen?

Zeker. Ik probeer mijn e-mail te beantwoorden. Probeer echter te vermijden dat je een vraag stelt die al op mijn webpagina's wordt beantwoord. Reken ook niet op een snel antwoord. Ik krijg heel veel e-mail.

Hier zijn links naar biografische informatie, C++ informatie en links, papers, boeken en interviews.


Waarom beantwoord je je e-mail niet?

Ik doe dat wel, maar ik krijg veel e-mail. Ik schat dat ik meer dan 95% van de niet spam berichten beantwoord die ik ontvang. Maar soms word ik overspoeld. Sommige berichten raken kwijt in mijn mailbox, sommige worden vertraagd totdat ik tijd kan vinden.

Als je me mailt, probeer er dan voor te zorgen dat ik je kan antwoorden. Ik haat het echt wanneer ik een antwoord heb geschreven en verstuurd, om er daarna achter te komen dat het retouradres ongeldig of onbereikbaar is.

Twee soorten berichten hebben een relatief grote kans om verloren te gaan: huiswerkvragen en vragen van de vorm hoe gebruik ik deze propriëtaire library.


Waarom maak je je website niet modern?

Ik ben een leverancier van inhoud, niet een webdesigner. Ik kan mijn tijd gebruiken om de inhoud of het uiterlijk te verbeteren, maar niet allebei.

Wat iemand cool en modern vindt, wordt door iemand anders vaak als slechte smaak gezien. Ook laadt en toont heel eenvoudige HTML sneller dan wat dan ook.


Is "bjarne" een bedrieger?

Waarschijnlijk niet. De meeste postings in nieuwsgroepen, interviews enzovoort die beweren van mij te komen, komen ook echt van mij. De duidelijke uitzondering is het beruchte IEEE interview.


Wat is er zo geweldig aan klassen?

Klassen helpen je om je code te organiseren en om over je programma's te redeneren. Je kunt grofweg zeggen dat klassen er zijn om je te helpen fouten te vermijden en om bugs te vinden nadat je toch een fout hebt gemaakt. Zo helpen klassen onderhoud aanzienlijk.

Een klasse is de representatie van een idee, een concept, in code. Een object van een klasse representeert een concreet voorbeeld van dat idee in code. Zonder klassen zou een lezer van de code moeten raden naar de relaties tussen data en functies.

struct Pair {
    string name, value;
};

Bij het ontwerpen van een klasse is het vaak nuttig om te bedenken wat voor elk object van de klasse en op elk moment waar moet zijn. Zo'n eigenschap heet een invariant.

class File_handle {
public:
    File_handle(const char* n, const char* rw)
        { f = fopen(n,rw); if (f==0) throw Open_failure(n); }
    ~File_handle() { fclose(f); }
private:
    FILE* f;
};

Als je nog niet met klassen hebt geprogrammeerd, zul je delen van deze uitleg vaag vinden. Zoek voorbeelden.