Actualmente estoy jugando con los lenguajes de programación. Pasé algún tiempo escribiendo analizadores e intérpretes en lenguajes de alto nivel (sobre todo haXe).Elección de un idioma intermedio
He tenido algunos resultados, creo que en realidad son bastante agradables, pero ahora me gustaría hacerlo rápido.
Mi idea era traducir el idioma de entrada a C.
Mi conocimiento de C se limita a lo que aprende en la universidad. Más allá de algunos ejercicios, nunca he escrito programas reales de C. Pero estoy seguro de que puedo hacerlo funcionar.
Por supuesto, podría intentar escribir una interfaz para LLVM o generar código de bytes MSIL o JVM. Pero siento que eso es demasiado para aprender en este momento, y realmente no veo mucha ganancia.
También C es perfectamente legible, así que si lo arruino, es mucho más fácil entender por qué. Y C es, después de todo, de alto nivel. Realmente puedo traducir conceptos del lenguaje de entrada sin demasiado alucinante. Debería tener algo funcionando y funcionando en un tiempo razonable y luego optimizarlo como mejor me parezca.
Entonces: ¿Hay algún inconveniente en el uso de C? ¿Puedes recomendar una alternativa?
Gracias por su comprensión :)
Editar: algunas aclaraciones
- La razón por la que quiero ir todo el camino hacia abajo, es decir, que estoy escribiendo un lenguaje de programación orientada a objetos con el apoyo y realmente quiero implementar mi envío de métodos a mano, porque tengo algo muy específico en mente.
- Un área de uso principal sería escribir servicios HTTP, pero podría crear imágenes añadiendo enlaces a una biblioteca GUI (wxWidgets tal vez) o lo que sea.
¿Cuál es la pregunta? – unwind
@unwind: Acaba de editarse. – back2dos
La mayoría de los compiladores que puedo pensar toman un paso intermedio antes de ir a C nativo, así que, sí, creo que C es una buena opción, especialmente porque eso te da mucha portabilidad. Si su lenguaje está orientado a objetos, es posible que tenga un mejor momento para traducir a C++ o Objective-C; Del mismo modo, si es funcional, es posible que tengas un mejor momento para traducir a Haskell. –