Nižší programovací jazyk

Nižší programovací jazyk (též nízkoúrovňový programovací jazyk) je v informatice označení pro programovací jazyk, který poskytuje malou nebo žádnou abstrakci od toho, jak funguje procesor počítače. Označení „nižší“ odkazuje na velmi malý nebo žádný rozdíl mezi daným programovacím jazykem a strojovými instrukcemi procesoru (resp. jeho instrukční sadou). Proto bývají nízkoúrovňové programovací jazyky označovány jako „těsně spjaté s hardwarem“.

Charakteristika

Nižší programovací jazyk může být snadno převeden do strojového kódu procesoru. Jsou typicky považovány za jednoduché, avšak za obtížněji osvojitelné, protože je pro jejich efektivní používání nutné seznámit se s technickými detaily fungování hardware. Programy napsané v nižším programovacím jazyce mohou být rychlé a mít jen malé nároky na paměť (např. Volkov Commander). Ekvivalentní programy napsané ve vyšším programovacím jazyce jsou typicky pomalejší a mají větší paměťové nároky, avšak oddělují sémantiku počítačové platformy od zápisu programu, což by mělo zjednodušit jeho vývoj.

Rozdělení nižších jazyků

Nižší programovací jazyky jsou často rozdělovány na první generaci a druhou generaci.

První generace

Podrobnější informace naleznete v článku Strojový kód.

První generace programovacích jazyků, nebo také 1GL, je strojový kód. Je to jazyk, který dokáže mikroprocesor zpracovat přímo, bez předchozího překladu. Psaní programů ve strojovém kódu vyžaduje velkou pozornost ohledně spousty detailů, které vyšší programovací jazyky zvládají automaticky. Programátoři si musí pamatovat nebo vyhledávat číselné kódy pro každou instrukci, kterou chtějí použít. Proto se v dnešní době programy ve strojovém kódu téměř nepíší. Z tohoto důvodu druhá generace poskytuje abstraktní vrstvu nad strojovým kódem.

Příklad: Funkce v 32bitovém kódu procesorů x86 pro výpočet n-tého prvku Fibonacciho posloupnosti:

8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3

Druhá generace

Podrobnější informace naleznete v článku Jazyk symbolických adres.

Druhá generace programovacích jazyků, nebo také 2GL, je jazyk symbolických instrukcí neboli assembler. Je považován za druhou generaci programovacího jazyka, ačkoli to není nativní jazyk mikroprocesoru. Programátor musí rozumět jak jedinečné architektuře mikroprocesoru, tak i jeho registrům a instrukční sadě. Tyto jednoduché instrukce jsou překládány pomocí assembleru přímo do strojového kódu.

Příklad: Ten samý kalkulátor Fibonacciho posloupnosti, jako v příkladu nahoře, ale v jazyku symbolických instrukcí pro x86, využívající MASM syntaxi:

fib:
   mov edx, [esp+8]
   cmp edx, 0
   ja @f
   mov eax, 0
   ret

   @@:
   cmp edx, 2
   ja @f
   mov eax, 1
   ret

   @@:
   push ebx
   mov ebx, 1
   mov ecx, 1

   @@:
       lea eax, [ebx+ecx]
       cmp edx, 3
       jbe @f
       mov ebx, ecx
       mov ecx, eax
       dec edx
   jmp @b

   @@:
   pop ebx
   ret

Jazyk C

Programovací jazyk C je často považován za nízkoúrovňový, avšak na rozdíl od výše uvedených jazyků je nezávislý na počítačové platformě. Poskytuje pouze nízkoúrovňový přístup k operační paměti a programové konstrukce, které je snadné přímo převést do strojového kódu procesorů.

Reference

V tomto článku byl použit překlad textu z článku Low-level programming language na anglické Wikipedii.

Související články


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Nízkoúrovňové_programování
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.