viernes, 10 de diciembre de 2010

La Era Digital: Lenguajes de Programación (III)


Sin el software (programas), todo el hardware del mundo sería simplemente un montón de circuitos integrados dentro de unas cajas metálicas. Aún la computadora más potente del mundo o el teléfono inteligente más innovador, serían objetos inertes, "sin vida", desprovistos de cualquier funcionalidad sino fuera por la "simbiosis" que mantienen con su par inseparable. El Software es el otro componente fundamental que convierte nuestras PC, teléfonos móviles, consolas de video-juegos o cualquier dispositivo de alta tecnología en herramientas fundamentales para trabajar, comunicarnos o divertirnos.
Gracias a los lenguajes de programación es posible construir programas de computación, sistemas operativos para teléfonos, interfaces para comunicarnos a través de la internet, reproducir video y música digital, construir programas para gestionar bases de datos, procesar textos, editar fotografías y un sin fin de aplicaciones que nos hacen más fácil la vida en este mundo tan competitivo. Desde la aparición del primer lenguaje de programación con sintaxis legible perfectamente por los humanos hasta los versátiles lenguajes usados hoy, son muchos los avances en materia de software. Para los usuarios comunes de computadoras y teléfonos móviles, de seguro le ha sido de mucha utilidad un procesador de palabras como WORD de Microsoft para escribir sus correspondencias, el buscador GOOGLE para obtener información o una website como FACEBOOK para comunicarse con amigos. En estos tres casos como en muchos otros estamos hablando de software hecho con uno o varios lenguaje de programación (Facebook está hecho con PHP, C, C++, Erlang y otros RWWAB).
Muchas personas se preguntarán cómo funciona esto. Cómo es posible darles instrucciones a una máquina para que haga todas estas cosas. Sin profundizar mucho y no hacer de este artículo un tema complicado y engorroso para un usuario promedio de computadoras, los lenguajes de programación nos ayudan a crear software para hacer posible que un operador, en este caso usted mismo, pueda transcribir un texto, enviar un correo, o editar una foto de una manera amigable a través de un computador o cualquier dispositivo electrónico que necesite de un programa para su funcionamiento. La computadora cuya arquitectura se basa en el sistema binario, sólo maneja o procesa un lenguaje compuesto por combinaciones de 0 y 1, que pueden significar Si o No, Encendido o Apagado, Verdadero o Falso, etc. Es lo que se conoce como lenguaje binario o lenguaje de máquina, y que por lo general, exceptuando algunos casos, una simple letra como la "A" de nuestro abecedario, la computadora la procesa en su lenguaje binario como un octeto formado por 0 y 1. En este caso la "A" para la computadora sería 100 0001. Imagínese el sólo hecho de darle instrucciones a una computadora en su lenguaje base. Sería toda una odisea, como dice el subtítulo de este blog: "Hablar en bits sería humanamente una tarea muy difícil...". Escribir la palabra HOLA en binario sería 100 1000  100 1111  100 1100  100 0001. Escribir un texto completo en lenguaje binario sería una tortura, sin contar con subrutinas que incluyan cálculos.
En la década de los 50, la comunidad científica creo un lenguaje para facilitar la escritura que consistía en un traductor para reemplazar los 0 y 1 por palabras (en inglés por supuesto) fáciles de memorizar como ADD (sumar), SUB (restar), CALL (ejecutar rutinas), etc. Este traductor se conoce como lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos denominados también lenguajes de alto nivel. A partir de allí comienzan a desarrollarse lenguajes de programación como FORTRAN (1957) y COBOL (1960) hasta culminar en nuestra Era Digital con lenguajes como JAVA, PHP, C, C++, y muchos otros con los cuales se ha construído, utilizando el algoritmo como técnica fundamental, todo el software que hace funcionar las computadoras y dispositivos móviles.
En esta era de internet, donde el tiempo es oro puro y fino, podemos redactar una correspondencia, enviar un correo, imprimir fotografías, reproducir videos y contactarnos con personas al otro lado del mundo de una manera sorprendente, utilizando la combinación  Hardware-Software gracias a los lenguajes de programación.

No hay comentarios: