рдкрд╛рдпрдердирдЪреНрдпрд╛ рдореБрдЦреНрдп рд╢рд╛рдЦреЗрдд рдЖрддрд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ

Ethan Smith, MyPyC рдЪреНрдпрд╛ рдореБрдЦреНрдп рд╡рд┐рдХрд╕рдХрд╛рдВрдкреИрдХреА рдПрдХ, Python рдореЙрдбреНрдпреВрд▓реНрд╕рдЪреЗ C рдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рдХ, CPython codebase (Python рдЪреЗ рдореВрд│ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА) рдордзреНрдпреЗ рдмрджрд▓ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реА рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореБрдЦреНрдп CPython рд╢рд╛рдЦрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЕрдЪрдЪрд╛ рдЕрд╡рд▓рдВрдм рди рдХрд░рддрд╛. Emscripten рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд╛рдкрд░реВрди рдЕрд╕реЗрдВрдмреНрд▓реА рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХреЛрдб WebAssembly рдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ.

рдкрд╛рдпрдердирдЪреНрдпрд╛ рдореБрдЦреНрдп рд╢рд╛рдЦреЗрдд рдЖрддрд╛ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЖрд╣реЗ

рдкрд╛рдпрдерди рдкреНрд░реЛрдЧреНрд░реЕрдорд┐рдВрдЧ рд▓рдБрдЧреНрд╡реЗрдЬрдЪреЗ рдирд┐рд░реНрдорд╛рддреЗ, рдЧреБрдЗрдбреЛ рд╡реНрд╣реЕрди рд░реЛрд╕рдо рдпрд╛рдВрдиреА рдпрд╛ рдХрд╛рдорд╛рд▓рд╛ рдордВрдЬреБрд░реА рджрд┐рд▓реА рд╣реЛрддреА, рдЬреНрдпрд╛рдиреЗ рдпрд╛рд╢рд┐рд╡рд╛рдп github.dev рд╡реЗрдм рд╕реЗрд╡реЗрдордзреНрдпреЗ рдкрд╛рдпрдерди рд╕рдкреЛрд░реНрдЯ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рд▓рд╛ рд╣реЛрддрд╛, рдЬреЗ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реЗ рдкрд░рд╕реНрдкрд░ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдЪреНрдпрд╛ рдЬреЛрдирд╛рдерди рдХрд╛рд░реНрдЯрд░рдиреЗ рдирдореВрдж рдХреЗрд▓реЗ рдХреА рд╕рдзреНрдпрд╛ github.dev рдордзреНрдпреЗ рдкрд╛рдпрдерди рднрд╛рд╖рд╛ рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдо рд╕реБрд░реВ рдЖрд╣реЗ, рдкрд░рдВрддреБ github.dev рд╕рд╛рдареА рд╡рд┐рджреНрдпрдорд╛рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдЬреНрдпреБрдкреАрдЯрд░ рдХрдВрдкреНрдпреВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХрдиреЗ Pyodide рдкреНрд░рдХрд▓реНрдк (рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реАрдордзреНрдпреЗ рдкрд╛рдпрдерди 3.9 рд░рдирдЯрд╛рдЗрдо рдмрд┐рд▓реНрдб) рд╡рд╛рдкрд░рд▓рд╛ рдЖрд╣реЗ.

рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░рд╢реА рди рдмрд╛рдВрдзрддрд╛ рдкрд╛рдпрдердирдЪреЗ рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА WASI (WebAssembly System Interface) рд╕рдорд░реНрдердирд╛рд╕рд╣ Python рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рд╖рдпрд╣реА рдЪрд░реНрдЪреЗрдд рдорд╛рдВрдбрдгреНрдпрд╛рдд рдЖрд▓рд╛. WASI pthread API рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рджрд╛рди рдХрд░рдд рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдЖрдгрд┐ Python рдиреЗ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХреЗрд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рддрдпрд╛рд░ рдХрд░рдгреЗ рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЕрд╕реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЦреВрдк рдХрд╛рдо рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛