código escrito · artículos digitales de informática
 
La cortina del IDE
18.03.2004 :: Jaime Irurzun

Muchas veces he leído comentarios sobre esto en los foros que visito: la nueva moda de programar, hacer programas, crear ejecutables, o como quiera decirse, está generando programadores cada vez más dibujantes y menos codificadores. Me refiero a las nuevas modas de depender irremediablemente de un IDE, al que conocen como "el programa con el que programo". Así, un ejemplo representativo puede ser Visual Basic: dibujas cuatro controles con el ratón, asignas un par de propiedades en un cuadro, pinchas en un botón, y ejecutable creado (sencillo, pero ejecutable). No digo en absoluto que los IDEs no sean útiles, al contrario, los veo muy útiles (y espero con ganas la salida de vcode), pero no deben ser herramientas indispensables.

Seguramente esto sea una especie de "pez que se muerde la cola", propio de la informática: como está destinada a hacer la vida más fácil a la gente, también los programadores se sirven de ello, consiguiendo facilitarse el trabajo de crear programas, pero arruinando a la vez su empleo, pues con ésto sólo se consigue que cada vez más gente sin demasiados conocimientos pueda ejercer este trabajo y por lo tanto prescindir de los servicios del programador cualificado.

Dentro de las muchas ramas de la programación, divididas en lenguajes, las hay, como ya he dicho, que presentan la herramienta como un programa cada vez más dirigido a un usuario y menos a un programador, y las hay que mantienen esa "dificultad" que le obliga al programador a buscarse la vida en ciertas ocasiones, o p0r lo menos a conocer la herramienta por dentro. Entre las primeras, ya he citado a Visual Basic como el más representativo quizás; y entre las segundas, creo que un claro ejemplo es el xbase. El programador de xbase sabe lo que hace: sabe que el entorno de desarrollo se compone de un compilador, que genera OBJs apartir de PRGs (o genera .HRB en caso de xharbour) para luego enlazarlos con otra utilidad, de donde sale el EXE, y que hay una librería que aporta la conexión con Windows para trabajar con el entorno gráfico, etc. Al xbase se le acusa de arcaico, pero quizás sea ese ligero retroceso respecto a las nuevas herramientas el que también le salva de subirse al carro de los IDEs para tontos. Gracias a eso, con el xbase aprendes muchas cosas a un nivel inferior, sobre las tripas del entorno de desarrollo, y que son de lo más interesantes...

comentarios (12) |


Comentarios del artículo
1 · etxe · 19.03.2004

Salvando las distancias, es una de las cosas que me gustan de Prolog, dentro del campo de los lenguajes de programación del paradigma lógico. Con él te preocupas únicamente de "aprender a programar", sin más aditamentos. Una vez hecho esto (que no es poco...), el programador puede entonces preocuparse de dotar de interfaz gráfica a los esquemas de funcionamiento lógico implementados, utilizando para ello las numerosas "pasarelas" y librerías existentes para dotar a los programas de facilidades de uso de cara al usuario final.

2 · Jose Alberto · 20.03.2004

Hay que tener en cuenta una cosa más, un punto de vista diferente, las empresas.

Disfrutar escribiendo código, depurándolo, haciendolo mejor puede que no sea lo que una empresa busca, puede que un empresario necesite una aplicación que haga una determinada cosa y que esté hecha en el menor tiempo posible, productividad, si obtengo el mismo resultado con menor tiempo...

Yo empecé con Clipper, Blinker, utilizaba el QEdit como único entorno de desarollo, y se lo que es "picar" lineas de código, diseñar pantallas sin más ayuda que la imaginación. Pero ahora utilizo Delphi y si el IDE me ayuda a diseñar la interfaz de usuario permitiendome centrarme en darle funcionalidad a dicha interfaz y en el modelo de datos, bienvenido sea, y no por eso me considero "tonto".

Y os puedo asegurar que continuo disfrutando escribiendo código, planteando estructuras de clases, viendo como evolucionan. Porque el IDE te facilita el "colocar" los controles dentro de los formularios, pero cuando quieres "afinar" el funcionamiento de éstos para adaptarlo a las necesidades concretas de los usuarios, continuas escribiendo miles de líneas de código, con un editor que te facilita completar las llamadas a funciones, que te facilita "navegar" por el código y si esas ventajas no las quereis, pues bueno, allá cada uno.

Pienso que los que opinais que todo IDE es malo de "per se" sois un poco extremistas. Lo malo no es la herramienta, sino el uso que se hace de ella (o el mal uso).

Un saludo.

3 · Jose Alberto · 20.03.2004

Pido perdón si he ofendido a alguien. No era mi intención, simplemente quería reflejar mi opinión al respecto de los entornos integrados de desarrollo, que creo que son una gran herramienta, si es bien utilizada.

Bien es verdad que con un IDE, cualquiera con cuatro nociones del lenguaje que corresponda puede hacer un programita, pero de ahí a poder sacar un producto que pueda competir en el mercado hay un buen trecho.

Pienso que los IDEs (todos pensamos en el VisualBasic) contribuyen a democratizar el desarrollo de software, cualquiera con suficiente inquietud puede hacer sus pinitos, y no veo que eso sea malo intrinsecamente. Si alguna empresa pone en manos de gente sin preparación suficiente el desarrollo de aplicaciones críticas para su negocio, allá ellos.

Un saludo.

4 · Jaime Irurzun · 20.03.2004

José Alberto,
No era mi intención criticar a nadie por utilizar un IDE, ya dejo claro que me parecen buenas herramientas, lo único que "critico" es que se vuelvan indispensables:

[...] No digo en absoluto que los IDEs no sean útiles, al contrario, los veo muy útiles (y espero con ganas la salida de vcode), pero no deben ser herramientas indispensables. [...]
Y por supuesto, que me perdone quien se haya sentido ofendido con esto:
[...] también le salva de subirse al carro de los IDEs para tontos. [...]
Pero mi intención no era en absoluto insultar a quien utilice IDE, era una forma de hablar, y por eso lo he remarcado en cursiva. Yo seré el primero que utilizará un IDE en cuanto pueda.

Por otro lado, sobre le tema de que un IDE sea bueno o no (que no es exactamente el del post), de lo poco que conozco, estoy de acuerdo con José Luis Sánchez sobre que un GLADE es más conveniente que un IDE, os recomiendo este artículo: http://software.alanit.com/articulos/20020409.htm

5 · victor · 23.03.2004

Estoy de acuerdo con José Alberto, hay una cierta actitud elitista en ese tipo de comentarios. Y no me parece mal en sí misma, en todas las profesiones pasa y se persigue el intrusismo.

Estoy de acuerdo con que cierto tipo de programadores estarían mejor lejos de un ordenador, pero equipararlos a los que usan IDE vs. los que usan vi me parece incorrecto.
De la misma manera que los procesadores de texto no provocan buenos escritores, pero si que facilita la labor de plasmar en papel lo que nos ronda por la cabeza; las IDEs facilitan generar ejecutables, no la labor de programación en si misma (que es lo que deberían hacer, y que si se consiguiese, esta clase de personas a que te refieres o acabarian dejándolo o acabarían programando bien).

De la misma manera, las interfaces de usuario (cuya construcción está tan denostada por alguno de nosotros) son uno de los más importantes aspectos a tener en cuanta a la hora de preparar un "producto". La solidez y rendimiento "percibido" son tan o más importantes que los reales, asi como la facilidad de uso de las mismas. Por eso no debería dejarse en manos de "dibujantes", si no de arquitectos de la información, expertos en usabilidad y afines.

6 · Alvaro · 25.03.2004

Recuerdo el momento en que me decante por la Informatica como mi futuro y decidi comprarme un manual de Visual Basic con la intención de aprender programación enseguida. Despues de pasar meses delante del ordenador tecleando lineas (copiadas de los ejemplos) y sin comprender nada, me di cuenta que estos no sirven de nada si no van acompañados de alguien que te guie y te explique para que son las cosas.

Lo unico que aprendi fue a cambiar el color de un texto con movimientos de raton, juegos mediante timer y movimientos random y estupideces inservibles para la practica profesional.

No creo que nadie aprenda a programar papeandose unos manuales, y si alguien lo cree no es programador.

7 · StartKill · 31.03.2004

No soy buen lector, ni buen escritor, pero, tratare de serlo ;-).

Por que pensar que el que utiliza un ID (por ejemplo el de Delphi) no sabe que es lo que hace, muchos de los que utilizamos ID ahorramos (x ejemplo) muchisimo tiempo en la elaboración de nuestras pantallas, tambien tenemos a la mano(al ojo) las propiedades de nuestros objetos se ahorra tiempo escribiendolas y recordandolas.

Debo suponer, es más, deber así, las ID's nos ahorra trabajo, creo que nuestro amigo "etxe" se displayo en es punto mucho mejor.

Por ultimo, programo en Dephi&Interbase, tambien trabajo muchos años con Clipper con FiveWin y espero con ansias el ID de la CanalFive ya que mi viejo clipper aun puede para mas.

Un saludo.

Your Friend

StartKill
Lima-Perú

8 · Jaime Irurzun · 31.03.2004

StartKill,
No he querido decir que el que utiliza un IDE no sabe lo que hace, faltaría más. Por las reacciones que estoy viendo en los comentarios, debo haberme expresado mal, lo siento. Pero de verdad que no quería decir eso. Lo único que intentaba decir era que además de utilizar un IDE, es importante saber qué hace ese IDE por dentro :(

9 · Jaime Irurzun · 28.05.2004

He cambiado el título del post. El otro era demasiado provocativo y prepotente. A veces es mejor leer las cosas que ha escrito uno mismo al cabo de un tiempo... jejeje.

10 · Ana Maria · 04.11.2004

A mi encanta Clipper y mas que nada trabajar sabiendo lo que está sucediendo a bajo nivel, creando de repente funciones en C, jugar con el código. Ahora estoy compilando con C3, y haciendo funciones graficas. Desagraciadamente no somos considerados como buenos programadores los que trabajamos con estos lenguajes. Y los empresarios cuando nos contratan, nos ponen al final de la lista y nos proporcionan el último equipo de la empresa, por el solo hecho de no trabajar con un IDE.

11 · Luis · 21.03.2005

Os voy a contar un caso...

Tengo un amigo que conocí cuando, alla por el final de los 80's, haciamos FP II de informática.
El caso es que él, una vez terminada la "carrerilla" se desentendio un poco del tema. Si, siguio programando aplicaciones sencillas para su trabajo (era administrativo en una pyme), pero volviendose cada vez más usuario, no se si me explico. Yo por mi parte alternaba trabajos de programación serios ( por encargo para clientes particulares y empresas) con estudios académicos, y propios, sobre todo esto de la informática y la programación. Leia (y leo) todo lo que puedo.
Hasta aqui todo bien, pero un buen dia en su empresa deciden migrar del Dos al W95, y de los 286/386/486(me supongo) al pentium...Había que cuadrar las cuentas del Iva, y claro tocó hacer una mejora en inmobilizado (vuelvo a suponer)... y he aqui a este personaje que se encuentra con un problemilla : sus programas "texto" no se "ven profesionales" al ejecutarlos en este sistema... vaya por Dios... El caso es que me llama por teléfono y me pide asesoramiento, y yo (es un defecto profesional que tengo : doy por supuesto que lo que sé ya lo deben saber todos), voy y le espeto : "Nada hombre, eso con C/C++ y la librería gráfica del W95, está migrado en dos patadas"...claro, en ese momento se hizo un silencio que se podía cortar... y como soy amigo de mis amigos, pues que me vi implicado en el berenjenal: "mira pillate un buen libro sobre programación para wdos que traiga buenos ejemplos, y si tienes alguna duda me das un toque"
...No fue uno, ni dos, ni tres... aquello parecía una bateria antiaerea en pleno bombardeo de Berlin... Al final me canse y le dije que convenciera a los de la empresa para que cogierán algun compilador especifico para wdows (del tipo de Vis. C++ ó Delphi), con su IDE, sus botoncitos, sus labels, sus panels... para que se ahorrase trabajo y tiempo.
El tipo quedo encantado con el Delphi. En cuestión de horas era capaz de hacer un programa sencillo que accedía a una base de datos de clientes,mediante el BDE, listaba los morosos por pantalla y hasta te decia la hora y la fecha de ese dia!! (esto seguro que lo copió de algún ejemplo).
Volvió a pasar el tiempo, y un dia Domingo (aun me acuerdo) me lo encuentro paseando con la familia, fuimos a tomar algo y me propuso entrar con él en un negocio. Nos ibamos a sacar un dinero extra haciendo un programilla para un comercio, según él una especie de "tpv total", con control de almacen (rotura de stock incluida!!), control de proveedores, facturación...y la de Dios. Yo, claro está, quise profundizar más en el tema, pero él no hacia más que contar el dinero de antemano...Quedamos en que me llamaría para concretar y repartirnos el trabajo, y que todo sería coser y cantar.
Yo me suponía que él ya había aprendido un par de cosas, pero en la reunión de planificación de la aplicación que tuvimos, no saque nada en claro.
Bueno, si, una cosa quedó clara: el quería ser el jefazo. A mi eso me dió igual, yo lo unico que quería hacer la aplicación, cobrarla, y ganarme otro cliente contento y satisfecho para mi cartera. En las sucesivas reuniones que manteniamos, yo me empezaba a cansar de tener que explicarle las cosas y los métodos de trabajo que eran mas viables para conseguir los objetivos, pero tenía que ser lo que él decia. El ultimo dia llego al vaso la gota que lo desbordó: me insinuó que tenía que codificar de una forma más clara mi trabajo, que no entendía facilmente lo que hacia mi código, y yo señores, otra cosa no, pero codificar, codifico de forma standard, con mis tabulaciones y mis comentarios claros y concisos.
Creo que el problema que tenía no era mi codificación, sino que las instrucciones y funciones que empleaba yo, no las habia visto nunca en su vida, pero estabán ahi. Las podía haber visto si quisiese simplemente navegando por la ayuda del IDE (pulsando F1), o leyendo un buen libro.
Ese mismo dia le dije que se fuera al cuerno, que llevabamos mas de 3 meses para terminar una aplicación que cualquier "junior" era capaz de hacer en 4 semanas, incluso 3 si es algo espabilado y currante de más... y que el hecho de que supiese poner 4 Botones, un Memo y cinco Labels en una Form, y copiar código en internet para los eventos de esos botones no le daba derecho a decirme como engendrar una aplicación. Le insinue que los unicos "objetos" que conocia eran los que podia tocar, y que las unicas "clases" que habia olido jamas eran las que le dieron en parvulos...

Moraleja : Tienes que producirle quemaduras de 1er grado al mono antes de llevarle cerillas a la jungla para que juege con ellas.

Un Saludo. Y gracias por este espacio.

12 · Jaime Irurzun · 30.03.2005

Luis,
Muy buena tu historia :)














































Creative Commons - Jaime Irurzun y Aitor Martin