DynamickýPřekladPrakticky

Z Denik

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Dynamický Překlad Prakticky)
(Dynamický Překlad Prakticky)
Řádka 10: Řádka 10:
A pokud to někoho bude opravdu bavit, tak může pokračovat v létě při studijní stáži v [[apidesign:OracleLabs|OracleLabs]] v Jinonicích.
A pokud to někoho bude opravdu bavit, tak může pokračovat v létě při studijní stáži v [[apidesign:OracleLabs|OracleLabs]] v Jinonicích.
 +
 +
 +
== Osnova cvičení ==
 +
 +
=== Nejrychlejší virtuální stroj ===
 +
 +
https://www.youtube.com/watch?v=zFxrZTVknmk
 +
 +
diskuze o různých jazycích. https://github.com/oracle/graal/blob/master/truffle/docs/Languages.md
 +
výběr nějakého s nímž se bude příště pokračovat.
 +
 +
=== Zrychlete si svůj jazyk ===
 +
 +
https://github.com/jtulach/bf
 +
https://www.youtube.com/watch?v=FJY96_6Y3a4
 +
 +
=== Analýza běhu ====
 +
 +
Graal kompilátor
 +
IGV & spol.
 +
 +
=== JIT vs. AOT překlad ===
 +
 +
S JVM či bez JVM
 +
 +
=== Interop mezi jazyky ===
 +
 +
Zprávy. Roubování stromů.
 +
 +
=== Nástroje ===
 +
 +
Debugger, profiler, code coverage, language server protokol, NetBeans
 +
 +
=== Statické jazyky s LLVM ===
 +
 +
Sulong - interpret C, Rust, atd.
 +
 +
=== Skutečné jazyky ===
 +
 +
Letem světem JavaScriptem, Ruby, FastR a dalšími.

Verze z 18. 1. 2019, 10:12

Seminář na MatFyz pro letní semestr 2019.

Obsah

Dynamický Překlad Prakticky

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 OracleLabs. 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ší!

A pokud to někoho bude opravdu bavit, tak může pokračovat v létě při studijní stáži v OracleLabs v Jinonicích.


Osnova cvičení

Nejrychlejší virtuální stroj

https://www.youtube.com/watch?v=zFxrZTVknmk

diskuze o různých jazycích. https://github.com/oracle/graal/blob/master/truffle/docs/Languages.md výběr nějakého s nímž se bude příště pokračovat.

Zrychlete si svůj jazyk

https://github.com/jtulach/bf https://www.youtube.com/watch?v=FJY96_6Y3a4

Analýza běhu =

Graal kompilátor IGV & spol.

JIT vs. AOT překlad

S JVM či bez JVM

Interop mezi jazyky

Zprávy. Roubování stromů.

Nástroje

Debugger, profiler, code coverage, language server protokol, NetBeans

Statické jazyky s LLVM

Sulong - interpret C, Rust, atd.

Skutečné jazyky

Letem světem JavaScriptem, Ruby, FastR a dalšími.