Hacerse programador aprendiendo un lenguaje de programación?


 

Últimamente, es común encontrar en sitios web, redes sociales y anuncios publicitarios un mensaje peculiar: "Conviértase en programador aprendiendo el lenguaje ...". Este tipo de oferta llama mucho la atención, pero también genera una gran confusión, posiblemente bien intencionada, que puede inducir a un error significativo en la percepción de la programación de computadoras y el manejo de lenguajes de programación.

Para ilustrar esta confusión de manera sencilla, podríamos compararlo con decir: "Aprenda inglés para escribir obras como Shakespeare", lo cual da la impresión de que dominar un lenguaje te capacita para pensar como un escritor o poeta en ese idioma, lo cual es incorrecto.

No existe algo como "aprender Python, Java, Ruby, JavaScript" u otros lenguajes y convertirse automáticamente en programador. En realidad, sucede casi lo opuesto: un programador generalmente aprende uno o varios lenguajes para dar vida a sus ideas en un ordenador. Además, un programador no necesita necesariamente provenir del campo de la informática; algunos de los mejores programadores que conozco son médicos, arquitectos, ingenieros mecánicos, civiles, electrónicos, etc. Estas personas tienen claridad en los conceptos que desean plasmar en un programa de computadora.

Cuando alguien aprende un lenguaje sin tener una estructura mental adecuada o una comprensión sólida, termina "hablando" con la computadora sin mucho que decirle.

Para mí, la programación es como cualquier arte. Tomemos la pintura como ejemplo: un pintor no necesita que le enseñen a pintar, él ya lo sabe. Adquiere sus herramientas y comienza a pintar. Luego, puede ingresar a una academia para perfeccionar su arte y aprender técnicas que mejoren su habilidad.

De manera similar, alguien sin talento artístico puede ingresar a una academia de pintura y aprender técnicas y el uso de herramientas para pintar. Aunque pueda crear obras decentes eventualmente, sería difícil considerarlas como obras de arte genuinas.

Esto es lo que sucede con frecuencia en las academias que prometen enseñar lenguajes de programación para convertir a las personas en programadores. Los graduados a menudo se encuentran como el pintor que compró lienzos, pinceles y pinturas, pero carece del arte para crear. Esto lleva a la frustración y al desperdicio de tiempo y dinero.

Otra situación común es cuando se promete que aprenderán a crear páginas web y convertirse en programadores front-end. Esto tampoco es realista. En muchos casos, las personas terminan aprendiendo a "copiar" páginas o utilizar plantillas prefabricadas como las de https://startbootstrap.com/themes. También pueden acabar "tomando prestadas" imágenes de Internet para "decorar" sus páginas.

Sin embargo, en este proceso, se descuida la lógica de programación y la estructuración del pensamiento. Además, la frase "tener una experiencia de usuario" se usa a menudo sin explicar que la experiencia de usuario se basa en una métrica precisa, no solo en preferencias subjetivas como imágenes y colores. Determinar si una página es amigable o no implica factores programáticos, sistemáticos y mensurables, no simplemente estéticos.

Es importante aclarar que aprender de esta manera tiene mérito, especialmente porque requiere un gran esfuerzo. Sin embargo, la idea de que aprender un lenguaje de forma "espontánea" te convierte en programador es errónea.

Es fundamental comprender que existen diferentes disciplinas relacionadas con la programación que se pueden aprender con excelentes resultados a partir de conocer un lenguaje o al aprenderlo. Esto incluye analistas, codificadores, depuradores, hackers éticos, administradores de bases de datos, webmasters y muchas más, que se enseñan como carreras y tecnologías específicas. Como decía un programa de televisión hace mucho tiempo, "Eso, querido Adams, es otra historia", como el "Libro gordo de Petete".

Comentarios

Entradas populares