Języki programowania

algorytmika i programowanie

Języki programowania

Język programowania – specjalny język służący do pisania programów komputerowych. Jest on zbiorem określonych instrukcji i zasad składni, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Każde słowo lub znak w tym języku jest instrukcją lub jej częścią. Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. 

Elementy języka programowania

Składnia – aby dany ciąg znaków mógł być rozpoznany jako program napisany w danym języku, musi spełniać pewne reguły, zwane składnią. Składnia opisuje:

  • rodzaje dostępnych symboli
  • zasady, według których symbole mogą się łączyć w większe struktury.

Semantyka – definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie. Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

Typy danych – każdy język operuje na jakimś zestawie danych, dlatego niezbędne jest podzielenie danych na odpowiednie typy, zdefiniowanie ich właściwości oraz operacji, jakie można na nich realizować. Większość języków posiada typy danych do reprezentowania:

  • liczb całkowitych w różnych zakresach
  • liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności)
  • ciągów tekstowych.

Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania. Zjawisko konwersji wartości jednego typu na inną nazywa się rzutowaniem.

Wykonanie kodu

Aby program napisany w danym języku mógł być wykonany, niezbędne jest odpowiednie przetworzenie jego kodu źródłowego:

  • Kompilacja czyli tłumaczenie całego programu na język zrozumiały dla procesora i możliwy do wykonania dla komputera.
    Po poprawnym zakończeniu kompilacji program może być uruchomiony.
    Tłumaczenie wykonuje się tylko raz.
    Przykłady języków kompilowanych: Pascal, C++
  • Interpretacja czyli tłumaczenie programu instrukcja po instrukcji tak aby każda wywołana instrukcja była wykonywana przez komputer.
    Tłumaczenie odbywa się każdorazowo przy uruchomieniu programu. 
    Przykłady języków interpretowanych: Logo, Scratch, Python, PHP, JavaScript.

Podział języków programowania:

Języki wysokiego poziomu to języki programowania, których składnia i słowa kluczowe mają maksymalnie ułatwić rozumienie kodu programu przez człowieka. Większość z nich można zaliczyć do języków uniwersalnych, służących do rozwiązywania szerokiego zakresu problemów. Kod, który piszemy w języku wysokiego poziomu nie jest zrozumiały dla komputera. Dlatego aby umożliwić mu wykonanie programu napisanego w takim języku należy poddać go procesowi translacji.

Języki niskiego poziomu (wewnętrzne): assemblery  to języki programowania, w których jednej operacji elementarnej odpowiada najczęściej jedna operacja elementarna rzeczywistego procesora. W języku niskiego poziomu używa się stosunkowo prostych wyrażeń symbolicznych, które odpowiadają zestawowi rozkazów maszynowych.