IDE – ¡Programa de una forma más más fácil!

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Hoy volvemos a la carga una semana más con un post enmarcado dentro de un nuevo arco argumental. Y para inaugurarlo vamos a hablar sobre una de las herramientas básicas para todo desarrollador, independientemente de su lenguaje, nos referimos por supuesto al IDE

IDE – Integrated Development Environment.

Para todos aquellos dentro del mundo del desarrollo del software (o al menos la gran mayoría) sabe lo que IDE significa, independientemente de lo a favor o en contra que se este de su uso.

Para los neófitos, aquí tenéis la definición de la Sagrada Wikipedia;

Un entorno de desarrollo integrado1 o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software. – Wikipedia

IDE - definicion
Como podemos extraer de la definición, un IDE es un programa para programar.

En otras palabras, un IDE es un editor de texto con esteroides, a final de cuentas podemos escribir código y encima de eso tenemos herramientas como navegabilidad, corrección de sintaxis, autocompletar, compilador (en el caso de ser necesario) por nombrar algunas.

¿Usarlo o no usarlo?

Respecto a la eterna pregunta «Procesador de texto Vs. IDE» no hay realmente una respuesta absoluta en esto, pero no quiero hacer de este post un campo de batalla sobre el tema.

XKCD - Real programmers use...
XKCD – Real programmers use…

Como todas sabéis (o deberías saber a estas alturas), un humilde servidor se gana las habichuelas como DevOps (con mas énfasis en el Dev que en el Ops) y particularmente con PHP. Hasta no hace demasiado era acérrimo defensor de utilizar SublimeText con un buen conjunto de paquetes. Durante bastante tiempo estuve trabajando de esa manera, puliendo mi selección de paquetes:

  • Paquete para integrar repositorios (git/mercurial).
  • Autocompletado para PHP.
  • CodeBug para implementar xDebug
  • PHPSniffer para validar el código contra el PSR-1/2.
  • DocBlockr para agregar documentación fácilmente.
  • Emmet para generar código.
  • MarkdownPreview para previsualizar archivos .MD
  •  PHPUnit Build para compilar test unitarios.

Esta lista no es completa, pero ahora mismo no recuerdo el resto de plugins. Esto en principio me daba un entorno completo (ja! que iluso era…) y que me permitía el trabajar de una forma más efectiva, pero también exigía el tener que configurarlos, actualizarlos, etc. Sin mencionar que aunque la gran mayoría de paquetes son estables y funcionan muy bien, tenemos algunos que no hay cojones manera de hacerlos funcionar sin problemas.

Todo esto cambió cuando en 2012, por recomendación de mi buen amigo Kanttarino le di un tiento a PHPStorm, sinceramente decir que fue trastocó todo mi mundo seria quedarse corto. A partir de ese momento, me volví completamente un defensor del uso de IDEs (con peros y excepciones).

confuccio-says-ide
Ya lo dijo Confuccio…

Ventajas.

El uso de Entornos de Desarrollo Integrados, son muchas y variadas y también cambian mucho entre la elección de uno u otro y de las características, pero hay ciertas cosas que se pueden aplicar a la gran mayoría de IDEs:

  • Ofrecen herramientas para la navegación sencilla, como haciendo CTRL + Click en una clase para acceder al archivo.
  • Función de autocompletado en base al lenguaje y al proyecto.
  • Generación de snnipets de código.
  • Herramientas para refactorizar el código (muy fan de esta)
  • Organización de use/imports/etc, muy útil para añadir Clases utilizando solo el nombre de clase, etc.
  • Avisos mientras escribes si el código no es correcto.
  • Implementación para visualizar la documentación de diferentes formas.
  • Un espacio de trabajo donde puedes ver mucho más que en un simple editor (Consola, Conexiones a BD, explorador de funciones, etc)
  • Integración de debugging
  • Integración de sistemas de control de versiones

Como podéis ver hay cosas en esta lista que solo por si mismos, son justificación suficiente.

Desventajas.

Sinceramente como gran defensor de los IDE, no puedo pensar en una gran lista de desventajas, pero esta claro que cuando aceptas el uso de un IDE por un numero determinado de funcionalidades, estas aceptando también el resto.

Esto quiere decir que normalmente no puedes elegir el que quieres en el programa o no, pero bueno, muchos IDEs se están moviendo en flexibilizar esto, mediante el uso de plugins.

Nota final.

También respecto a este tema soy realista, yo uso PHPStorm de manera extensiva, porque es una herramienta increíble y muy completa. Pero por ejemplo cuando quiero/tengo que escribir scripts en bash siempre, siempre uso Vim.

IDE-vim-cerrar
Yo en un día normal de la oficina entrenando a un junior…

Esto es porque me encuentro más cómodo escribiendo este tipo de scripts en una aplicación mucho mas limpia y minimalista que un IDE, esto desde luego es totalmente una manía personal, pero esto demuestra que al final cualquier herramienta en la que tú te sientas feliz trabajando, será la adecuada.

Y con esto nos despedimos por hoy queridos rooters, ¡nos vemos en el próximo rootie!

Como siempre para cualquier duda, pregunta, comentario, insulto, soborno o amenaza, podéis usar los comentarios o en nuestras redes sociales Facebook y Twitter.

 

Deja un comentario

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