Estoy haciendo un compilador simple para un lenguaje de mascotas simple que estoy creando y que proviene de un fondo C (aunque lo estoy escribiendo en Ruby) Me pregunto si es necesario un preprocesador.¿Los preprocesadores están obsoletos en los idiomas modernos?
¿Qué opinas? ¿Es necesario un preprocesador "tonto" en los idiomas modernos? ¿Las capacidades de compilación condicional de C# se considerarían un "preprocesador"? ¿Todos los lenguajes modernos que no incluyen un preprocesador tienen las herramientas necesarias para reemplazarlo adecuadamente? (Por ejemplo, el preprocesador C++ ahora está obsoleto (aunque todavía depende de él) debido a las plantillas).
me _No_ decir que el preprocesador es obsoleta en C++. Muchas cosas para las que se usó en C se pueden hacer usando plantillas, pero todavía hay muchos usos para eso. –
C++ todavía necesita el preprocesador para archivos '# include' como mínimo, aunque espero que todos podamos estar de acuerdo en que hay maneras más seguras de manejar archivos múltiples que usar un preprocesador. – sepp2k
@sepp @James Sí, eso es de lo que estoy hablando. Cualquiera que haga '#define foo (x) ...' en C++ o bien no conoce las plantillas de C++ o está trabajando en el código heredado. – Earlz