568 - Batalla de editores en Linux

568 - Batalla de editores en Linux

Te cuento mi experiencia como desarrollador programando en #python con #visualtudiocode, #pycharm y #neovim en #linux ventajas e inconvenientes

1:25
-3:15

En estos últimos días, preparando todo el material para Dockerbot, he estado trabajando con Visual Studio Code. Esto me ha llevado a compararlo con los otros dos editores que utilizo con mas frecuencia PyCharm y Neovim, lo que me ha dado para este episodio, y comentarte mis experiencias. Por supuesto, que se trata de mis experiencias, que pueden ser completamente distintas a las tuyas, y con las conclusiones que te contaré no quiero que creas que estoy sentando cátedra ni mucho menos. En el caso de los editores, es fundamental, el uso que tu haces de ellos, y sobre todo el tiempo que le has dedicado a conocerlo en profundidad. Así, en este episodio te contaré mi experiencia con los tres editores que utilizo con mayor frecuencia, se trata de una batalla de editores entre Visual Studio Code, PyCharm y Neovim.

Batalla de editores en Linux

Un paseo por el pasado

Es posible que te preguntes que estoy haciendo escribiendo código en Python con Visual Studio Code. Todo viene por el proyecto de Dockerbot, en el que trataremos de crear un Bot para gestionar nuestros contenedores Docker. Como digo, se trata de un proyecto para aprender a utilizar Python o para mejorar en nuestras habilidades con Python, mas que otra cosa. La cuestión es que, al iniciar este proyecto, pensé que lo mas sensato era hacerlo con el editor mas común, y por ello me decanté por Visual Studio Code.

En este sentido, y dado que no es mi editor por defecto, he tenido que revisar y estudiar que extensiones instalar y como ponerlo en marcha, y en este sentido, he tenido la oportunidad de compararlo con los otros dos que utilizo.

Lo cierto, es que actualmente estoy utilizando Visual Studio Code, únicamente para programar en PHP, pero, al plantearme su uso con Python, necesité darle una nueva vuelta a esas extensiones.

Un aviso para navegantes o mejor dicho programadores

A la hora de escribir código, no me refiero a pulsar teclas. Quiero decir, que escribir código sin mas, lo puedes hacer con cualquier aplicación, incluso lo podrías hacer con Microsoft Word, por decir una auténtica barbaridad.

Cuando hablo de la batalla de editores, por supuesto me refiero a editor con todo lo que ello conlleva, es decir, no solo que te permita y facilite escribir código, sino que tenga su correspondiente auto completado, su análisis sintáctico, su ayuda contextual, sus herramientas para depurar, la integración con el control de versiones, etc.

Mi editor por defecto. Neovim

Entiendo que este no sea el editor por defecto para muchos usuarios, porque lo primero, necesitas conocer en profundidad su uso y gestión antes de hacer nada. Esto ya es una importante barrera, pero no es la única ni mucho menos.

Sin embargo, como bien sabes, mi editor por defecto es Neovim. Y por esto, es el editor que siempre tengo presente a la hora de escribir código.

Dicho esto, tengo que decir, que empezar a escribir código Python en condiciones, necesita de un proceso de aprendizaje importante. Y es que no solo tienes que conocer el funcionamiento de Neovim, sino que además tienes que instalar los complementos necesarios para el funcionamiento. Pero, ojo al dato, empezando por el propio gestor de complementos. Y aquí viene el primer problema tienes que escoger el gestor de complementos, y no es nada trivial, porque hay una buena cantidad de gestores de complementos.

Lo siguiente es elegir los complementos, y si elegir el gestor de complementos es un dolor, elegir las extensiones es un auténtico drama. Y esto está muy relacionado con algo que comenté hace un tiempo, y es que en muchas ocasiones, consultas artículos en Internet que están ya desactualizados.

Aquí te enfrentas a una miriada de complementos que aparentemente hacen lo mismo pero no. Además unos combinan y otros no. Es decir, necesitas dedicar un importante estudio para determinar cuales son los más adecuados.

Tienes que tener en cuenta que necesitas además del gestor de complementos, en mi caso Lazy, uno o varios servidores de lenguaje LSP, con lo que necesitas uno o varios complementos para instalarlos. Seleccionar los linter, las herramientas de autocompletado y mas.

Y si esto te parece poco obstáculo, tienes que añadir la problemática de la configuración de todos estos complementos para que todo funcione correctamente.

Y como guinda del pastel tendrás que añadir el problema de las constantes actualizaciones, tanto de el propio Neovim, como de los complementos que utilizas. Así que tienes que andar con mucho cuidado en las actualizaciones, y estar atento a los problemas que pueden surgir.

Visual Studio Code

Creo que la siguiente en dificultad, al menos para mi, es Visual Studio Code. Y es que, nada mas instalarla no puedes empezar a programar ni mucho menos. Quiero decir, que si puedes tirar líneas de código, pero, ni mucho menos esto se puede llamar a programar.

El primer problema con el que me encuentro es algo similar a lo que me sucede con Neovim. Tienes que pelear con la cantidad de extensiones que necesitas para empezar a programar con Visual Studio Code. Y, al igual que me sudecía con Neovim, distinguir cuales son las mas interesantes, cual están vigentes, etc.

En este caso, hay una ventaja siempre te puedes dejar aconsejar por Microsoft y elegir sus recomendaciones. Pero aún así, tienes que localizarlas y configurarlas.

Así, en mi caso, para poder trabajar con Python he instalado ni mas ni menos que nueve extensiones.

A parte de esto, tienes que conocer el entorno, como trabajar con la paleta de comandos, la configuración, etc.

Desde mi punto de vista, es mas sencillo de configurar y ponerse a trabajar con Python en el caso de Neovim, pero para nada es trivial.

Sin embargo, cuestiones como el control de versiones, la depuración y ejecución, etc, son mucho mas sencillas desde el primer momento que en el caso de Neovim. Esto no quiere decir, que Neovim, una vez configurado no sea igualmente sencillo.

PyCharm

El último de los contrincantes en esta batalla de editores es PyCharm, mi elección sin lugar a dudas para programar en Python, si no existiera Neovim.

Desde luego, de partida PyCharm es el editor con el que puedes comenzar a programar en Python, sin necesidad de instalar ningún complemento.

Para que te hagas una idea, en el caso de PyCharm solo he instalado dos complementos, un linter y un complemento para emular Vim, nada mas, con esto tengo mas que suficiente.

Para mi, creo que fue en su momento, el mayor y mejor de los descubrimientos, en lo que a editores de código se refiere.

PyCharm tiene dos inconvenientes para mi, uno es que está implementado en Java, y desde mi punto de vista, representa un consumo de recursos desmesurado. Pero, esto es algo complemente subjetivo. Aunque tengo que decir, que exactamente o mas le pasa a Visual Studio Code que utiliza Electron.

El segundo de los inconvenientes es que está enfocado en Python, y como sabes actualmente estoy programando en varios lenguajes, con lo que necesito una herramienta que me permita abarcarlas todas ellas. Es cierto que podría utilizar un editor para unos lenguajes y otro editor para otro. Sin embargo me he dado cuenta que es mejor conocer un editor en profundidad que dos por encima

Mi elección

Llegados a este punto probablemente estás pensando que mi elección sería PyCharm, pero no, no es así. Mi elección sigue siendo Neovim. Mas que nada por lo sencillo y rápido que es trabajar con él. Pero claro, ¿y las horas que le he dedidado a configurarlo?¿Quien me va a devolver las horas?

En ocasiones, me pregunto, si solo estaré programando con Neovim por el tiempo que ya he invertido en configurarlo. Pero son otro tipo de ventajas como la personalización, que sea multidisciplinar, y que es tremendamente ligero.

9 comentarios en “Batalla de editores en Linux

  1. RE
    ReporteDeFallo hace 10 meses

    Saludos Lorenzo. Problemas en el paraiso: el audio esta incompleta, sólo se escucha la entrafa.

    1. RE
      ReporteDeFallo hace 10 meses

      Otro detalle, acabo de publicar el comentario y en los de detalles dice que fue publicado hace 60 minutos. Seguimos a la caza de errorres …

  2. EN
    EnDetalle hace 10 meses

    Otros detalles para tener sobre «PyCharm*:
    – Es practico el asistente de creación de proyectos que tiene para crear entornos de ‘pyenv’ o similares.
    – Deteccion y asociación de entornos de trabajo (‘pyenv’, binarios de python, …)

    No es algo que no se pueda conseguir con simples comandos o plugins para (Neo)vim pero es útil para principiantes.

  3. MI
    Minkiu hace 10 meses

    Buenas, dale una oportunidad a Lite-XL: https://github.com/lite-xl/lite-xl
    Puede que te guste, es minimista, rápido y se puede configurar con plugins (o si sabes lua, tu mismo :D)

  4. MA
    Mario hace 10 meses

    Problema con el podcast, se escucha la sintonía de entrada y luego nada…

  5. AT
    atareao hace 10 meses

    Muchas gracias. Ya está corregido.

  6. AT
    atareao hace 10 meses

    Muchas gracias por el aviso. Ya lo conseguí corregir.

  7. AT
    atareao hace 10 meses

    Gracias. Mi problema con las fechas y UTC… Lo arreglaré, gracias por avisarme.

  8. AT
    atareao hace 10 meses

    Así lo haré, muchas gracias por la sugerencia

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *