Vysokoúrovňový programovací jazyk

Vysokoúrovňový programovací jazyk  je programovací jazyk navržený pro rychlost a snadné použití programátorem . Hlavním rysem jazyků na vysoké úrovni je abstrakce , to znamená zavedení sémantických konstrukcí, které stručně popisují takové datové struktury a operace s nimi , jejichž popisy ve strojovém kódu (nebo jiném nízkoúrovňovém programovacím jazyce ) jsou velmi dlouhé a těžko pochopitelné.

Programovací jazyky na vysoké úrovni byly navrženy pro platformovou nezávislost na podstatě algoritmů. Závislost na platformě se posouvá k nástrojovým programům – překladačům , které překládají text napsaný v jazyce vysoké úrovně do elementárních strojových příkazů (instrukcí). Proto je pro každou platformu vyvinut platformově jedinečný překladač pro každý jazyk vyšší úrovně, například překládá text napsaný v Delphi do základních instrukcí pro mikroprocesory rodiny x86 .

Jazyky na vysoké úrovni se tedy snaží nejen usnadnit řešení složitých softwarových problémů, ale také zjednodušit portování softwaru . Použití různých překladatelů a tlumočníků umožňuje programům napsaným v jazycích na vysoké úrovni komunikovat s různými operačními systémy , programovatelnými zařízeními a zařízeními a v ideálním případě nevyžaduje úpravu zdrojového kódu (text napsaný v jazyce vyšší úrovně ) pro jakoukoli platformu.

Tento druh oddělení jazyků na vysoké úrovni od hardwarové implementace počítače má kromě mnoha výhod také nevýhody. Neumožňuje zejména vytváření jednoduchých a přesných návodů k používanému zařízení. Programy napsané v jazycích vyšší úrovně jsou pro programátora srozumitelnější, ale méně efektivní než jejich protějšky napsané v jazycích nižší úrovně . Jedním z důsledků toho bylo přidání podpory jednoho či druhého nízkoúrovňového jazyka (assembly language ) k řadě moderních profesionálních vysokoúrovňových programovacích jazyků.

Příklady: C++ , C# , Delphi , Fortran , Java , JavaScript , Lisp , Pascal , PHP , také Ruby , Python , Perl , které se někdy nazývají super -high-level . Jazyky na vysoké úrovni mají tendenci pracovat se složitými datovými strukturami. Většina z nich má integrovanou podporu pro typy řetězců , objekty , souborové I/O operace a tak dále.

Prvním programovacím jazykem na vysoké úrovni je počítačový jazyk Plankalkül , který vyvinul německý inženýr Konrad Zuse v letech 1942-1946 . Překladač pro něj však do roku 2000 neexistoval. První překladač jazyků na vysoké úrovni na světě je PP (Programming Program), neboli PP-1, úspěšně testován v roce 1954. Překladač PP-2 (1955, 4. překladač na světě) již optimalizoval a obsahoval vlastní zavaděč a debugger, knihovnu standardních postupů a překladač PP pro počítač Strela-4 již obsahoval linker (linker ) z modulů. Široké používání jazyků na vysoké úrovni však začalo se vznikem Fortranu a vytvořením kompilátoru pro tento jazyk ( 1957 ).

Pro rok 2018 je podle TIOBE Software lídrem programovací jazyk Java .

Přenositelnost softwaru

Všeobecně se věří, že programy v jazycích na vysoké úrovni lze napsat jednou a poté je použít na jakémkoli typu počítače . Ve skutečnosti to platí pouze pro ty programy, které málo interagují s operačním systémem , například provádějí jakékoli výpočty nebo zpracování dat. Většina interaktivních (a ještě více multimediálních) programů používá systémová volání , která se velmi liší v závislosti na operačním systému. Například pro zobrazení grafiky na obrazovce počítače používají programy Microsoft Windows funkce rozhraní Windows API , které se liší od funkcí používaných v systémech, které podporují standard POSIX . Nejčastěji pro tyto účely používají programovací rozhraní X serveru .

K dnešnímu dni byla vytvořena řada softwarových knihoven (například knihovna Qt nebo wxWidgets ), které skrývají nekonzistence v systémových voláních různých operačních systémů z aplikačních programů . Takové knihovny vám však zpravidla neumožňují plně využívat všechny funkce konkrétních operačních systémů.

Nové trendy

Novým trendem je vznik programovacích jazyků mírně vyšší úrovně (ultra-high-level, nezaměňovat s ultra -high-level ). Takové jazyky se vyznačují přítomností dalších struktur a objektů orientovaných na aplikované použití. Aplikační objekty zase vyžadují minimální konfiguraci v podobě parametrů a jsou okamžitě připraveny k použití. Použití ultra-vysokoúrovňových programovacích jazyků snižuje čas strávený vývojem softwaru a zlepšuje kvalitu finálního produktu opět díky snížení množství zdrojových kódů.

Viz také