Lenguaje de programación Racket
- Racket es un lenguaje de programación maduro, práctico, extensible, robusto y sofisticado
- Racket es un lenguaje de programación orientado a lenguajes (Language-Oriented Programming), con características como:
- compatibilidad con tipado de ocurrencia de orden superior (higher-order occurrence typing)
- integración del lenguaje Scribble para generar documentación
- compatibilidad con programación lógica como Datalog
- un sistema de macros muy potente, con soporte desde macros pequeñas hasta macros grandes, creación sencilla de DSL y soporte para toda la sintaxis
- El ecosistema de Racket está compuesto por software, tutoriales y documentación, comunidad, libros, educación, swag, etc.
- Racket ha recibido apoyo de diversas organizaciones y personas, incluyendo NSF, DARPA, FIPSE, la Fundación Exxon, Microsoft, Mozilla y Google
Opinión de GN⁺
- Una de las mayores fortalezas de Racket es que soporta la programación orientada a lenguajes. Gracias a esto, es fácil crear lenguajes específicos de dominio (DSL), lo que ayuda a mejorar la productividad
- Sin embargo, por las características de los lenguajes de la familia Lisp, se usan muchos paréntesis, lo que puede hacer que la legibilidad sea menor para quienes lo conocen por primera vez. Sería bueno introducir otra sintaxis en lugar de paréntesis, como en Clojure
- Los tutoriales y la documentación están muy bien preparados, por lo que es fácil aprenderlo. También se usa mucho con fines educativos
- También puede usarse como lenguaje de propósito general, pero tiene un enfoque especialmente fuerte en la creación de DSL o en usos educativos como SICP. Para usarlo en un entorno real de producción, todavía parece que faltan bibliotecas y otros recursos
- Se recomienda como lenguaje de aprendizaje para quienes quieran empezar con lenguajes funcionales. Sin embargo, en el trabajo práctico conviene considerar Haskell, OCaml, F#, etc.
1 comentarios
Opinión de Hacker News
Resumen:
typed/racket,racket/guiyscribble/base. Los capítulos de los tutoriales que explican cada lenguaje se tratan sin relación entre sí, lo que genera confusión.#langpara Lua.