Una de las cosas que más me sorprenden cuando leo foros en internet, es cuando alguien,
generalmente estudiantes, pregunta si es malo usar IDEs y multitud de personas contestan
que "si" o les recomienda usar el "bloc de notas".
Hay que considerar que cada oficio tiene sus herramientas y si queremos desarrollamos
profesionalmente debemos usar sin miedo las que son propias de nuestro trabajo.
En nuestro caso como programadores son los IDEs.
Qué es un IDE?
IDE es la abreviatura de Integrated development environment (Entorno de Desarrollo
Integrado).
Originalmente (o más bien regresándonos a un punto preciso del pasado para clarificar
esta idea), los programas eran creados en una terminal, usando cualquier editor
(o entrada de texto disponible), para posteriormente ser compilado y enlazado, los
pasos exactos serian.
- Creación de los archivos fuentes: Se crean (de la forma que sea) una seria de archivos de código fuente. Si nuestro código es un ejemplo posiblemente sea solo un archivo uno, pero lo normal es que se sean multitud.
- Compilación de los archivos: El conjunto completo de los archivos que se ha creado representa a nuestro sistema pero es necesario compilarlos a código maquina por separado. Cada archivo se convierte en otro en código maquina.
- Unión o “Lincado” (link): Se unen los distintos archivos en código maquina, en un solo “ejecutable”. A partir de allí podemos ejecutar nuestro sistema
- Depuración: Nuestro sistema va a fallar, te lo aseguro. Nunca va a funcionar un sistema a la primera, con lo cual necesitamos depurarlo. Necesitas comprender por qué está fallando y donde.
Estos pasos son extremadamente repetitivos, así que se construyeron herramientas
para poder hacerlos de forma más ágiles, como por ejemplo la herramienta make.
Esto pasos, en esencia, son exactamente los mismos que se tienen que ejecutar en
la actualidad, creación, compilación, unión y depuración. los IDE con herramientas
que nos permiten realizar todas esta tareas desde un mismo entorno, y de la formas
más sencilla y rápida posible.
En los 80 y sobre todo en los 90 se popularizaron mucho los IDEs (y en la actualidad
son indispensables). Microsoft ofrecía un IDE de BASIC (qbasic y anteriormente gwbasic)
en su SO y Borland unos magníficos, y clásicos, compiladores de C, Pascal y Asm
(y prácticamente de cualquier lenguaje interesante), Después en los 2000 llegaron
nuevos IDE acordes a las nuevas necesidades como Visual Studio, Eclipse, Xcode o
JetBrains.
¿Qué hacen actualmente los IDE?
Para que un ambiente pueda considerarse un IDE, lo mínimo que debe ofrecer son las
funcionalidades de edición de código fuente, compilación, unión y depuración.
Los IDE actuales ofrecen gran cantidades de herramientas , tal como:
- Editores de texto avanzados , con resalte de sintaxis, ayuda en línea sensible al contexto, búsqueda de referencias y análisis de código a la vez grandes capacidades de refactoring…
- Creación de Interfaces Gráficas: Se pueden crear interfaces gráficas de forma rápida.
- Grandes capacidades de depuración: Se puede controlar la depuración de múltiples formas, incluso modificar los valores de las variables y el mismo código al momento de la ejecución.
- Integración con sistemas de control de versiones y seguimiento: Los sistemas actuales se pueden conectar con subversión o git (o otros sistemas de control de versiones) de forma sencilla, además algunos se integran con elementos de seguimiento y colaboración entre equipos de trabajo
- Plantillas y elementos pre-creados: Los IDEs suelen ofrecer múltiples plantillas y elementos previamente creados, para que no tengamos que elaborar de cero nuestros sistemas.
- Descarga de librerías y framework comunes: Los IDE pueden conectarse a repositorios comunes de componentes reutilizables (junto con sus dependencias) y agregarlos automáticamente a nuestro sistema.
¿Por qué debo usar IDE en nuestro trabajo?
A veces pienso que nuestra profesión es la única que se cuestiona por que debe usar
herramientas para hacer más sencillo nuestro trabajo. Cuando salió C, se decía que
era mucho mejor programar en ASM, cuando salido C++, C era mejor, igual paso con
Java o C#, es como si nos resistiéramos a hacernos la vida más fácil por una falsa
sensación de “autenticidad” que da hacer las cosas de forma más complicada. ¿Se
cuestiona acaso un carpintero acera de usar herramientas más potentes y mejores
para hacer su trabajo, o un doctor desecha mejores y mas modernos medios de diagnostico?
Hay que comprender que las necesidades empresariales hacia nuestros sistemas no
van a acabarse nunca, siempre van a estar evolucionando, cambiando y creciendo,
haciendo que nuestro tiempos y recursos disminuyan. Si podemos ser más productivos
con una herramienta , mientras garantizamos la calidad de nuestros software, debemos
serlo.
Nuestro objetivo es resolver, mediante software, las necesidades de nuestros clientes.
Nuestro cliente no quiere deslumbrarse con nuestra capacidad de escribir en el bloc
de notas, ni necesitamos impresionarle con una mal entendida independencia de herramientas
de desarrollo. Lo único que quiere nuestro cliente es un sistema que le resuelva
un problema.
Es importante conocer un lenguaje de programación, pero realmente no es tan importante
como saber comprender y resolver los problemas de nuestro cliente. las tecnologías
cambiar constantemente, y en los últimos años con mayor rapidez. Lo que hoy es una
la solución para todos los escenarios posibles, en cinco años estará obsoleto y
será reemplazada por algo mejor y mas potente, con lo que todo ese esfuerzo que
hemos hecho para conocer una api, o ciento de funciones, quedara en nada. Si tenemos
herramientas como los IDE que nos ayudan a centrarlos en lo importante, en hacer
sistemas, tendremos más tiempo para hacerlos mejor, más rápido y de más calidad,
en definitiva, mas productivamente.
No hay comentarios:
Publicar un comentario