Skąd się wziął język C#? Jego twórca opowiedział o historii projektu

Relacja/Oprogramowanie 08.05.2019
Skąd się wziął język C#? Jego twórca opowiedział o historii projektu

Skąd się wziął język C#? Jego twórca opowiedział o historii projektu

Jedno z krótkich, ale ciekawych spotkań, w których uczestniczyłem w trakcie konferencji Build 2019 w Seattle to spotkanie z Andersem Hejlsbergiem – informatyczną legendą.

Ten skromny i miły człowiek, pochodzący z Danii inżynier, to cichy bohater wielu programistów. Dość powiedzieć, że jest twórcą takich znanych języków jak Turbo Pascal (w czasach kiedy pracował w Borland), Delphi, C#, czy TypeScript. Miał też znaczący udział w powstawaniu takich produktów, jak J++ czy Windows Foundation Classes.

W trakcie spotkania opowiadał o początkach .NET i początkach C#. Oto kilka ciekawostek z jego opowieści.

Początkiem był Project COOL

Microsoft w 1997 roku chciał być COOL – przynajmniej z nazwy. Z projektu COOL (C Object Oriented Language), wziął swój początek język C#. Początkowa koncepcja to (wbrew nazwie) własna implementacja Javy. Inną nazwą, którą można odnaleźć w starej dokumentacji do COM Object Runtime – co pozostawiło swój ślad w nazwach plików (mscorlib.dll).

Jednak w pewnym momencie Microsoft zorientował się, że lepiej zbudować własną technologię, niż opierać się na takiej, którą trzeba licencjonować od innych firm.

Tak właśnie narodził się pomysł stworzenia własnego języka. Anders oficjalnie przejął projektowanie nowego języka w 1998 roku.

Hejlsberg miał ambicję stworzenia od podstaw języka obiektowego

Anders opowiada, że chciał zbudować język tak, aby był lepszy od wiodących wtedy C++ i Javy. Postanowił postawić na obiektowość, prawdziwą wbudowaną refleksję, czyli funkcję języka pozwalającą na badanie własnych obiektów, która będzie działać w środowisku uruchomieniowym, oraz oprzeć się na modelu PME (Properties – Methods – Events).

Jak mówi, projektując nowy język, bawił się świetnie. Najlepsze jest, podkreślał, rozwiązywanie problemów w taki sposób, aby nie rozwiązać tylko tego konkretnego problemu, ale by przy okazji wzbogacić cały produkt.

C# o mało nie nazywał się Cesium

W pewnym momencie rozwoju projektu przyszedł czas na wymyślenie nazwy. Członkowie zespołu Hejlsberga wiedzieli, że to ważne – nazwa ta pozostanie z językiem na zawsze. Jednym z finałowych, prawie ostatecznych pomysłów było Cesium – angielska nazwa cezu, radioaktywnego pierwiastka.

Wtedy modne było nazywać różne rzeczy w informatyce od pojęć chemicznych – wspomina Anders.

W pewnym momencie jednak ktoś się zorientował, że cez jest wysoce szkodliwym, promieniotwórczym pierwiastkiem znajdowanym po wybuchach bomb atomowych. Wymyślono więc C#.

Nazwa C# ma w języku angielskim konotacje muzyczne

C# (C sharp – czyli po polsku „C z krzyżykiem“) to dźwięk wyższy o pół tonu niż C. Twórcom podobało się skojarzenie: jesteśmy trochę lepsi od (języka) C. Niestety, w języku polskim to skojarzenie jest zagubione.

W pewnym momencie .NET Framework zaczął być instalowany jako część systemu operacyjnego. Z jednej strony była to wygoda dla użytkownika – nie musiał nic doinstalowywać aby uruchomić jakąś aplikację. Z drugiej – spowodowało problemy.

W retrospekcji Hejslberg uważa, że uczynienie z .NET komponentu Windows to był błąd. Nie można było przez to np. uruchomić aplikacji działających na różnych wersjach frameworka, a update Windows mógł zepsuć nasze środowisko.

Począwszy od wersji 4 było to już możliwe, bo framework stał się niezależny, a aplikacje w .NET Core można w ogóle budować jako standalone – zawierają wszystkie potrzebne biblioteki w odpowiednich wersjach. To krok w dobrym kierunku.

Twórca C# jest zaskoczony sukcesem języka

Jak powiedział na koniec Anders Hejlsberg, jest zaskoczony, jak wielki sukces odniósł jego projekt. Wciąż czuje się, jak mówi, gościem z Danii, który przyjechał pracować w USA. Tęskni też do programowania, dlatego zajął się TypeScriptem i projektami związanymi z open source na GitHub – dzięki temu może zaspokoić codzienną potrzebę kodowania…

Musisz przeczytać:

Dołącz do dyskusji

Advertisement