cím név OE logo konzulens
- programnyelvek: szakmai érdeklődésem központja
- meglévő programozói tapasztalatok -> elméleti jellegű témaválasztás
- elégedetlenségem
- az elterjed dinamikus nyelvekkel
- az általános szoftverminőséggel
- típuselmélet -> típusrendszerek
- típusellenőrzés: dinamikus / statikus nyelvek
- típusrendszer fogalmak
- típusrendszer elemek megjelenése nyelvekben
- szubjektív, nem kimutatott, saját tapasztalat
- statikus nyelvek általános előnyei
- védőháló funkció
- bizonyos szintű garancia a konzisztens kódra (!= helyesség)
- futásidejű hibák (ügyfélnél) -> fordítási idejű hibák (fejlesztőnél)
- célom: bemutatni a statikus oldal gyakorlati lehetőségeit
- Javascript -> Typescript
- Python -> type hints, Mypy
- Php -> Hack
- lehetőségek
- dinamikus nyelven íródott kódbázis fokozatos megerősítése
- fokozatos átállás, nem akasztja meg a projektet
- Sum types - ML nyelvcsalád, Rust, Swift
- elegáns modellezése a bizonytalanságnak
- NullPointerException kiiktatása
- futásidejű hibák eliminálása
- "teljes hibakezelés", másként le sem fordul
- elegáns modellezése a bizonytalanságnak
- fordítási időben megoldott biztonságos memóriakezelés
- memóriakezelésből eredő hibák kiiktatása
- out-of-bounds olvasás / írás
- memory leak - fel nem szabadított memóra
- data race
- teljesítmény
- "Várom a kérdéseket, köszönöm a figyelmet"