Otra forma de usar Python en un navegador (y no solo)

Antecedentes

En la primavera de 2020, me probé por primera vez en el desarrollo de sitios web backend, escribí en python, y en el frente tuve que usar js y me causó rechazo (aquí hay que aclarar que no considero js un lenguaje terrible, simplemente no me gustaba). Sin dudarlo, comencé a escribir un traductor de python a javascript (y si busqué en Google, encontraría esto y aquello ). este traductor será discutido.





Diferencias con otros traductores

Durante el proceso de desarrollo, leí sobre JavaScript y no mucho sobre otros lenguajes (ruby, lua, php) y noté que tienen mucho en común, por ejemplo, la presencia de condicionales, funciones, variables, etc. Y luego pensé, ¿por qué no agregar la capacidad de transmitir no solo en js sino también en otros idiomas?





Los idiomas se agregan usando funciones de controlador, por ejemplo, un controlador matemático para js se ve así:





def bin_op(left, right, op):
    return f"({left}{op}{right})"
      
      



y para lisp se verá así:





def bin_op(left, right, op):
    return f"({op} {left} {right})"
      
      



Y también una característica distintiva es la capacidad de agregar macros, como la división de enteros en js:





signs = {"//": lambda l, r: f"Math.floor({l}/{r})"}
      
      



Quien lo necesita

Una de las opciones para usar el proyecto es escribir scripts en juegos, dado que Python es bastante pesado para un lenguaje integrado, puede usar la traducción a lua.





También puede usarlo como un linter de Python con corrección de errores en los nombres de las funciones.





( js pascal) .





, - . : ( python ) .





, , . - , .





java. Java(jvm) - , , : Kotlin, Java, Clojure .





js, go, hello world (c++).





.





if...elif...else, while, for(C for each), . . .





, python. . .





web :





P.S.

.





Apoya el proyecto con un asterisco en github





Únete al canal de telegramas








All Articles