Języki programowania

Listopad 2016

"Język programowania" to język stworzony do opisu kolejnych kroków, które mają być podjęte przez komputer. Innymi słowy, to konkretna instrukcja dawana komputerowi przez człowieka.

Z drugiej stronny, termin „język” określa sposoby porozumienia się współdzielone przez grupę ludzi (np. angielski lub francuski).

Języki, których komputery używają między sobą nie mają nic wspólnego z językami programowania, odnoszą się one do protokołów komunikacyjnych. Są to dwa bardzo odmienne pojęcia. Języki programowania są bardzo precyzyjne:

KAŻDE polecenie odnosi się do JEDNEJ akcji procesora.

Język używany przez procesor to kod maszynowy. Ten kod dostarcza
procesorowi serię 0 i 1 (znanych, jako dane binarne).

Kod maszynowy jest dla człowieka trudny do pojęcia. Dlatego stworzono wiele pośrednich języków, zwanych językami programowania. Kod pisany w języku programowania jest przetwarzany na kod maszynowy tak, by mógł zostać przetworzony przez procesor.

Pierwszym używanym językiem programowania był Asembler. Jest on bardzo zbliżony do kodu maszynowego, ale jest zrozumiały dla deweloperów. Niemniej jednak, język używany do wydawania poleceń procesorowi, ściśle zależy od jego typu (każdy procesor może mieć inny kod).

Kod wymyślony dla jednej maszyny, nie zawsze może być przeniesiony na inną.

Termin przenoszenie opisuje możliwość użycia danego program na maszynie innego rodzaju. Program komputerowy napisany w języku Asembler, może wymagać napisania od nowa, by móc pracować na innego typu komputerze.

Języki programowania mają wiele zalet:

  • są łatwiejsze do zrozumienia niż kod maszynowy
  • mają szersze zastosowanie – mogą być używane na różnych rodzajach komputerów

Języki programowania funkcyjnego i imperatywnego


Języki programowania, generalnie, dzielą się na dwie podstawowe grupy, w zależności od sposobu, w jaki przetwarzają polecenia:

  • języki imperatywne
  • języki funkcyjne

Imperatywne języki programowania


Imperatywne języki programowania korzystają z serii poleceń, pogrupowanych w bloki składających się z instrukcji warunkowych i pozwalających programowi na powrót do bloku poleceń, jeśli warunek został spełniony. Języki imperatywne były pierwszymi językami programowania, ale nawet dziś wiele współczesnych języków opiera się na tej regule.

Strukturyzowane języki imperatywne cierpią jednak na brak elastyczności, jaką powoduje konieczność kolejnego wykonywania instrukcji.

Funkcyjne języki programowania


Funkcyjny język programowania (często nazywany językiem proceduralnym) to język, który tworzy nowe programy przy użyciu funkcji, wracając do stanu
wyjściowego i odbierając na wejściu wynik innych funkcji. Jeśli funkcja wywołuje się sama, określamy to zjawisko mianem rekursji.

Interpretacja I zestawienia


Języki programowania można z grubsza podzielić na dwie kategorie:
  • języki interpretowane
  • języki kompilowane

Język interpretowany


Język programowania jest z definicji inny niż kod maszynowy. Dlatego musi być tłumaczony tak, by zrozumiał go procesor. Każdy program wymaga dodatkowego programu (tłumacza), który będzie interpretował komendy, gdy zajdzie taka potrzeba.

Język kompilowany


Program napisany w języku kompilowanym jest tłumaczony przez dodatkowy program nazywany kompilatorem który tworzy nowy, niezależny program, potrafiący samodzielnie wykonywać polecenia. Ponadto, jeśli tłumaczenie musi być wykonane natychmiast,
z kompilatorem dzieje się to znacznie szybciej. Jednak program napisany w języku kompilowanym, nie jest tak elastyczny, jak ten, napisany w języki interpretowanym, ponieważ każda zmiana pliku źródłowego oznacza, że program musi być na nowo skompilowany, by wprowadzone zmiany zaczęły być widoczne.

Z drugiej jednak strony, program kompilowany ma przewagę, w postaci większego bezpieczeństwa kodu źródłowego. Oznacza to, że język interpretowany jest bardziej czytelny dla każdego, kto zechce poznać jego sekrety i skopiować, a nawet zmodyfikować program. Niesie to ze
sobą ryzyko naruszenia praw autorskich. Powszechnie stosuje się też zabezpieczenia w postaci kodu bezpieczeństwa, aby uniknąć niepożądanego kopiowania danych (np. transakcje bankowe).

Języki pośrednie


Niektóre języki (np. LISP, Java, Python) należą do obu kategorii. A programy w nich napisane mogą w niektórych przypadkach przechodzić pośredni etap kompilacji, do pliku napisanego w języku innym niż plik źródłowy. Aplikacje Java, małe programy, często otwierane w internecie strony internetowe mogą być używane jedynie z poziomu przeglądarki internetowej.

Przykłady często stosowanych języków


Oto niepełny wykaz aktualnych języków programowania:

Język
Obszar zastosowania
Kompilowany/interpretowany
ADA
Czas rzeczywisty
Kompilowany
BASIC
Programowanie w celach edukacyjnych
Interpretowany
C
Programowanie systemowe
Kompilowany
C++
Programowanie obiektowe
Kompilowany
Cobol
Zarządzanie
Kompilowany
Fortran
Obliczenia
Kompilowany
Java
Aplikacje internetowe
Pośredni
MATLAB
Obliczenia matematyczne
Interpretowany
Mathematica
Obliczenia matematyczne
Interpretowany
LISP
Sztuczna inteligencja
Pośredni
Pascal
Edukacja
Kompilowany
PHP
Dynamiczne strony internetowe
Interpretowany
Prolog
Sztuczna inteligencja
Interpretowany
Perl
Przetwarzanie ciągów znaków
Interpretowany

Zobacz również :

CVS - Introduction
CVS - Introduction
Ten dokument zatytułowany «  Języki programowania  » opublikowany przez CCM (pl.ccm.net) jest udostępniany na licencji Creative Commons. Możesz kopiowaći modyfikować kopie tej strony, na warunkach określonych przez licencjęi wymienionych w niniejszym tekście.