Pereza, programación e internet

Recientemente un 'post' en uno de los foros que frecuento me ha hecho reflexionar acerca de cómo han cambiado las cosas en el mundo de la programación con la universalización de internet y su uso generalizado.

¿Cómo se programaba antes de que existiera internet? ¿Qué hacías cuando te enfrentabas a un problema de difícil solución?
Si podías, te hacías con un manual o algún libro técnico acerca de la herramienta que estuvieses utilizando. Normalmente solía ser una fotocopia de una fotocopia de una fotocopia que alguien hizo de un amigo afortunado que tenía el original del libro/manual en cuestión.

Leías. Probabas, te equivocabas. Leías. Probabas, te equivocabas. Leías. Probabas, te equivocabas. A veces durante semanas…

Consultabas a un/a colega por si a él/ella se le ocurría algo o se había visto en una parecida.

Finalmente, si eras afortunado, podías recurrir a una BBS donde, con suerte, alguien te orientaba.

Si con todo esto dabas con la solución, te sentías muy satisfecho y quizá (como yo hacía) lo apuntabas en un cuaderno por si acaso se presentaba un problema parecido en el futuro.

Ahora las cosas han cambiado mucho. En internet puedes encontrar casi toda la información que necesitas, y los foros y la 'usenet' hacen que sea muy probable que antes que tú alguien haya topado con el problema al que ahora te enfrentas y amablemente escriba (o ya haya escrito) la solución o te ayude de alguna manera…

No hay ni que decir que esto es una bendición, pero he venido observando que aparecen 'efectos secundarios' en forma de jóvenes programadores que no programan, sino que básicamente trabajan copiando y pegando trozos de código que buscan por la red y que, ellos creen, se ajustan a sus necesidades. El problema es que normalmente no llegan a comprender el problema, analizarlo y mucho menos entender la solución que aplican.

Otra variedad de este comportamiento es el mal uso que se hace de los foros. Ante el más mínimo problema, estos jóvenes programadores ni siquiera abren el manual de errores o la documentación de la herramienta: ponen un 'post' en un foro con la esperanza de que alguien les escriba el fragmento de código que ellos no saben (y no quieren saber) escribir. Mucha gente (la mayoría bienintencionada, aunque también se dan casos de mera vanidad) proporciona esa solución.

Con esto:

1.Les hacen el trabajo (y gratis).

2.Impiden que se esfuercen en encontrar por sí mismos la solución.

No digo que no haya que ayudar a quien pregunta: eso siempre se debería hacer. Pero no 'dándole pescado' sino 'enseñándole a pescar' siempre que sea posible. Y evitar, también en la medida de lo posible, soluciones completas: mejor ejemplos parciales que indiquen el camino a seguir e incluso ayuden a empezarlo.

También considero indispensable que, si se quiere realmente aprender y crecer como profesional, antes de publicar un 'post' sobre un problema se haga esa primera labor de esfuerzo e investigación y sólo cuando ésta no haya dado frutos solicitar ayuda.

En ciertas actividades los atajos no molan…

Saludos.

Carlos.

Anuncios

5 Responses to Pereza, programación e internet

  1. Demián dice:

    Me parece muy correcta la nota, aunque creo que no se puede juzgar tan fácilmente los post de un foro, como programador hecho a fuerza de hacer código y no por estudio me he topado con problemas que quizás para otros sean básicos, y aunque siempre empiezo por buscar el manual de correspondiente, o revisar la información que ya hay al respecto y con ella hacer mi propio código, ciertas veces caigo en una consulta a un foro que para los expertos pueda parecer que se esta pidiendo que le hagan el trabajo. Por ejemplo ahora estoy con un problema para crear una función en oracle necesito obtener el nombre de un sequence teniendo como parámetros el nombre de la tabla y el nombre del campo y no le encuentro solución, quizás para los DBA esto es muy simple, pero para mi que recién ahora comienzo con oracle y no tengo acceso a un manual, ni a una capacitación inicial se me complica mucho encontrar información al respecto y caigo en poner mi consulta en el foro y esperar que me den una respuesta bastante armada al respecto.
    Sin mas
    Demián

  2. carlosal dice:

    Precisamente.

    No estoy diciendo que no se deba ayudar a quien lo pide, sino que antes de acudir a un foro a que nos resuelvan el problema hagamos una labor de aprendizaje e investigación, como parece que tú sí haces.

    Por otra parte, el problema que refieres no tiene solución: una secuencia Oracle es un objeto independiente de tablas y de columnas. Sólamente si recurres a algún sistema de reglas de nombrado (p.ej.: las secuencias con las que se puebla una PK de una tabla reciban el nombre de la tabla más el sufijo _SEQ) podrás obtener lo que buscas, pero dependerá de dichas reglas, no de las relaciones entre los objetos de la base de datos.

    Saludos.

    Carlos.

  3. Demián dice:

    Carlos gracias por la respuesta, ojala la gente usara internet con mas criterio, el buscar informacion adecuada sobre algunos temas es muy tedioso hay sientos de sitios y muchos con informacion que no es correcta o que simplemte pegan partes de codigo sin explicacion.
    Saludos Demián

  4. Buscando blogs sobre desarrollo de software me he topado con éste. Me ha gustado lo sincero del post sobre I+D+i, pero no he podido evitar comentar este, para entonar un mea culpa.

    En las últimas semanas me estoy introduciendo en JSF, utilizando varias librerías para Ajax, y hace poco me sentía algo culpable precisamente por lo que aquí comentas. Necesito sentarme a echar horas delante de buena documentación sobre la arquitectura y las jerarquías de clases, porque tiendo a floodear en los foros de éstas librerías… Eso sí, la documentación de muchos proyectos open source no hace nada por evitar estas actitudes.

    Este comentario tiene interés 0, pero así hacía algo más que decir que tienes un nuevo lector 🙂

  5. carlosal dice:

    Pues bienvenido, Juan Ignacio.

    He de decir que no tengo n.p.i. de java server faces (¿no es eso el JSF? En esta cada vez más grande sopa de letras…)

    Lo que quería decir en el artículo es que es necesario hacer al menos un pequeño esfuerzo (comprensión, análisis) antes de copiar y pegar código encontrado en la red para solucionar un problema. Creo que todos hemos aprendido copiando ejemplos y modificándolos, pero hay que saber qué se está haciendo y por qué.

    He visto verdaderas burradas por hacer ese tipo de cosas.

    Saludos.

    Carlos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: