Friday 10 November 2017

Pythoneye Desarrollar Python Más Brillantemente


Lenguaje de scripting para el desarrollo de estrategias comerciales Actualmente estoy trabajando en un componente de un producto comercial que permitirá a un desarrollador de cuantía o estrategia escribir sus propias estrategias personalizadas. Obviamente no puedo tener que escribir estas estrategias en lenguajes compilados nativamente (o incluso un lenguaje que compila un bytecode para ejecutarse en un vm) ya que sus ciclos de dev / test tienen que ser del orden de los minutos. La mejor respuesta Mark-Jason Dominus, autor del módulo Texto :: Plantilla de Perl, tiene algunas ideas que podrían ser relevantes: Cuando las personas hacen un módulo de plantilla como éste, casi siempre comienzan inventando una sintaxis especial para sustituciones. Por ejemplo, lo construyen para que una cadena como %% VAR %% se sustituya por el valor de $ VAR. Entonces se dan cuenta de la necesidad de formato adicional, por lo que ponen en alguna sintaxis especial para el formateo. Entonces necesitan un bucle, por lo que inventan una sintaxis de bucle. Pronto tienen un nuevo lenguaje de plantilla. Este enfoque tiene dos problemas: en primer lugar, su pequeño lenguaje está lisiado. Si usted necesita hacer algo que el autor no ha pensado, usted pierde. Segundo: ¿Quién quiere aprender otro idioma? Si escribes tu propio mini-lenguaje, podrías terminar en el mismo predicamento: mantener una gramática y un analizador para una herramienta que está paralizada por el diseño. Si un lenguaje de programación real parece un poco demasiado bajo, la solución puede no ser abandonar el lenguaje, sino proporcionar a sus usuarios finales funciones de utilidad de nivel superior, para que puedan operar con conceptos familiares sin atascarse en el Malas hierbas del lenguaje subyacente. Eso permite que los usuarios principiantes operen a un nivel alto; Sin embargo, usted y cualquier usuario final con un don para él - sus súper-usuarios - todavía pueden aprovechar la potencia total de Ruby o Python o lo que sea.

No comments:

Post a Comment