Jak nazywa się składnik platformy .NET, który dostarcza programiście gotowy zestaw klas, wspólny dla wszystkich języków platformy, służący między innymi do obsługi plików, napisów i kolekcji?
Gotowy zestaw klas wspólny dla języków .NET to biblioteka klas bazowych BCL (Base Class Library). Zawiera klasy do pracy z plikami (System.IO), napisami (String), kolekcjami (List, Dictionary), datami i siecią. Ponieważ wszystkie języki platformy kompilują się do tego samego kodu pośredniego, programista C# i programista Visual Basic korzystają z dokładnie tych samych klas.
Reguła do zapamiętania: BCL to „co mam do dyspozycji” (gotowe klasy), a CLR to „kto to uruchamia” (środowisko wykonujące kod). Przykład użycia: odczyt pliku jedną linią File.ReadAllText("dane.txt") zamiast pisania własnej obsługi plików. Biblioteka oszczędza więc czas i ujednolica kod w całym zespole.
Problem z tym pytaniem polega na tym, że wszystkie skróty dotyczą tej samej platformy. Wspólne środowisko uruchomieniowe CLR jest często mylone z biblioteką, bo „dostarcza” programowi wiele usług. CLR zajmuje się jednak wykonaniem: kompiluje kod pośredni na instrukcje procesora, zarządza pamięcią i obsługuje wyjątki. Klas do obsługi plików czy kolekcji samo nie udostępnia.
Infrastruktura językowa CLI to specyfikacja opisująca, jak języki mają współpracować i jak wygląda kod pośredni. To dokument z zasadami, a nie zestaw gotowych klas do użycia w programie.
Skrót CLP nie oznacza żadnego standardowego składnika platformy .NET i występuje tu jako dystraktor. Zestaw klas wspólnych dla wszystkich języków, z którego korzysta programista, to biblioteka klas bazowych BCL. Dzięki niej ta sama klasa do obsługi plików działa identycznie w programie napisanym w C# i w Visual Basic.