Názor k článku Projekt py2many: transpiler Pythonu do dalších programovacích jazyků od Vít Šesták - Tak ono i mezi dynamický typovanými jazyky je...

  • Článek je starý, nové názory již nelze přidávat.
  • 18. 6. 2024 16:39

    Vít Šesták

    Tak ono i mezi dynamický typovanými jazyky je to problém, pokud chceme řešit rozdílnou sémantiku. Před spoustou let jsem přemýšlel o transpilaci PHP do JS. Oba jazyky jsou dynamické. Jenže i tam je problém. Když bez znalosti typů preložím $a + $b jako a+b a jedno z toho bude string, dostanu jiný výsledek. Mohl bych vše převádět na číslo, ale tím mi nebude fungovat přetěžování operátorů – co když budu mít třídu ComplexNumber? Takže jediné, co bych s tím mohl reálně udělat, že přeložit to na něco jako operatorAdd(a, b), a v rámci této funkce implementovat logiku z PHP. Což vlastně znamená přibalit kus PHP runtime.

    A takovéto drobnosti se nahromadí. Třeba blbý null/None. Pokud si ty jazyky nejsou extrémně podobné, nepůjde to udělat bez kompromisu některým směrem.