Programěrowanske rěče

Programěrowanske rěče nastachu z nuznosće, za čłowjeka a mašiny zrozumliwe algoritmy namakać. Hdyž so tajke spočatnje hišće jenož na *mašinach* orientowachu, wuwichu so tute bóle k problemo-orientowacym, přirodnym rěčam přichilenym konstruktam, kotrež so z pomocu specielneje softwary, tak mjenowanych compilerow, do za mašiny čitajomnej formy transformować hodźa. Cil wšelakich gremijow je, programěrowanske rěče tak standardizować, tak zo so hodźa na wšelakich mašinach resp. ličakach zasadźować.

## Mašino-orientowace programěrowanske rěče
*[[Mašinowa rěč]]* wobsahuje wšitke programy, kotrychž komanda z kombinacijow wot *0* a *1* wobsteja. Tute so wot ličaka njeposrědnje interpretuja (so wučitaja a wuwjedu). Tajki z *0* a *1* wobstejacy kode mjenuje so tež objektowy kode.

*[[Assembler-rěč]]* pak wobsahuje wšitke programy, kotrež ze symboliskimi mašinowymi komandami wobsteja a kotrež so wot jednoho *přełožowarja*, tak mjenowaneho assemblera eksaktnje do objektoweho koda přenjesu.

## Proceduralne programěrowanske rěče
Jako proceduralne so wšitke programěrowanske rěče wopisaja, w kotrychž so mašino-njewotwisnje algoritmy za wotběh wšelakich operacijow abo funkcijow formulować hodźa. Tutón zakład bazuje na *von-Neumannowym ličakowym modelu*.

Programy proceduralneje programěrowanskeje rěče hodźa so do mašinoweho koda přenjesć a pozdźišo njewobjezowane wjele króć wuwjesć. Druha móžnosć wobsteji w tym, jenož jednotliwe komanda programa wučitać, do objektoweho koda přenjesć a direktnje wuwjesć. Tuta metoda so jako interpretacija programow wopisa.
* COBOL (Common Business Oriented Language) za zawodo-hospodarske programy; šěroko zasadźene
* FORTRAN (Formula Translation) za technisko-wědomostne programy; šěroko zasadźene
* ALGOL (Algorithmic Language) za matematisko-statistiske programy; zasadźene přewažnje w slědźerstwje a wukułacych instancach
* PASCAL (pomjenowane po francoskim matematikarje a filozofje Blaise Pascal, 1623-1662) tohorunja za matematisko-statistiske programy; zasadźene přewažnje w slědźerstwje a wukubłacych instancach
* C za zawodo-hospodarske a technisko-wědomostne programy kaž tež za systemowe programěrowanje; šěroko rozšěrjene
* Ada (pomjenowane po prěnej programěrowarki swěta, Augusty Ady Byron, 1815-1852) za technisko-wědomostne a zawodo-hospodarske programy, wosebje za embedded systems; rozšěrjene w zjawnych a militariskich polach

COBOL, FORTRAN, ALGOL, PASCAL a C poskića móžnosće funkcionalnej abstrakcije w formje procedurow a funkcijow. Ada pak poskića přidatnje móžnosć datoweje abstrakcije z pomocu abstraktnych datowych typow.

## Deskriptiwne programěrowanske rěče
Deskriptiwne programěrowanske rěče dowola rezultat problema wopisać, bjez toho zo so specifikuje, kak rozrisanje problema wupada. Tute rěče su so zwjetša za specielne datowe bankowe systemy wuwili a su dla toho wotwisne wot producenta. Z SQL je so pak producentow přesahowacy, internacionalnje normowany standard za relacionalne datowe bankowe systemy wuwił.

Deskriptiwne rěče so tež *rěče štwórteje generacije* (Fourth Generation Language, 4GL) mjenuja. Tute zarjadowanje rěčow do generacijow sta so samowólnje a so za *nowe rěče* wjace njewužiwa.

Přikłady deskriptiwnych programěrowanskich rěčow su:
* SQL (Structured Query Language) jako standardisěrowana, daty-wotprašowanska a -manipulowanska rěč za relacionalne datowe banki šěroko rozšěrjena
* ABAP/4 (Advanced Business Application Programming) za wuwiće a rozšěrjenje integrowaneje standardneje softwary SAP
* ACCESS BASIC za datowy bankowy system MS Access firmy Microsoft

## Objektno-orientowace programěrowanske rěče
Porno proceduralnym rěčam poskićeja objektno-orientwace programěrowanske rěče (OOP) dalše abstrakcijske móžnosće. Při tym so daty (atributy) a funkcije (operacije) w objektach zjednoća. Tajke objekty so w klasach wuwołaja a móža z pomocu pósłanja wot "powěsćow" (zdźělenki druhim objektam) mjez sobu informacije wuměnjeć. Powěśće, kotrež so wot objektow zrozumja a předźěłać móža, dyrbja so definować. Dóstanje-li objekt jednu powěsć, tak wotmołwi tutón ze druhim objektom. Klasy móža tež atributy a operacije z druhich klasow zdźědźić. Tak je tež wjacekróćne zdźědźenje móžne. Při tym nastanu zdźědźenske struktury, tež zdźědźenske hierachije mjenowane.

* Smalltalk, prěnja sama OOP, ale mało rozšěrjena
* Java bu přez wuwiće interneta znate; šěroko rozšěrjene

Wyše toho eksistuja wjacore proceduralne rěče z objektno-orientowacemi rozšěrjenemi, kaž na př. C++, jako rozšěrjenje programěrowanskeje rěče *C*. Tajke rěče so tež jako *hybridne rěče* wopisaja.