V rámci spolupráce s žijící legendou české JUG komunity, Jardou Tulachem, vám přinášíme další díl ze série přednášek z velice zajímavého semináře MFF UK, který probíhal mezi lety 2021/2022. Jednotlivé přednášky Vám přinášíme každý týden dokud nevyčerpáme všech 20 poutavých hodin. Každý 90ti minutový díl poskytuje nejen vhled do jedinečného světa Truffle frameworku, GraalVM a generování native image. Zjistíte jak takový vývojářský Babylon vlastně funguje, jak se liší od standardního JDK a objevíte neocenitelné vývojářské nástroje z arzenálu ostřílených přednášejících odborníků.
9. Reimplementace skutečných jazyků
Devátého pokračování se ujal Štěpán Šindelář a rozhovořil se o tom, jak pomocí Trufflu naimplementovat Python a Rko.
Opakování praktických aspektů toho jak integrovat vlastní programovací jazyk do GraalVM a Truffle ekosystému: launchery – nativni vs. JVM mód, Java embedding – více kontektů a sdílený engine (AST).
V čem je re-implementace existujících programovacích jazyků složitá: chybějící/neexistující dokumentace, nejasný kontrakt („observable surface“ jazyka) – například je chování garbage collectoru součástí kontraktu?, problematický design C API pro nativní extenze, který odkrývá příliš mnoho implementačních detailů. Demonstrace těchto problémů na Pythonu a R (GraalPython a R). Povídání o tom jak ve FastR optimalizujeme lazy evaluaci argumentů v Rku.


Tomáš Zezula – Veterán z NetBeans teamu, v posledních letech pracuje na GraalVM.

Štěpán Šindelář – Posledních 9 let člen teamu GraalVM. Současně pracuje na GraalPy, alternativní implementaci Pythonu založenou na GraalVM technologii.

Jaroslav Tulach – Známý tech influencer a zakladatel NetBeans, světoznámého Java IDE a platformy pro tvorbu desktopových aplikací v Javě. Autor knih jako Rich Client Programming: Plugging into the NetBeans Platform a Practical API Design. Autor Bck2Brwsr VM, Java Virtual Machine AOT nebo JIT transpilující Java classy do JavaScriptu. V současné době compiler engineer ve společnosti Enso.
Předchozí díly:
- https://jug.cz/serial-dynamicky-preklad-prakticky-8-14-domluvte-se-mezi-jazyky-a-vasimi-datovymi-strukturami/
- https://jug.cz/serial-dynamicky-preklad-prakticky-7-14-promluvte-si-s-prekladacem-dsl-prace-s-pameti-kontrola-behu-a-knihovny
- https://jug.cz/serial-dynamicky-preklad-prakticky-6-14-promluvte-si-s-prekladacem-kese-abstraktni-syntakticke-stromy-a-dsl
- https://jug.cz/serial-dynamicky-preklad-prakticky-5-14-promluvte-si-s-prekladacem-profily-bioinformatika-a-predpoklady
- https://jug.cz/serial-dynamicky-preklad-prakticky-4-14-promluvte-si-s-prekladacem-direktivy
- https://jug.cz/serial-dynamicky-preklad-prakticky-3-14-jak-prekladaji-moderni-prekladace
- https://jug.cz/serial-dynamicky-preklad-prakticky-2-14/
- https://jug.cz/serial-dynamicky-preklad-prakticky-1-14/