Lección 3: Editores
¿Cual es la mejor IDE o editor para trabajar con Clojure? Esa fue la primera pregunta que me planteé cuando me adentré en el fantástico mundo de la programación funcional. Recorrí de arriba a abajo cada uno de ellos hasta que por fin, de forma natural, me sentí cómodo. Una herramienta actual y bien integrada con Clojure. Con mucha paciencia y dedicación encontré el editor que mejor se adaptaba a mi forma de trabajar. Para acorta tu camino voy a compartir una breve anotación donde describo los puntos fuertes y débiles de cada uno, terminando con una corta recomendación.
Emacs (con Cinder)
Ventajas
- Altamente configurable.
- Muy maduro.
- Compatible con casi cualquier Sistema operativo y arquitectura.
- Preparado para la programación funcional.
Contras
- Gran inversión de tiempo en aprendizaje y configuración.
- No apto para todos los perfiles, sobretodo si estas iniciandote.
Recomendado si…
- Necesitas un entorno de trabajo personalizado.
- Te gusta construir tu propio editor.
- Quieres ampliar el potencial del editor con otras herramientas.
- Deseas programar con Lisp.
- Te gustan los retos.
Vim/Neovim + fireplace
Ventajas
- Altamente configurable.
- Grandísima comunidad.
- Compatible con casi cualquier Sistema operativo y arquitectura.
- Sensación de alta productividad con sus miles de atajos de teclado.
Contras
- Gran curva de dificultad. Pasará tiempo hasta que realices los atajos de forma natural.
- Instalación de multitud de plugins. Es un editor no un IDE, deberás buscar e instalar todas las extensiones que creas necesario hasta que funcione como una herramienta preparada para su uso diario: compatibilidad con lenguajes, autocompletador, arbol de directorios, linter…
- Clojure es tratado como un lenguaje cualquiera dentro de sus herramientas.
Recomendado si…
- Trabajas con el terminal.
- Buscas un entorno de gran productividad.
- Dispones de una larga experiencia como desarrollador.
- Tu equipo no tiene muchos recursos.
Light Table
Ventajas
- Original y muy bien diseñado para Clojure.
- Previsualizador de cambios en el propio editor.
- Comandos rápidos.
- Sistema de plugins variados para cualquier desarrollo.
- Interfaz minimalista con un diseño práctico.
Contras
- La última gran actualización vino del 2016… y aunque el creador quiere actualizar algunos paquetes parece ser que el desarrollo esta estancado.
- No existe instalador oficial para Linux. También añado que he encontrado problemas al ejecutar en Ubuntu.
Recomendado si…
- No quieres complicarte para trabajar con Clojure.
- Quieres tener una vista en vivo sin recurrir a herramientas externas.
- Si apoyas los proyectos de Kickstarted, fue una de las iniciativas que más ruido causaron en su momento.
Nightcode
Ventajas
- Minimalista.
- Muestra en vivo el contenido de tus variables.
- Fácil de utilizar.
- Construido en Clojure para programar en Clojure…
Contras
- …y nada más. Olvídate de hacer un HTML o cualquier otro lenguaje.
- Sin extensiones.
Recomendado si…
- Te estas iniciando en Clojure.
- Buscas un debug potente.
- Quieres sencillez.
Sublime Text + SublimeREPL + Enhanced Clojure
Ventajas
- Sencillo de utilizar.
- Plugins para hacerlo compatible con casi cualquier herramienta.
- Eficiente. Cuando más lo notas son con archivos grandes.
- Rápido de instalar y abrir.
Contras
- Es gratuito, pero no libre.
- Las actualizaciones no aportan nuevas características, se centran en la estabilidad. La filosofía es que lo extiendas por medio de plugins.
- Los plugins para Clojure son buenos, pero no excelentes.
Recomendado si…
- No te vas a centrar solo en el desarrollo de Clojure.
- Quieres una herramienta estable.
- No quieres invertir tiempo en aprender a usar un editor.
Atom + Proto REPL + Paredit + Parinfer
Ventajas
- Creado y mantenido por Github.
- Buena integración con Github.
- Visualmente precioso.
- Plugins destacables.
Contras
- No aporta realmente nada al desarrollo de Clojure, hay que instalar 3 plugins independientes.
- Las diferencias entre VSCode y Sublime Text son anecdóticas.
Recomendado si…
- Buscas un editor enriquecido similar a VSCode o Sublime Text.
- Quieres un editor equilibrado, no muy grande pero tampoco minimalista.
IntelliJ IDEA Community + Cursive
Ventajas
- Si buscas la IDE más completa del mercado, lo acabas de encontrar: integraciones, atajos, paleta de comandos, lenguajes, snippets, autocompletador excelente… y todo en grandes cantidades.
- Fácil de instalar y utilizar.
- Muy estable.
Contras
- No soporta oficialmente Clojure.
- Es gratuito pero no libre, tanto el editor como la extensión Cursive.
- No esta preparado para desarrollar web. Hay que dar el salto a su versión de pago Ultimate Edition o WebStorm.
- El más pesado de la lista.
Recomendado si…
- Buscas una herramienta profesional ya equipada, instalar y usar.
- Usas un equipo que puede soportar un software exigente.
- No tienes problemas de hacer un desembolso económico si fuera necesario.
Visual Studio Code + Calva
Ventajas
- Editor más popular.
- Soporte a cargo de Microsoft con todo lo que conlleva: estabilidad, soporte para Typescript, Azure…
- Una biblioteca interminable de plugins, y además bastantes actualizados.
- Sentirás que no te falta de nada: integración con git, test, debug, lanzador de builders, terminal…
- Estéticamente muy parecido a Sublime Text o Atom.
Contras
- No apto para un equipo con poco recursos.
- La conexión con REPL puede darte algún dolor de cabeza.
- Calva esta muy desarrollado y funcional, pero no terminado.
Recomendado si…
- Buscas una navaja suiza para tus proyectos.
- Quieres una alternativa gratuita de IntelliJ y Sublime Text.
- Usas Javascript.
Spacemacs
Ventajas
- Posiblemente el editor más equipado para trabajar con programación funcional.
- Automatización: se instala una capa para usar Clojure a las mil maravillas sin tocar nada. Es un editor que no es necesario configurarlo, todo es autoinstando según las necesidades. Es increíble.
- Todas las herramientas que puedes necesitar para usar REPL.
- Compatible con todos los atajos de Neovim/Vim de forma nativa.
- Lo mejor de 2 mundos: la productividad de Neovim/Vim y las herramientas de Emacs.
Contras
- Necesitarás instalar previamente Emacs.
- Su dificultad de uso radica a que es totalmente diferente al resto. Los atajos son llamados nemotécnicamente a partir de la barra espaciadora.
- Esta orientado a desarrolladores con una buena experiencia que quieran dar un salto.
Recomendado si…
- Quieres trabajar con otros lenguajes de programación funcional.
- No quieres gastar muchos recursos.
- Buscas trabajar con atajos de Neovim/Vim.
Durante el curso
Este este curso haré uso de Spacemacs por ser el más utilizado en el desarrollo con Clojure, totalmente Opensource, estar programado en un lenguaje funcional vivo (Clisp), ser exponente de la programación funcional, encontrar constantes actualizaciones y por su fantástica integración con atajos de Vim (no se vivir sin ellos, ¡socorro!). ¿Qué más se le puede pedir a una herramienta para programar? ¿Qué puedas jugar al Tetris o haga de Terapeuta? Pues también lo te deja, ejecuta tetris
o doctor
dentro de Emacs.
No obstante si quieres allanar la curva de dificultad, y no has tocado antes Emacs o Vim, ves directo a IntelliJ IDEA Community o VSCode. Bastante dramático es el cambio de objetos a funcional para encima estar peleando con una herramienta que debería ayudarte.
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios