language agnostic - ¿Hay algún lenguaje de scripting incrustado y tipado estáticamente?
language-agnostic embedded-language (4)
Me pregunto si hay algún lenguaje de scripting editable y tipado estáticamente. Python, JavaScript, etc. son excelentes idiomas, pero están tipados dinámicamente (es decir, los tipos se verifican en tiempo de ejecución). Me pregunto si alguien sabe de algún lenguaje de scripting estáticamente estátizado que se pueda incrustar en una aplicación de C ++.
¿Qué hay de C #? Consulte la implementación de Mono de un lenguaje de scripting de C # "REPL ( http://www.mono-project.com/CsharpRepl )
Actualización: si no sabes qué es un REPL, es lo que ves cuando ejecutas Python sin ningún argumento, o irb
Bueno, hay Ch - el intérprete incrustable C / C ++
Haskell está tipado estáticamente. Y probablemente puedas incrustar ghci o abrazos (ambos son intérpretes) en otro programa. Pero no es fácil, afaik.
Sugeriría que revises Angelscript . Lo usamos en Warsow y es bastante bueno. Tiene todas las características que esperarías como clases, administración de memoria, etc. Dado que está tipado estáticamente, puede optimizarlo mejor, por lo que el bytecode termina más rápido que otros lenguajes de scripting.
Sin embargo, AS no es tan fácil de usar como otros como Lua, y solo hay una descarga .zip, lo que significa que no hay instaladores .exe, paquetes .deb, .dmg ni nada. En general, esto está bien, porque de todos modos querrás agrupar AS en tu proyecto. Lo más difícil en comparación con Lua es que la biblioteca es mucho más grande (pero tiene más funciones). No es que mucha gente lo use así que es mucho más difícil encontrar ejemplos y ayuda, pero hay buenos documentos, por lo que no debería ser tan difícil comenzar.
Sin embargo, personalmente preferiría tener un lenguaje dinámico para scripting. Cuando escribo una secuencia de comandos de una aplicación, quiero entrar allí y codificar la mierda sin tener que preocuparme por el equipaje estilo C. Aparte de AngelScript, realmente no puedo pensar en otros que valga la pena recomendar.