Přednáška: Út 9:00 - 10:30, S7 (sudé týdny) (Jaroslav Tulach (Oracle Labs))
Stránka v SIS: NSWI029
Zakončení: Zápočet

Byl vytvořen mailing list nswi176@d3s.mff.cuni.cz — budou přes něj rozesílány aktualizace ale je v něm prostor i pro diskuzi, která se nevešla na cvičení :-).

Obsah

Jaký je nejrychlejší programovací jazyk? Může být JavaScript rychlejší než Céčko? Existuje jednoduchý způsob, jak si napsat jazyk, který bude opravdu rychlý? Musíme opravdu psát všechny knihovny znovu a znovu? Jak se implementuje debugger? A jak profiler? Kolik to dá práce? To jsou otázky, na které v průběhu semináře budeme hledat a nalezneme odpovědi.

Budeme používat GraalVM, což je nejrychlejší virtuální stroj, který shodou okolností pomáhá vyvíjet tým z pražské pobočky Oracle Labs. Díky tomu to bude seminář praktický, přibližující nejnovější trendy ve vývoji virtuálních strojů. Žádná otázka nebude tabu – o GraalVM víme úplně vše!

Cílem bude ukázat si na výhody a zádrhele dynamického překladu. Pochopit, co překladač ve skutečnosti dělá a naučit se dorozumět se s ním – tedy programovat tak, abyste z dynamického překladu v GraalVM získali co nejvíce. Máte-li vlastní programovací jazyk, vezměte si jej s sebou – uděláme jej rychlejší!

Začínáme v úterý 26. 2. (druhý týden letního semestru) v 9:00 v S7 (předmět NSWI029). Ideálně si přineste vlastní notebook.

Rozvrh

Datum
Obsah
Odkazy
26.2.2019
Nejrychlejší virtuální stroj.

Architektura Graal VM. Seznámení, diskuze o různých jazycích, výběr jazyka pro další práci.

12.3.2019
Zrychlete si svůj jazyk.

Na tuto hodinu bude potřeba následující:
- instalace Enterprise Graal kvůli IGV, ke stažení zde
- instalace JDK 11 například zde
- klon projektu zde

26.3.2019
Analýza běhu.

Překladač Graal, analýza nástrojem IGV.

9.4.2019
JIT vs AOT překlad.
23.4.2019
Interop mezi jazyky.
7.5.2019
Nástroje.

Debugger, profiler, code coverage, language server protocol, IDE.

21.5.2019
Statické jazyky s LLVM.

Sulong - interpret C, Rust a další.