Kompilatory C# i Visual Basic były napisane w C++. Co jest logiczne. Bo C# i Visual Basic były nowymi językami. Nie możesz napisać kompilatora nowego języka w samym języku, który dopiero się tworzy.
Wybór ten jednak stworzył pewien problem. Ekipa pracująca nad językiem C# musiała też znać C++.
Aby dodać nową funkcjonalność języka C# lub Visual Basic trzeba było się mocno wysilić.
Kompilatory nie mogły używać swojego języka.