Faktem jest, że rozwój technologiczny świata, szczególnie w zakresie informatyki, pędzi dziś do przodu szybciej, niż kiedykolwiek wcześniej. Jednak nawet w tej branży znajdziemy pewne stałe, technologie, które wydają się być niewrażliwe na upływ kolejnych lat. Jedną z nich jest niewątpliwie język programowania C stanowiący podstawę dzisiejszej informatyki. 

Szczypta historii

Język C został stworzony na początku lat siedemdziesiątych na podstawie jeszcze starszego języka B przez Dennisa Ritchiego – tego samego, który wraz z Kenem Thompsonem stworzył system operacyjny Unix. Wspomnienie o drugim z wielkich dzieł Ritchiego – Uniksie – jest tu jak najbardziej zasadne, bowiem sam język C powstał pierwotnie w celu uniezależnienia systemu operacyjnego od sprzętu w postaci komputera PDP-11.

komputer PDP-11, na którym powstał Unix
Tak wyglądały komputery w czasach powstania języka C. Na zdjęciu: Ken Thompson i Dennis Ritchie przy PDP-11

Przepisanie systemowych narzędzi, a przede wszystkim jądra, umożliwiło przeniesienie Uniksa na inne platformy sprzętowe. Taki ruch ze strony programistów wywołał początkowe kontrowersje – uważano, że krytyczne oprogramowanie (takie, jak system operacyjny komputera) powinno być maksymalnie blisko metalu, a przez to nie może być tworzone w językach programowania wysokiego poziomu, lecz w asemblerze. Błyskawiczny rozwój sprzętu miał jednak zweryfikować to podejście, a przenośność systemu operacyjnego stać się sprawą kluczową dla jego popularyzacji.

Na początku lat osiemdziesiątych język C opuścił laboratoria Bella i ruszył na podbój świata. Niskopoziomowy dostęp do pamięci, redukcja ilości kodu względem asemblera, możliwość pisania przenośnego (w aspekcie sprzętowym) oprogramowania i wiele innych cech sprawiły, że C zaczął błyskawicznie nabywać popularność.

Język C napędza świat 

Nie tylko Unix został przepisany w języku C. To samo spotkało bazodanowe oprogramowanie Oracle Database i to już w 1983 roku. Dwa lata później z użyciem C powstał Windows 1.0 (wówczas jako nakładka na MS-DOS), a także w głównej mierze jądro NT, które z czasem stało się sercem wszystkich wydań systemu Microsoftu.

W 1991 roku powstał chyba najsłynniejszy projekt w języku C – Linux. Fakt stworzenia go właśnie w tym wysokopoziomowym języku wpłynął pozytywnie na jego popularność, a uruchomienie Linuksa możliwe jest niemalże na każdej platformie sprzętowej. Dziś Linux napędza smartfony, laptopy, komputery, sprzęt sieciowy, a także niemalże wszystkie najpotężniejsze superkomputery na świecie znajdujące się na liście TOP500.

Również macOS od Apple, jako system pochodzący z uniksowej rodziny, napisany został w głównej mierze w języku C.

Android, czyli system napędzający miliony smartfonów i innych urządzeń? Działa na jądrze Linux, a jądro Linux jest – jak wspomniałem – w C. iOS? Został zbudowany w oparciu o kernel Darwin z systemu macOS, a więc i tutaj najważniejsza i najbardziej krytyczna część systemu została napisana w języku C.



Systemy bazodanowe, takie jak wspomniany Oracle Database, a także MySQL, PostgreSQL, czy SQL Server Microsoftu zostały napisane w C. Oprogramowanie do edycji grafiki i wideo? W zdecydowanej większości – C lub jego rozbudowana i obiektowa wersja C++. Systemy wbudowane? Niemal zawsze C. Napisane w tym języku oprogramowanie budzi Cię rano, zarządza pracą mikrofalówki, w której podgrzewasz dania, steruje systemami Twojego samochodu i telewizora. Elastyczność, efektywność, wydajność i bliskość do sprzętu sprawiają, że oprogramowanie w języku C otacza nas ze wszystkich stron.

Czytaj więcej: Jaki dysk w chmurze wybrać? Porównanie dysków w chmurze, test wydajności. 

C posłużył także jako podstawa i wzór do budowy innych języków: przede wszystkim C++, ale także wysokopoziomowych Javy, Pythona, JavaScriptu, PHP, Perla… Śmiało można powiedzieć, że bez C świat nie byłby taki sam. Nie tylko świat informatyki, lecz świat w ogóle.

Dlaczego C jest dalej popularny i co może go zastąpić? 

Język C powstawał jako język wysokopoziomowy. Dziś jednak, w czasie aplikacji mobilnych i webowych, big data i chmury, język C stał się językiem niskiego poziomu przeznaczonym dla krytycznych systemów. W popularnych zadaniach programistycznych znacznie lepiej sprawdzają się JavaScript i jego milion frameworków, Python, Java, które wyposażone są w odpowiednie biblioteki znacząco ułatwiające pracę nad interfejsem graficznym, komunikację z bazą danych i przetwarzanie tych danych, obsługę mediów.

Język C. Przyszłość języka C, czy zostanie zastąpiony przez inne oprogramowanie?

C nigdzie się jednak nie wybiera. Przede wszystkim ogromna ilość oprogramowania, które powstało w C sprawia, że język ten długo pozostanie popularnym. Trudno bowiem wyobrazić sobie, aby nagle ktoś zdecydował się przepisać ponad 25 milionów linii kodu Linuksa, podobną ilość w przypadku Windowsa i kolejne miliony linijek kodu firmware systemów wbudowanych, programów, sterowników urządzeń. Zresztą… po co?

Język C powstał jako język do tworzenia systemów operacyjnych i innego wysokiej ważności oprogramowania. W tej roli sprawdza się idealnie – z jednej strony jest wystarczająco wysokopoziomowy, aby zapewniać łatwe przenoszenie oprogramowania na inne architektury, z drugiej natomiast jest wystarczająco blisko sprzętu, aby pozwalać deweloperom programować niskopoziomowo, a przez to zapewniać wysoką wydajność krytycznych systemów.

Czytaj więcej: Jak uruchomić stronę internetową na serwerze? Instalacja i konfiguracja LAMP na Debianie. 

Śmiało można więc powiedzieć, że C nigdzie się nie wybiera i nie ma terminu ważności. Język C jest przeszłością, teraźniejszością i – najprawdopodobniej – przyszłością wielu obszarów informatyki.