El 13 de septiembre se celebra el día del programador y quizás te preguntes ¿Hay algo tan particular en la labor del programador para celebrar un día?
Pues bien, el dispositivo que en estos momentos estás usando para leer este artículo, la app de juegos que te divierte, las redes sociales a la que accedes, los electrodomésticos que usas en casa, tanto el televisor como las modernas lavadoras, el microondas, el coche, avión, los juguetes que responden a acciones de los niños, los equipos médicos de tomografía, rayos x, y mucho, mucho más, funcionan gracias a la actividad de programadores en distintos campos de aplicación, incluso artículos que no son ni siquiera electrónicos como sártenes o martillos, se lograron por procesos de manufactura que involucran control número (CNC) o robótica. Sobra decir el Internet.
¿Y cómo se logra todo esto? Los dispositivos electromecánicos funcionan por instrucciones que reciben de los microprocesadores mediante señales eléctricas, las instrucciones son información que viaja y se transmiten cadenas de cierto-falso (ceros y unos), las instrucciones activan compuertas lógicas que se traducen en operaciones o acciones mecánicas.
El programador no escribe sus programas en cadenas de cero-uno (sistema numérico binario, sino que para ello usan "lenguajes de programación", lenguajes estructurados que se inspiran en los códigos de comunicación humana, cada uno tiene su propio alfabeto, su sintaxis y semántica, sus elementos básicos como palabras reservadas, constantes, variables, operadores y otros elementos, aunque los lenguajes son muy similares en cuanto a las funciones básicas.
Quizás conozcas o hayas escuchado de los "viejos lenguajes", como C, Cobol, Fortran, Pascal o Basic, o los "nuevos lenguajes" como Java, Python, Javascript. Lo cierto es que ni los viejos son tan viejos o se han extinguido, ni los nuevos son tan nuevos. En escala generacional, un lenguaje “viejo” puede datar de la década de los setenta del siglo pasado, como el Fortran o Cobol, sin embargo, incluso hoy en día se sigue empleando Cobol, que por su complejidad y ausencia de programadores siguen administrando procesos clave en empresas aseguradoras, la NASA o el Pentágono. C fue creado en 1978 y evolucionó a C++ y luego C#, y éstos son la base que subyace en la que fueron escritos potentes sistemas manejadores de bases de datos (SGBD) como Oracle y MySQL. Basic derivó en Visual Basic y luego en VBA (Visual Basic para Aplicaciones) que se usa para escribir unidades de programa en software de Ofimática de Microsoft.
Python, un lenguaje "moderno", fue creado en 1991 y existe una versión de este lenguaje escrita completamente en C. Cuatro años después en 1995 aparece Java y casi a fines de ese año JavaScript.
Ahora te darás cuenta de que los lenguajes viejos no han rebasado siquiera un siglo, y los nuevos más populares proceden de fines del siglo XX.
Tanto C como Python son ampliamente utilizados para programar robots, y junto con JavaScript y Java son los más usados en el campo de la realidad virtual.
Otro tipo de lenguajes de programación son los lenguajes de marcaje, que muestran datos de forma organizada, como HTML o XML, lenguajes de programación utilizados exclusivamente para la conexión e interconexión de redes como Pearl.
Otro tipo de programas son los sistemas operativos, los que hacen que funcionen infinidad de dispositivos, los hay robustos para hacer funcionar los super ordenadores, los hay tan ligeros para hacer que un automóvil (real o de juguete) funcione por radiocontrol.
Las "aplicaciones" o, mejor dicho, sistemas informáticos, son complejas interrelaciones de programas para propósitos particulares, los hay para la productividad (industria, servicios, comercio y oficina), para el diseño (autos, ropa, industria aeronáutica, militar, etc.), o el entretenimiento, como los ya sobradamente populares vídeo juegos, desde los tradicionales en dispositivos como sus variantes en realidad aumentada, o acaso, ¿ya olvidaste la moda pasajera de cazar pokemones?
Como vez, la aplicación de la programación es ilimitada, todo depende de la imaginación de miles de programadores tanto de empresas como de colectivos y hasta de voluntarios que desarrollan software libre.
¿La programación tiene, como la fuerza en Star Wars®, su lado oscuro? Lamentablemente sí, los piratas informáticos (desde los que solo husmean hasta los que propagan virus, destruyen intencionalmente información, o incluso, la secuestran), los que roban contraseñas y vulneran seguridad, hasta los que suplantan identidades, son solo los ejemplos más notorios, y para estas actividades criminales existen tanto policías cibernéticos (la mayoría expertos en programación) como especialistas en seguridad informática.
Como vez, el mundo de los programadores es apasionante y a su vez germen de muchas otras disciplinas derivadas, las más novedosas, la ciencia de datos (misma que, además de la programación requiere sólidos conocimientos en Estadística) y la inteligencia artificial, que por sí misma requiere toda una entrada de blog.
Pero (siempre hay un, pero) la formación del programador, como ya imaginas, no es algo que "se compre en una tienda" requiere disciplina, pensamiento lógico horas dedicas a comprender algoritmos, de verificación y prueba de códigos.
Ahora entiendes la importancia de las materias como matemáticas, lógicas, algoritmos y electrónica, en la formación de los programadores, pero es el precio que hay que pagar para el pasaporte que te conducirá a un mundo apasionante.
Ahora te pregunto: ¿Aceptarías el reto de formar parte de este paradigma y quizás en un futuro, unirte a la celebración del día del programador como el festejado?