Jason. Cała informatyka w jednym miejscu!

Kompilator...to słowo jeszcze nieraz będziesz widzieć i słyszeć drogi przyszły (albo obecny) programisto. Chcesz znać krótkie i rzetelne wyjaśnienie? No to wchodzić ☺️!

SKĄD SIĘ WZIĄŁ KOMPILATOR?

Kiedy nas wszystkich nie było jeszcze na tym świecie, w latach .40 XX wieku ludzie mieli do dyspozycji tylko język asemblera (ang. assembly language). Asembler, czego by o nim nie powiedzieć, to jednak daje najlepsze rezultaty co do wydajności wykonywanego programu ✊. Nawet używa się go teraz współcześnie do programowania systemów wbudowanych i sterowników. Domyślamy się pewnie, że z biegiem czasu rosło zapotrzebowanie na narzędzie mogące nas odciążyć od pisania w tym języku i przesiąść się na wygodniejszą składnię.

Przełomem była inicjatywa Pani Grace Hopper w 1951 roku kiedy opracowała pierwszy w historii kompilator (ang. compiler), program dokonujący tłumaczenia kodu źródłowego na język maszynowy (ang. machine code), który dla nas jest nieczytelny, za to komputer doskonale go rozumie 💡. Po paru latach otworzył on wrota do pisania programów w takich językach jak FORTRAN (1957) czy COBOL (1959). Kiedy programista ukończył prace nad kodem źródłowym, to uruchamiał program kompilujący i komputer zwracał wynik (przypominam, że to były czasy kiedy rezultat programu był pisany na karcie perforowanej 😁).

Zatem:

kompilacja = proces tłumaczenia kodu źródłowego języka programowania (zrozumiałego dla człowieka), na język maszynowy (zrozumiały dla komputera)
kompilator = program dokonujący kompilacji

"Got it" 😉? No myślę, że tak 😄! Program też charakteryzuje się sprawdzaniem błędów w kodzie źródłowym, ZANIM sobie "zawróci głowę" jego translacją (w odróżnieniu od interpretera). Współcześnie to wygląda inaczej, wiadomo. Teraz wciskamy przycisk "Kompiluj" i wszystko dzieje się w mgnieniu oka na ekranie, a zamiast karty dziurkowanej mamy pliki wynikowe w różnych formach, w zależności od języka wysokiego poziomu. To może być plik wykonywalny, pliki bajtowe (Java), a nawet kod w języku asemblera jeśli kompilator wspiera taką sposobność (jak np. GCC)!

Język kompilowany to język programowania, którego kod źródłowy jest poddawany kompilacji - tak brzmi definicja ℹ️. Dzisiejsze języki kompilowane to między innymi:

Warto wiedzieć, że to nie jest jedyny sposób na uruchamianie programu. Interpreter to druga sposobność, którą nakreślę Ci szerzej już w odrębnym artykule. On działa na skryptach, podczas gdy kompilator na tzw. plikach źródłowych. Przynajmniej ja spotkałem się z takim rozróżnianiem.


Więcej nie musisz wiedzieć 🙂! Dzięki za przeczytanie od dechy do dechy, bo to Tobie ma służyć, a nie mnie.

PODOBNE ARTYKUŁY