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++.¿Hay algún lenguaje de scripts incrustado estáticamente y tipado?
Respuesta
Bueno, hay Ch - el intérprete integrable C/C++
¿Podría ampliar un poco más sobre Ch? ¿Es multiplataforma?¿Se lanzó bajo licencia GPL o una licencia diferente? ¿La documentación está actualizada? –
@George: Realmente no lo he probado (personalmente no veo el punto), pero es multiplataforma y gratuito. Parece estar bien documentado y también hay una versión comercial con (presumiblemente) soporte completo –
¿Y en qué mundo C cuenta como "estáticamente estátizado"? –
¿Qué hay de C#? Echa un vistazo a la aplicación de un C# de Mono "lenguaje de programación" REPL (http://www.mono-project.com/CsharpRepl)
Actualización: Si usted no sabe lo que es un REPL es, es lo que se ve cuando se ejecuta Python sin argumentos, o IRB
Sugiero que revise 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 hacer mejores optimizaciones para ti, 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, es decir, 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, yo 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.
"sin preocuparse por el equipaje de estilo C": de hecho, parece que Angelscript es demasiado pesado para calificarlo como un "lenguaje de guiones". – Stefan
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.
He intentado usar Haskell como reemplazo de Python, pero después de algunos intentos fue obvio que implementar algo en Haskell me lleva 5 veces más tiempo que en Python. Traté de atribuir esta diferencia a mi poco conocimiento de Haskell, pero después de reconsiderar nunca he tenido un rendimiento tan pésimo con ningún idioma nuevo, así que me apego a Python. Además, la evaluación perezosa en combinación con IO genera errores terribles e impredecibles. Es como agarrar múltiples hilos cuando el orden importa, pero las cosas suceden fuera de orden y en el caso de Haskell no tienes los medios para imponer el orden. – Trismegistos
Haskell absolutamente tiene orden impuesta. El orden en el que se secuencian las acciones de IO, por ejemplo, es el orden en que sucederán. – Evan
- 1. Usando el tipado dinámico en D, un lenguaje estáticamente tipado
- 2. Elección del lenguaje de scripts incrustado para C++
- 3. ¿Hay un subconjunto "seguro" de Python para usar como un lenguaje de scripts incrustado?
- 4. ¿Hay algún lenguaje estático de tipo pato?
- 5. ¿Hay algún lenguaje que implemente genéricos _well_?
- 6. Refactorización con lenguaje de tipado dinámico
- 7. Operadores de lenguaje incrustado de dominio C++
- 8. ¿Es PowerShell un lenguaje fuertemente tipado?
- 9. ¿Hay algún mecanismo mutex/semáforo en los scripts de shell?
- 10. ¿Hay algún lenguaje de scripting decente que use programación funcional?
- 11. ¿Hay algún soporte para scripts en Windows Phone?
- 12. ¿Hay algún lenguaje que sea simplemente "perfecto" para raspar web?
- 13. ¿Hay algún lenguaje simple implementado usando ANTLR o similar?
- 14. ¿Hay algún algoritmo necesita lenguaje funcional exclusivamente a implementarse
- 15. ¿Qué significa "estáticamente estátizado" y "forma libre" para C++?
- 16. ¿Qué lenguajes tipados estáticamente son similares a Python?
- 17. ¿Hay un lenguaje de programación fuertemente tipado que le permita definir nuevos operadores?
- 18. Depuración de scripts de IronPython en entorno alojado (incrustado)
- 19. Python 3 y tipado estático
- 20. ¿Cuáles son los beneficios (y desventajas) de un lenguaje débilmente tipado?
- 21. Cuando es bueno usar lenguaje de script incrustado como Lua
- 22. ¿Qué lenguaje de scripting usar para scripts de utilidad?
- 23. Factibilidad de la ingeniería inversa algún código incrustado
- 24. ¿Hay algún Lex y Yacc IRC activo?
- 25. ¿Hay algún tipo de biblioteca estadística de procesamiento de lenguaje natural para Haskell?
- 26. ¿Hay algún libro de ocsigen disponible?
- 27. ¿Hay algún cambio de lenguaje o especificación planificado para una versión futura de Scala?
- 28. ¿Hay algún otro lenguaje de programación para la programación del lado del cliente además de javascript?
- 29. ¿Hay algún punto para minificar a PHP?
- 30. ¿Hay algún motor de juegos/gráficos para el lenguaje de programación D?
¿Cómo se escribe "python" sin mucha compresión? En python, muchas operaciones lanzan un TypeError que simplemente causaría un comportamiento indefinido en C++. – sepp2k
La mayoría de ellos (Python, Ruby, ...) podrían considerarse fuertemente tipados según la definición (@runtime, eso es). Es posible que desee ampliar su definición específica '' fuertemente tipada ''. – ChristopheD
Oh querido, puedo ver una pelea bunfight saliendo de este ... – skaffman