Języki programowania

Języki programowania

Kompilatory, aplikacje...

Kompilacja jest procesem „tłumaczenia” czytelnego dla człowieka języka programowania na kod maszynowy. Służą temu specjalne programy, zwane kompilatorami. Dla każdego języka programowania przeznaczony jest odpowiedni kompilator, potrafiący interpretować instrukcje zapisane w plikach źródłowych. Dostępne oprogramowanie zwykle otrzymujemy w postaci gotowej do instalacji na komputerze, w formie skompilowanego kodu maszynowego, interpretowanego przez procesor. Aplikacje napisane w języku programowania Java dostarczane są w formie tzw. prekompilowanej – byte-kodu, i uruchamiane są za pomocą maszyny wirtualnej Java, stąd – można je wykonywać w różnych systemach operacyjnych, w których może działać maszyna wirtualna. Istnieje jeszcze kategoria języków skryptowych, które nie wymagają kompilacji, są często niezależne od platformy, na której są uruchamiane, czyli mogą działać w zasadzie na każdym komputerze, na którym zainstalowano tzw. interpreter konkretnego języka – czyli program odczytujący instrukcje w pliku źródłowym i wykonujący je. Należą tu takie języki jak na przykład Perl, Python czy PHP, z których ostatni często wykorzystywany jest to pisania dynamicznie generowanych stron www (z tej technologii korzysta wiele serwisów internetowych, np. Allegro). Wśród języków programowania można wyróżnić języki niskopoziomowe, jak różnego rodzaju asemblery. Zależne są one od konstrukcji procesora i generalnie, architektury na którą pisze się dany program. Za pomocą instrukcji asemblera korzystamy bezpośrednio z rozkazów procesora i operujemy na jego rejestrach. Aby stosować asemblera należy posiadać szeroką znajomość zasad działania i budowy komputera. Kolejną kategorią są języki strukturalne, jak choćby język C. Nie wymagają one szczegółowej znajomości zasad działania komputera i procesora, programista stosujący te języki zwykle korzysta z gotowych bibliotek i zdefiniowanych procedur. Względem innych języków strukturalnych, język C operuje na stosunkowo niskim poziomie, stąd jego stosowanie wymaga również wysokiej wiedzy ze strony programisty. Programy pisane w języku C charakteryzują się dużą szybkością działania, i znaczną kontrolą programisty nad zachowaniem programu. Wśród wad wymienia się trudną portatywność (przenośność) kodu między poszczególnymi systemami / architekturami komputerów. Język C, podobnie jak C++, są obecnie najpopularniejszymi językami programowania, wykorzystywanymi do pisania zarówno gier, jak i aplikacji użytkowych. Wśród języków wysokiego poziomu istnieją też języki zorientowane obiektowe, do których należy np. C++ i Java. Pisanie programów w tych językach polega w wielkim uproszczeniu na manipulowaniu obiektami danych, zawierającymi przechowujące informacje zmienne i metody – czyli procedury operujące tymi danymi. Jeszcze wyższy poziom reprezentują języki funkcjonalne, takie jak np. Lisp, stosowane do programowania sztucznej inteligencji.