1/50
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Co je to programovací jazyk?
Jazyk určený k zápisu algoritmů a komunikaci člověka s počítačem.
Proč vůbec potřebujeme programovací jazyky?
Protože procesory rozumí jen strojovému kódu (nulám a jedničkám), což je pro lidi nečitelné.
Kdo napsal první počítačový program v historii?
Ada Lovelace (v 19. století pro Babbageův analytický stroj).
Kdy vznikly první moderní vyšší programovací jazyky (např. Fortran)?
V 50. letech 20. století.
Kde se nachází strojový kód v hierarchii jazyků?
Na absolutně nejnižší úrovni, jde o instrukce přímo pro procesor.
Kdo a k čemu používá jazyk symbolických adres (Assembler)?
Programátoři k psaní velmi rychlého nízkoúrovňového kódu, který přímo komunikuje s hardwarem.
Proč se moderním jazykům (C, Java, Python) říká "vyšší programovací jazyky"?
Protože abstrahují od hardwaru a používají lidem srozumitelná slova.
Kde se zpracovává zdrojový kód předtím, než ho počítač spustí?
Musí se přeložit (kompilovat) nebo interpretovat do strojového kódu.
Kdo překládá kompilovaný programovací jazyk?
Speciální program zvaný kompilátor (překladač).
Kdy se provádí kompilace u kompilovaných jazyků (C, C++)?
Před samotným spuštěním programu; vytvoří se spustitelný soubor (např. .exe).
Proč jsou kompilované jazyky obecně velmi rychlé?
Protože strojový kód je už předpřipraven a procesor ho rovnou vykonává bez zdržování.
Kde nastává nevýhoda čistě kompilovaných jazyků?
Zkompilovaný program pro Windows nespustíš na Linuxu nebo macOS, musíš ho zkompilovat zvlášť.
Kdo se stará o běh interpretovaných jazyků (PHP, JavaScript)?
Speciální program zvaný interpret.
Kdy se překládá kód u interpretovaných jazyků?
Řádek po řádku až v momentě, kdy se program reálně spouští a běží.
Proč se interpretovaným jazykům říká multiplatformní?
Protože stejný zdrojový kód poběží všude tam, kde je nainstalován interpret.
Kde leží hlavní nevýhoda interpretovaných jazyků?
Běh programu je pomalejší kvůli překladu v reálném čase.
Kdo kombinuje výhody obou přístupů (např. Java nebo C#)?
Jazyky překládané do mezikódu (bytecode), který následně zpracuje virtuální stroj.
Kdy se vyplatí zvolit nízkoúrovňový jazyk jako C nebo C++?
Při vývoji operačních systémů, ovladačů nebo národných 3D her, kde záleží na výkonu.
Proč se Python tak často používá v datové vědě a umělé inteligenci?
Má extrémně jednoduchou syntaxi a obrovské množství hotových knihoven pro tyto obory.
Kde se typicky uplatní jazyk PHP?
Výhradně na straně serveru (backend) při tvorbě dynamických webových stránek.
Kdo naprosto dominuje jako programovací jazyk přímo v internetových prohlížečích?
JavaScript.
Proč rozdělujeme programovací jazyky na staticky a dynamicky typované?
Podle toho, zda musí programátor pevně určovat datové typy, nebo si je jazyk odvodí sám.
Kdy programátor pozná chybu typu u staticky typovaného jazyka (např. Java)?
Hned při psaní a následné kompilaci – program se kvůli chybě vůbec nepřeloží.
Kde se typicky objeví chyba u dynamicky typovaného jazyka (např. PHP)?
Až za běhu programu, což může způsobit pád aplikace přímo u uživatele.
Kdo je zodpovědný za uvolňování paměti v jazycích jako je čisté C?
Sám programátor to musí ručně hlídat a psát příkazy do kódu.
Proč mají moderní jazyky (Java, C#, JS) tzv. Garbage Collector?
Je to systém, který na pozadí automaticky čistí paměť od nepoužívaných dat a brání jejímu zahlcení.
Kdy mluvíme o takzvaném procedurálním programování?
Když je kód strukturován jako série kroků (funkcí), které se postupně volají shora dolů.
Kde se vzal koncept Objektově orientovaného programování (OOP)?
Vznikl z potřeby lépe organizovat obří projekty – kód se dělí do menších logických celků (objektů).
Kdo určuje, jakými pravidly se řídí zápis kódu?
Syntaxe jazyka (například povinné středníky na konci řádku).
Proč se učíme různé programovací jazyky, když všechny slouží k programování?
Protože neexistuje nejlepší jazyk na všechno; každý má jiné silné a slabé stránky pro jiný typ úkolu.
Kdy označíme jazyk zkratkou "Turingovsky úplný"?
Když v něm lze teoreticky naprogramovat a vyřešit jakýkoliv myslitelný algoritmus.
Kde využiješ deklarativní jazyk jako je SQL?
Při dotazech do databáze – neříkáš "jak" to má systém hledat, ale "co" přesně chceš najít.
Kdo vynalezl jazyk C?
Dennis Ritchie v 70. letech (jazyk, ze kterého vychází syntaxe většiny dnešních jazyků).
Kdy byl představen jazyk Java?
V roce 1995 společností Sun Microsystems.
Proč se říká, že je HTML jazyk, ale ne programovací?
Protože nedokáže tvořit smyčky (cykly), větvení (podmínky) a nedokáže manipulovat s pamětí.
Kde se v praxi setkáš s jazykem Swift?
Při vývoji nativních aplikací výhradně pro ekosystém Apple (iOS, macOS).
Kdo vyvinul a kde se používá jazyk Kotlin?
Vyvinula ho firma JetBrains a je to oficiální jazyk pro tvorbu aplikací na Android.
Proč zažívá obrovský boom jazyk Rust?
Protože je rychlý jako C++, ale díky své přísné struktuře bezpečně brání chybám při práci s pamětí.
Kdy hovoříme o takzvaném "čistém kódu" (Clean Code)?
Když je kód správně formátovaný, logicky pojmenovaný a snadno čitelný pro ostatní vývojáře.
Kde hledají programátoři nápovědu ke standardním funkcím jazyka?
V oficiální dokumentaci daného programovacího jazyka.
Kdo používá regulární výrazy a v jakém jazyce?
Jsou dostupné napříč všemi jazyky a slouží k pokročilému vyhledávání specifických textových vzorů.
Proč je dnes angličtina pro programátora naprosto nezbytná?
Protože všechna klíčová slova v jazycích a veškerá oficiální dokumentace jsou v angličtině.
Kdy nastává fáze "debugování"?
Když program hlásí chybu a my pomocí nástrojů (debuggeru) hledáme problém postupným krokováním kódu.
Kde leží rozdíl mezi syntaxí a sémantikou?
Syntaxe je gramatika (zápis znaků), sémantika je logický význam kódu (co to reálně dělá).
Kdo nebo co je to "framework"?
Předpřipravený balíček kódu v daném jazyce, který nám dává kostru a zrychluje vývoj.
Proč píšeme do zdrojového kódu komentáře?
Abychom vysvětlili složitější myšlenkové pochody lidem v týmu; počítač komentáře zcela ignoruje.
Kdy program spadne na "Stack Overflow" chybu?
Typicky když rekurzivní funkce volá donekonečna sama sebe a vyčerpá systému přidělenou paměť.
Kde se uchovává zdrojový kód projektů pro spolupráci v týmu?
V systémech pro správu verzí, typicky pomocí Gitu na platformách jako GitHub.
Kdo je "Full-stack vývojář"?
Programátor, který zvládá psát v jazycích pro frontend (uživatelské rozhraní) i backend (serverovou logiku).
Proč se některé jazyky označují jako "přísně typované"?
Protože nedovolí míchat nekompatibilní datové typy bez jasně a ručně napsaného převodu.