Sublime Text vs Visual Studio Code vs Atom


Desde hace años he usado únicamente Sublime Text como editor de código para todos los lenguajes que en algún momento me ha tocado picar teclas (PHP, HTML/CSS/JS, C/C++, Java, Python, Perl, Bash, Ruby, etc etc…), y en verano me picó la curiosidad por saber cómo había evolucionado el mundillo de los editores con la entrada en juego de Atom y VS Code, ya que visualmente y… por trending pintaban muy bien.

Para evitar una lectura aburrida voy a hacer el spoiler de mi conclusión. Hoy me vuelvo a Sublime. A continuación las pegas (desde mi punto de vista, ofc) de cada uno de ellos.

Sublime Text

Aunque siempre fue mi favorito, no era perfecto. Básicamente esto fue lo qeu me llevó a probar otros editores:

  • Memoria. La maldita memoria… todos los programas que uso terminan comiéndose la RAM. Unos más que otros, pero después de semanas o meses sin reiniciar terminan por consumir demasiada. Sublime no era menos, y después de semanas trabajando con un proyecto (ventana) me tocaba reiniciarlo. Luego vi que esto pasa con todos.
  • Sensación de abandono. Si vas a su web parece que pierde fuelle su desarrollo. Antes cada mes mínimo había update. Ahora pasan muuuchos meses.
  • Plugins. Lo mismo que antes, no es que falten plugins, pero algunos que usas de primeras o llevas usando años parece que sus desarrolladores han muerto.
  • Integración con VCS. Con Git puede pasar. Con SVN olvidate. Pero vamos, lo mismo que el resto.

Por eso me puse a probar otros…

Atom

Con este no duré ni una semana:

  • Escasez de configuración. Tanto Sublime como Code puedes tocar hasta las tripas con JSON o código, Atom es maś complicado, de base las opciones son limitadas y tienes tu que adaptarte a él, no él a ti.
  • Memoria. Atom se basa en Electron, un engendro que usa HTML, JS y CSS para hacer apps de escritorio, creo que usando el motor de Google V8. Bonito, cross-platfrom, rápido de desarrollar, pero como tengas un equipo mediocre como me pasa en el curro estás jodido, y más cuando vienes de quejarte de la memoria como me pasaba con Sublime.
  • Plugins. La sensación es que muchos desarrolladores de plugins para Atom son una mezcla entre aprendices de programación y rollo hipster de la tecnología, que se apuntan al carro de cada cosa nueva que sale y hacen las cosas de cualquier forma, tienen buenas ideas y ojo para lo que se necesita siempre de primeras, pero les queda una chapuza. Atom es el rey en esto.
  • Complicación para cosas básicas. Por ejemplo, para integrarse con PHP necesité la versión Beta de Atom en su momento, porque usaba features que aun no estaban finalizadas. Aun a día de hoy siguen igual, casi medio año después. Y al ser Beta no solo petaba, sino que cambiaban cosas a menudo que rompian cosas previas y era un no acabar.
  • Falta de funcionalidades. Por ejemplo, el minimap de código, nunca he dado con uno que vaya tan bien como el de Sublime. O la lista de archivos abiertos, en vez de pestañas. Estas dos cosas me hacían echar de menos Sublime MUCHO.

VS Code

Code requiere de primeras configurarlo muy bien. Con paciencia puedes dejarlo casi como Sublime, y añade cosas que Sublime no tiene. Es con el editor que he estado casi 3 meses, hasta que me he cansado:

  • MEMORIA. Me quejaba de Sublime, pero Code no era para memos un monstruo de RAM, como Atom. Code es aun peor por un detalle horroroso. Todo en Code son hilos y workers separados. Cada ventana que abres los multiplica. Son ligeros y sencillos, pero como un día tu pc swapee prepárate. Como no reinicies cada ventanas vas a ver cómo cada operación que realices llevará minutos. Un scroll, un clic, cambiar de línea el cursor, TODO. Verás como todo irá a cámara lenta, el feeling que da es lo peor que he experimentado en años. Mientras tu pc deswapea memoria, el editor parece qeu se despierta de un largo invierno. Esto en Sublime suponía tirarte 2 minutos esperando y ya, volvía a la normalidad. Code se tira así toda la mañana, hasta que todos los workers pasan a RAM de nuevo.
  • Restore de ventanas. Si reinicias el PC o si has terminado por matar las ventanas, al volver a la vida no eh conseguido que todo se recupere como Sublime, todas sus ventanas, archivos, etc. Toca reabrir a mano cada proyecto.
  • Demasido user friendly. Esto es un defecto de aplicaciones de Windows y para usuarios de Java, creo yo. Code sugiere demasiadas cosas, y no hay forma de que te deje en paz. Déjame coñe, que sé lo que estoy haciendo, si, quiero hacer esta chapuza. No solo escribiendo código, sino con acciones del editor.
  • El editor es un pupurri de desplegables. La cajita de búsqueda, reemplazos, paneles, o cualquier cosa que se sale de l oqeu ves de primeras parece hecha por un equipo de desarrollo diferente, no están unificadas, la API del editor es demasiado dispersa. Sublime esto lo hace perfecto, o sale abajo, o sale en un desplegable. Ya está. En Code nunca sabes qué te espera.
  • Detección de cambios. La mayoría de las veces, en unidades compartidas (NFS, CIFS, SFTP) no se enteraba de los cambios y tenía que hacerlo manualmente. Muy molesto.

Conclusión

Total, que aquí estoy, con Sublime de nuevo meses después, y sin ganas de probar otro editor en años. Dejo aquí un benchmark que he encontrado de casualidad que me reafirma en mi decisión.