Reklama
Dzisiaj jest 10 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama
Reklama
Reklama

Język wysokiego poziomu

Język wysokiego poziomu

Język wysokiego poziomu to typ języka programowania, którego składnia i słowa kluczowe ułatwiają zrozumienie kodu przez ludzi, zwiększając tym samym poziom abstrakcji. Większość z tych języków jest uniwersalna i służy do rozwiązywania różnorodnych problemów. Kod w języku wysokiego poziomu nie jest bezpośrednio zrozumiały dla procesora, co wymaga wcześniejszego procesu kompilacji. Przykłady języków wysokiego poziomu to Pascal, C, C++, Logo i BASIC.

Reklama

Cechy

Języki wysokiego poziomu charakteryzują się:

  • wyższym poziomem abstrakcji niż języki niskopoziomowe,
  • łatwiejszym zarządzaniem zmiennymi, tablicami, obiektami oraz funkcjami,
  • możliwością obsługi ciągów znaków i procesów wejścia/wyjścia.

W przeciwieństwie do języków niskiego poziomu, języki wysokiego poziomu mają ograniczoną liczbę elementów tłumaczących się na kod maszynowy. Umożliwiają one oddzielenie kodu źródłowego od architektury sprzętowej, co pozwala na bardziej elastyczne programowanie.

Reklama

Charakterystyka kodu

Języki wysokiego poziomu zapewniają standardyzację częstych zadań oraz bogate możliwości debugowania, ale ich narzut abstrakcji może ograniczać optymalizację dla specyficznych architektur. Wysokopoziomowe programowanie eksponuje cechy takie jak:

  • ogólne struktury danych i operacji,
  • zwiększone wykorzystanie pamięci,
  • potencjalnie większa objętość kodu.

W sytuacjach wymagających dużej wydajności, krytyczne fragmenty kodu mogą być pisane w językach niskiego poziomu. Nowoczesne kompilatory języków wysokiego poziomu jednak często generują kod porównywalny pod względem wydajności do tego pisanego ręcznie przez programistów niskopoziomowych.

Ewolucja

Języki wysokiego poziomu mogą ewoluować poprzez ulepszenia specyfikacji. Na przykład, Scala zachowuje kompatybilność wsteczną z Javą, co umożliwia łatwe przenoszenie oprogramowania. W przeciwieństwie do tego, programy niskopoziomowe rzadko działają poza określoną architekturą.

Przykład

Program w asemblerze (niskopoziomowy):


.START ST
ST: MOV R1,#2
MOV R2,#1
M1: CMP R2,#20
BGT M2
MUL R1,R2
INI R2
JMP M1
M2: JSR PRINT
.END

Ten sam program w BASIC-u (wysokopoziomowy):


A:=2;
FOR I:=1 TO 20 LOOP
A:=A*I;
END LOOP;
PRINT(A);

Reklama
Reklama