Co to jest język skompilowany?
Język skompilowany to komputerowy język programowania, którego kod źródłowy jest zwykle kompilowany lub tłumaczony na kod maszynowy w celu utworzenia programu wykonywalnego. Kompilatory są programami narzędziowymi stworzonymi do tłumaczenia konkretnej implementacji języka programowania na wykonywalny plik binarny zaprojektowany do działania w określonym systemie operacyjnym. Ten autonomiczny plik wykonywalny można uruchomić na dowolnej kompatybilnej platformie bez pomocy innego programu i bez potrzeby ponownej kompilacji. Niektóre popularne języki kompilowane to Ada, C ++ i Fortran.
Programy komputerowe można także pisać w języku interpretowanym lub języku skryptowym. Decyzja o wdrożeniu projektu w skompilowanym języku jest zwykle związana ze znacznie większą szybkością wykonywania jego programów. Widoczna jest większa prędkość, która równoważy bardziej złożony proces rozwoju i konserwacji. Systemy operacyjne i narzędzia, które potrzebują bezpośredniego dostępu do sprzętu, często wymagają wydajności skompilowanego języka.
Języki interpretowane muszą być analizowane, tłumaczone i wykonywane przez narzędzie tłumacza przy każdym uruchomieniu programu. Jeśli tłumacz nie jest rezydentem na komputerze, program nie może zostać uruchomiony. W języku skompilowanym ta czasochłonna analiza i tłumaczenie są przeprowadzane raz na czas kompilacji, a plik wykonywalny nie wymaga uruchomienia programu narzędziowego. Gdy szybkość lub potrzeba dostępu do sprzętu na niskim poziomie nie jest czynnikiem, względna łatwość wdrożenia interpretowanego programu może uczynić go atrakcyjną opcją.
Języki skryptowe są często implementowane w celu zapewnienia użytkownikom większej kontroli nad skompilowanymi programami językowymi lub zapewnienia dodatkowej funkcjonalności. Ten typ języka należy również interpretować w czasie wykonywania. Najbardziej znanym językiem skryptowym są strony internetowe, na których przeglądarka pełni rolę interpretera skryptów. Jednak takie języki istnieją od czasów wczesnych komputerów mainframe, aby zautomatyzować proste procesy.
Podczas opracowywania projektu oprogramowania często trzeba dokonać wyboru między efektywnym wykorzystaniem zasobów komputerowych a kosztem czasu programowania. Może to prowadzić do połączenia języka skompilowanego z językiem tłumaczonym lub skryptowym w ramach konkretnego projektu. Elementy programu mające krytyczne znaczenie dla czasu i zasobów są zwykle najlepiej kodowane w skompilowanym języku. Interfejsy i elementy o mniejszych wymaganiach dotyczących zasobów mogą być bardziej ekonomicznie rozwijane w tłumaczonym języku. Nawet elementy, które ostatecznie zostaną zaimplementowane w języku skompilowanym, mogą być tańszym prototypem jako program w języku interpretowanym.