Π€ΡΠ΅Π½ΡΠΊΠΈΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ Π€Π°Π±ΡΠΈΡ ΠΠ΅Π»Π»Π°Ρ (Fabrice Bellard), ΡΡΠ·Π΄Π°ΡΠ΅Π»ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ QEMU ΠΈ FFmpeg, ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΠΎΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ Π²Π³ΡΠ°Π΄Π΅Π½ JavaScript Π΅Π½Π΄ΠΆΠΈΠ½ΠΈΠ½Π³. . ΠΠ½Π΄ΠΆΠΈΠ½ΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° ES2019 ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΡΠΈΠΏΠΎΠ²Π΅ BigInt ΠΈ BigFloat. ΠΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° QuickJS Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π²ΠΈΡΠ°Π²Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π°Π½Π°Π»ΠΎΠ·ΠΈ ( Ρ 35%, ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π΄Π²Π° ΠΏΡΡΠΈ, ΡΡΠΈ ΠΏΡΡΠΈ, Π° Π΄ΠΎ ΡΠ΅Π΄Π΅ΠΌ ΠΏΡΡΠΈ). ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π½Π° Π΅Π½Π΄ΠΆΠΈΠ½Π°, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ qjs Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° JavaScript ΠΊΠΎΠ΄ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ qjsc Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Π½ ΠΏΠΎΠ΄ MIT Π»ΠΈΡΠ΅Π½Π·. ΠΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ° .
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΠΏΠ° , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅ΡΠ΅ΡΠΈΡΠ½ΠΈ ΡΠΈΡΠ»Π° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΡΠΎΡΠ½ΠΎΡΡ (Π°Π½Π°Π»ΠΎΠ³Π° Π½Π° BigInt Π·Π° ΡΠΈΡΠ»Π° Ρ ΠΎΡΠ½ΠΎΠ²Π° 10). ΠΠ±Π½ΠΎΠ²Π΅Π½Π° Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ½Π°ΡΠ° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠ»ΠΎΡΠΎ ΠΠΈ Ρ ΡΠΎΡΠ½ΠΎΡΡ Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠ°ΡΠ΄ Π·Π½Π°ΠΊΠ° ΡΠ»Π΅Π΄ Π·Π°ΠΏΠ΅ΡΠ°ΡΡΠ° (ΠΊΠ°ΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊ, Π€Π°Π±ΡΠΈΡ ΠΠ΅Π»Π»Π°Ρ Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΡΠΎ ΡΡΠ·Π΄Π°ΡΠ΅Π» Π½Π° Π½Π°ΠΉ-Π±ΡΡΠ·Π°ΡΠ° ΡΠΎΡΠΌΡΠ»Π° Π·Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΡΠ»ΠΎΡΠΎ ΠΠΈ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
