He sido catador de múltiples lenguajes de programación, desde compilados a interpretados. Unos más rápidos que otros, otros más cómodos, algunos muy amigables con el teclado, otros un poco (o muy) esotéricos. En este circuito de recorrido, siempre evitando lenguajes que no me llamaban la atención. Tal fue el caso con PHP, por cuestiones laborales debí dejar a un lado JavaScript & NodeJS (incluyendo otros como Python, C# y Java) para entrar en el nuevo — a la vez antiguo — ecosistema de éste lenguaje interpretado.
La primera impresión fue buena, aunque no me acostumbraba del todo a escribir un montón de símbolos de pesos en cada línea de código. Al igual que Java, PHP incluye muchas funciones internas e igualmente la longitud de los nombres es grande. Caracteres y símbolos innecesarios llenaban los archivos de mis proyectos.
Meses antes había desarrollado un sistema básico interpretador de operaciones matemáticas, llamado Sylver. Su funcionamiento interno puede ser tan simple como complejo dependiendo proporcionalmente de la gramática definida con un sistema YACC.
Había estado cerca de tres meses escribiendo código PHP . Aprendí rápidamente éste lenguaje. Tres días después había migrado a este toda una plataforma construida en C#. Era cuestión de ritmo ya que la plataforma migrada no era tan robusta en ese momento. La idea de crear un lenguaje transpilable rondaba por mi mente desde hacía mucho tiempo, o bueno, se originó cuando aprendí a usar las bases de YACC, Bison, Jison y algunos fundamentos acerca del análisis de patrones basados en gramática.
En fin, después de haber estado probando ejemplos de gramáticas con Jison, me pregunté: ¿Porqué no construir un lenguaje que se transpile a código PHP? Me embarqué en la creación de este lenguaje, y por supuesto la sintaxis de el nuevo lenguaje no tendría elementos innecesarios que posee actualmente PHP — se trata del famoso de símbolo $. Al mismo tiempo tomaría como base la sintaxis de otros lenguajes que me gustan mucho, añadiendo similitudes con la gramática de Ruby y Python, también tomando como idea principal la definición de funciones y segmentos de código como lo hace CoffeeScript, donde pueden ser ejecutados de manera muy corta y amigable, me refiero a la redefinición de métodos como creación y obtención de constantes, y muchos otros nuevos Snippets.
El nuevo lenguaje está en fases iniciales, apenas definiendo muchos de los componentes, gramática a traspilar… Pueden verlo aquí, proyecto rp
Gracias por leerme.
El código fuente está abierto, cualquier ayuda, sugerencia, crítica y documentación será bienvenida.
Web Developer, contador de historias y entusiasta de la fotografía. Bienvenido/as a mi blog. Siga sumercé
Suscribirse a:
Comentarios de la entrada (Atom)
Fixing ZTopInc WiFi Driver Compilation on Ubuntu 24.04 LTS
If you're struggling to get your ZTopInc 802.11n NIC (USB ID: 350b:9101 ) working on Ubuntu 24.04, you're not alone. The driver avai...
-
El gráfico Composición de usuarios ( User Composition ) en Amplitude muestra el desglose de usuarios activos en función de una única propi...
-
¡He conseguido hacer exitosamente pan de yuca, este es mi pan favorito! Me encanta demasiado este pan y tenía que aprender a prepararlo, per...
-
Ayer, miércoles 16 de agosto, desde el equipo de QA me llegó un reporte de un error en uno de los desarrollos que había realizado, un error ...
No hay comentarios.:
Publicar un comentario