<< Metody programování | Základy programování | Volba programovacího jazyka >>
Dělení programovacích jazyků
1. Vyšší a nižší
Nižší programovací jazyky
- primitivní instrukce odpovídají příkazům procesoru
- programy jsou závislé na procesoru a nepřenositelné na jiný (nepříbuzný) procesor
- kód programu je složitý a nesrozumitelný
- programy mohou být velmi efektivní
- nejčastěji jazyk symbolických adres Assembler nebo přímo strojový kód
Vyšší (problémově orientované) programovací jazyky
- srozumitelnější s logickou strukturou
- nezávislé na strojových principech počítače
- do strojového kódu se převádějí kompilátorem
- mohou se spouštět bez překladu interpretrem
- Pascal, Basic, Prolog, Lisp, Algol, Fortran, ...
- jazyk C je vyšším jazykem s prvky nižšího jazyka
2. Interpretované a kompilované jazyky
- Interpretované jazyky jsou překládány až za běhu programu
- jsou pomalejší ale nemají tak velké požadavky na deklarace dat
- fungují jen při spuštěném běhovém prostředí - Interpreter
- většina verzí Basicu, všechny skriptovací jazyky - PHP, Python, ...
- Kompilované jazyky jsou celé přeloženy do spustitelné aplikace (exe)
- pro překlad je nutný speciální program - kompilátor
- z kompilovaný program je rychlejší
- většinou klasické programovací jazyky - C, C++, Pascal, Java, VisualBasic
3. Procedurální a neprocedurální
Procedurální (imperativní)
- téměř všechny běžné jazyky - Pascal, C, Basic, PHP, Perl, ...
- k řešení úlohy se používá algoritmu
Neprocedurální (logické nebo funkcionální)
- Logické jazyky popisují daný problém pomocí logických výroků - Prolog
- používají ke tvorbě umělé inteligence
- k praktickému programování jsou nevyužitelné
- Funkcionální jazyk vše popisuje pomocí funkcí - Lisp, Haskell, Miranda, ...
- často neexistují proměnné, program je soustavou funkcí, které pracují se seznamy prvků
- způsob programování je blízký klasické matematice
- Univerzální
- Scheme - v podstatě funkcionální dovoluje programovat i imperativně
- Python - v podstatě imperativní umožňuje i funkcionální styl programování
4. Další způsoby dělení
Podle metody programování
- Objektově orientované - OOP a Strukturované
Podle účelu
- Univerzální
- Speciální
Podle použitelnosti
- Moderní
- PHP, Python, Delphi, Java ...
- Zastaralé
- Basic, Algol, Fortran ...
Přehled programovacích jazyků
Ada
- unierzální jazyk vycházející z Pascalu
- programování bezpečných a spolehlivých programů, silná typová kontrola
Algol
- Algorithmic Language = algoritmický jazyk
- jeden z nejstarších programovacích jazyků, základ pro moderní programovací jazyky
- využití pro řešení vědeckých a technických úloh
APL
A Computer Programing Language = počítačový programovací jazyk. Programovací jazyk, jeho syntaxe vychází z matematické notace, nepodobá se tedy ádnému jinému programovacímu jazyku. Má speciální sadu znaků, nedá se zapisovat pomocí ASCII kódování, ale kódování Unicode u stačí. Má velmi úsporný kód a vynikající vyjadřovací schopnosti.
ASP
Active Server Pages. Serverový skriptovací jazyk od Microsoftu. Má obdobné monosti jako PHP, ale poněkud sloitějí syntaxi. Existuje jen na serverech s operačním systémem windows.
Assembler
Assembler = sestavitel (programu). Mám jej na vlastní stránce?.
Baltazar a Baltík
Programovací jazyky českého původu, určené pro výuku programování u dětí. Baltazar je blií normálnímu programovacímu jazyku, programy se v něm tvoří z klávesnice, pouívají se v něm česká slova a je určen zejména starím dětem. Naproti tomu Baltík je určen těm nejmením, ovládá se pouze myí a soustředí se na rozvoj logického mylení.
Basic
Beginners All-purpose Symbolic Instruction Code = Pro začátečníky určený víceúčelový programovací prostředek. Opět je na vlastní stránce?.
C
Jazyk relativně nízké úrovně, původně zaměřený na programování operačních systémů. Má velmi úsporné vyjadřování, a proto je poněkud nepřehledný. Existuje velké mnoství rozíření jazyka, nejznámějí je objektově orientované C++. Syntaxi "céčka" převzala pousta dalích jazyků (PHP, Java, Perl, ...).
Cobol
Common Business Oriented Language = obecně obchodně orientovaný jazyk. Jeden z nestarích vyích programovacích jazyků. Vznikl z potřeby programovacího jazyka pro obchodní a ekonomické úlohy, pro úlohy s hromadným zpracováním dat. Opět existuje mnoho verzí tohoto jazyka, např. Cobol-60, Cobol-61, Cobol-65, Cobol-69,...
Delphi
Programovací jazyk pro Windows. Správně se jmenuje Object Pascal (objektově orientovaný Pascal). Jeho prostředí je vizuální, to znamená, že programátor určuje vzhled programu "kreslením" myší, stejným způsobem i vytváří některé části kódu. Samotný kód se celý skládá z procedur - reakcí na události (klik na prvek, ...). Mám to zpracované
Fortran
Formula Translation = překlad vzorců. Vůbec první vyí programovací jazyk. Vznikl v padesátých letech 20. století (první oficiální verze 1957), byl vhodný spíe k matematickým výpočtům. Znamenal ohromný pokrok ve vývoji programování, v podstatě všechny vyšší jazyky z něj (alespoň nepřímo) vycházejí. Dnes se pouívá již jen velmi málo.
HTML
Není programovací jazyk, ale jazyk pro práci s hypertextem (resp. formát hypertextu).
Viz
Java
Objektově orientovaný programovací jazyk nezávislý na platformě. Vyvinula jej firma Sun Microsystems. Používá se téměř všude, jako doplnění internetových stránek klientským skriptem (java applet), serverový skript (JSP), stejně jako na hry do mobilů i obyčejné programy pro jakýkoli operační systém. Vychází z jazyka C++ (jako mnoho jiných jazyků), který poněkud zjednodušuje. Jako konkurenční jazyk od Microsoftu vznikl C#.
JavaScript
Nejčastěji používaný internetový klientský skriptovací jazyk. Proběhne až v internetovém prohlížeči (na rozdíl např. od PHP, které proběhne už na serveru). Z bezpečnostních důvodů může ovlivňovat jen internetovou stránku, nikoli uživatelský počítač. Něco mám o něm . Podobně je na tom i méně používaný VBScript.
Karel
Jednoduchý, prakticky nevyužitelný interpretovyný jazyk určený k výuce programování. Má pouze několik málo příkazů (záleží na verzi, většinou do jedné desítky). Těmito příkazy je ovládán robot, který se dokáže pohybovat se ve svém "městě" a zvedat/pokládat značky. Původně byl anglický (byl však nazván česky: Karel po Karlu Čapkovi). Byla vytvořena i počeštěná verze s českými příkazy. Existuje i objektově orientovaný Karel++.
Lisp
List processing. Nejstarší neprocedurální jazyk. Veškeré problémy řeší pomocí symbolů a jejich seznamů. Používá se v programování umělé inteligence. Má velké množství dialektů. Odvozeny jsou od něj např. jazyky Tcl, Scheme, ...
Logo
Interpretovaný programovací jazyk určený pro výuku dětí. Vychází z Lispu. Je známý zejména pro kreslení v tzv. "elví" grafice - po kreslící ploše se pohybuje podle pokynů programátora "elva", která za sebou nechává barevnou stopu.
Modula 2
Vychází z Pascalu, používal se i ke tvorbě hodně velkých projektů, podporuje modulární programování.
Pascal
Mám jej na .
Perl
Practical Extraction Report Language. Téměř univerzální interpretovaný jazyk. Dá se v něm napsat prakticky cokoliv, ale v praxi se používá zejména k psaní CGI skriptů (internetová technologie, serverový skript založený na výstupu .exe souboru) a v těch případech, kdy je potřeba složitě zpracovávat text. Je dosti nepřehledný.
PHP
Personal Home Page Tools (zkratka se vyvíjela - např.:Personal Home Page Construction Kit, dnes: PHP:Hypertext Preprocesor, a to první P je z historických důvodů.).
Internetový skriptovací jazyk (serverový) pouívaný k tvorbě webových stránek. Instrukce se vkládají do HTML kódu, syntaxe je podobná jazyku C. Práce programu probíhá v serveru, na uživatelský počítač se posílají jen výsledky. Má ohromné možnosti: dokáže pracovat s databázemi, s velkým množstvím internetových protokolů (IMAP, POP3, SMTP - zpracování emailů; NNTP - news protokol; ...), dokáže vytvářet obrázky a PDF soubory, má spoustu funkcí na zpracování řetězců, ... Navíc je zdarma a volně šiřitelné! Oficiální stránky: www.php.net.
Další serverové skriptovací jazyky (ale už ne tak dobré) jsou: zastaralé SSI a výlučně windowsácké ASP.
PL/1
Programing Language 1. Starý neúspěný programovací jazyk vycházející z Fortranu. Nepoužívá se. Byl to první pokus o co nejuniverzálnějí programovací jazyk.
Prolog
Programming in Logic = logické programování. Je to neprocedurální jazyk (na rozdíl od většiny ostatních jazyků), popisuje programátorský problém pomocí logických výroků. Používá se k řešení problémů, které se dají popsat ve formě objektů a vztahů mezi nimi, k tvorbě umělé inteligence. Celý program v Prologu vypadá jako výpis jednoduchých vztahů mezi objekty. Z nich potom Prolog vyvozuje další informace na základě naich dotazů. Praktické využití Prologu je velmi malé.
Python
Název odvozen z názvu britského pořadu Monty Python's Flying Circus. Python je značně univerzální interpretovaný programovací jazyk, rozšířený na vech běně používaných operačních systémech. Má obdobné vlastnosti jako Perl, k němuž bývá často přirovnáván. Oproti němu je však přehlednější.
Něco málo mám o něm .
Scheme
Jazyk odvozený od Lispu, někdy považován za jeho dialekt.
Simula
Simple Universal Language - jednoduchý univerzální jazyk. Objektově orientovaný jazyk vhodný pro počítačovou simulaci.
Snobol
String Oriented Symbolic Language - Jazyk určený pro práci s řetězci. První jazyk zaměrený zejména na zpracování textových řetězců. V dnešní době byl nahrazen zejména Perlem a dalšími jazyky.
SSI
Server Side Includes - vsuvky na straně serveru. Jednoduchý zastaralý serverový skriptovací jazyk. Nemá zdaleka takové možnosti jako PHP nebo ASP.
Tcl
Tool Command Language. Univerzální skriptovací jazyk. Je oblíben zejména díky knihovně Tk, která umožňuje psát programy s grafickým rozhraním.
Visual Basic
Programovací jazyk pro Windows od Microsoftu. Má vizuální prostředí. Dají jím vytvářet jak klasické aplikace, tak i makra do dokumentů wordu. Má prvky mnoha moderních jazyků (je objektově orientovaný), ale přetrvávají i zastaralé qbasicovské vlivy (absence složeného příkazu, "repeat..until styl" všech cyklů i podmínek - viz QBasic?).
VBScript
Visual Basic Script. Internetový skriptovací jazyk, běžící u klienta, obdoba JavaScriptu. Vychází z Visual Basicu. Jeho největší nevýhoda (oproti JavaScriptu) je, že jej podporuje jen IE. V podstatě se jedná o nepovedený pokus Microsoftu konkurovat JavaScriptu. Údajně jde jeho zdroják zakódovat, aby nešel okopírovat.
XML
Není programovací jazyk, ale jazyk pro práci s daty. Mám to zpracované v