Programovací jazyk systému - System programming language - Wikipedia
A systémový programovací jazyk je programovací jazyk používá programování systému; tyto jazyky jsou určeny pro psaní systémový software, což obvykle vyžaduje odlišné vývojové přístupy ve srovnání s aplikačním softwarem. Edsger Dijkstra označuje tyto jazyky jako Strojově orientované jazyky vyššího řádunebo mohl.[1]
Univerzální programovací jazyky mají tendenci se zaměřovat na obecné funkce, které umožňují programům napsaným v jazyce používat stejný kód na různých platformách. Mezi příklady takových jazyků patří ALGOL a Pascal. Tato obecná kvalita obvykle přichází za cenu odepření přímého přístupu k internímu fungování zařízení, což má často negativní dopad na výkon.
Systémové jazyky naopak nejsou navrženy pro kompatibilitu, ale pro výkon a snadný přístup k základnímu hardwaru, přičemž stále poskytují koncepty programování na vysoké úrovni, jako je strukturované programování. Mezi příklady patří SPL a ESPOL, oba jsou podobné ALGOL v syntaxi, ale naladěni na příslušné platformy. Jiné jsou multiplatformní, ale jsou navrženy tak, aby fungovaly podobně jako hardware ŽOVIÁLNÍ a BCPL.
Některé jazyky obkročují doménu systému a aplikace a překlenují tak propast mezi těmito způsoby použití. Kanonický příklad je C, který se široce používá jak pro systémové, tak pro aplikační programování. Některé moderní jazyky to také dělají, například Rez a Rychlý.
Funkce
Na rozdíl od aplikačních jazyků nabízejí systémové programovací jazyky obvykle přímější přístup k fyzickému hardwaru stroje: archetypální programovací jazyk systému v tomto smyslu byl BCPL. V programovacích jazycích systému často chybí vestavěné vstup výstup (I / O) zařízení, protože systémový-softwarový projekt obvykle vyvíjí vlastní I / O mechanismy nebo staví na základních I / O monitorech nebo zařízeních pro správu obrazovek. Rozdíl mezi jazyky používanými pro programování systému a programování aplikací se postupem času stíral s rozšířenou popularitou PL / I., C a Pascal.
Dějiny
Nejstarší systémový software byl napsán montážní jazyk primárně proto, že neexistovala žádná alternativa, ale také z důvodů, jako je účinnost objektového kódu, čas kompilace a snadné ladění. Aplikační jazyky jako FORTRAN byly použity pro programování systému, i když obvykle stále vyžadovaly, aby byly některé rutiny psány v montážním jazyce.[2]
Jazyky střední úrovně
Jazyky střední úrovně „mají velkou část syntaxe a vybavení jazyka vyšší úrovně, ale také poskytují přímý přístup k funkcím stroje v tomto jazyce (stejně jako poskytující montážní jazyk).“[2] Nejstarší z nich byl ESPOL na sálových počítačích Burroughs asi v roce 1960, následovaný Niklaus Wirth je PL360 (poprvé napsáno v systému Burroughs jako křížový překladač ), který měl obecnou syntaxi ALGOL 60 ale která prohlášení přímo manipulovala s registry a pamětí CPU. Mezi další jazyky v této kategorii patří MOL-360 a PL / S.
Jako příklad lze uvést typický příkaz PL360 R9: = R8 a R7 jsou 8 nebo R6
, znamenající, že registry 8 a 7 by měly být a spolu, výsledek posunul o 8 bitů vlevo, výsledek toho nebo s obsahem registru 6 a konečný výsledek vložen do registru 9.[3]
Jazyky vyšší úrovně
Zatímco PL360 je na sémantické úrovni montážního jazyka, jiný druh systémového programovacího jazyka pracuje na vyšší sémantické úrovni, ale má specifická rozšíření navržená tak, aby byl jazyk vhodný pro programování systému. Časným příkladem tohoto druhu jazyka je LRLTRAN,[4] který rozšířil Fortran o funkce pro manipulaci znaků a bitů, ukazatele a přímo adresované skokové tabulky.
Následně byly vyvinuty jazyky jako C, kde kombinace funkcí byla dostatečná pro zápis systémového softwaru, a překladač by bylo možné vyvinout generující efektivní objektové programy na skromném hardware. Takový jazyk obecně vynechává funkce, které nelze efektivně implementovat, a přidává malý počet funkcí závislých na stroji potřebných pro přístup ke konkrétním schopnostem hardwaru; inline montáž kód, například C. asm prohlášení se často používá pro tento účel. Ačkoli bylo vyvinuto mnoho takových jazyků,[1] C a C ++ jsou ti, kteří přežili.
Programovací jazyk systému (SPL) je také název konkrétního jazyka na webu HP 3000 počítačová řada používaná pro jeho operační systém HP Multi-Programming Executive (MPE) a další části systémového softwaru.
Hlavní jazyky
Viz také
Poznámky
- ^ Swift používá Automatické počítání referencí
Reference
- ^ A b van der Poel, W. L .; Maarssen, L. A., eds. (27. – 31. Srpna 1973). Strojově orientované jazyky vyšší úrovně. Pracovní konference IFIP o strojově orientovaných jazycích vyšší úrovně (MOHL). Trondheim, Norsko: Mezinárodní federace pro zpracování informací. Sborník publikovaný v roce 1974.
- ^ A b Sammet, Jean (říjen 1971). "Stručný přehled jazyků používaných pro implementaci systémů". Oznámení ACM SIGPLAN. 6 (9): 1–19. doi:10.1145/942596.807055.
- ^ Wirth, Niklaus. "PL360, programovací jazyk pro počítače 360". Deník ACM. 15 (1): 37–74.
- ^ Mendicino, Sam F .; Hughes, Robert A .; Martin, Jeanne T .; McMahon, Frank H .; Ranelletti, John E .; Zwakenberg, Richard G. „Kompilátor LRLTRAN“. Komunikace ACM. 11 (11): 747–755.
- ^ Wulf, W. A .; Russell, D. B .; Haberman, A. N. (prosinec 1971). „BLISS: Jazyk pro programování systémů“. Komunikace ACM. 14 (12): 780–790. CiteSeerX 10.1.1.691.9765. doi:10.1145/362919.362936.
- ^ "C ++ aplikace".
- ^ „Mozilla Research“. 1. ledna 2014.
externí odkazy
- Corbató, Fernando (06.06.1969). „PL / I jako nástroj pro programování systému“. Datamace: 68–76. Citováno 2012-01-23.
- Programovací jazyky systému
Tento článek je založen na materiálu převzatém z Zdarma online slovník výpočetní techniky před 1. listopadem 2008 a začleněno pod "licencování" podmínek GFDL, verze 1.3 nebo novější.