Cuando utilizamos cualquier aparato electrónico, sea un ordenador, un coche, un televisor o cualquier electrodoméstico de nuestra cocina nos estamos comunicando con una máquina que tiene su propio lenguaje, hacemos uso de una especie de traductor o programa incluido en el artilugio para que este entienda lo que queremos hacer.
Hablando de ordenadores, la CPU solo entiende el código binario, un lenguaje básico que tiene dos elementos el 1 y el 0, verdadero y falso, si y no, deja pasar electricidad o no la deja pasar, los ordenadores suplen esta aparente sencillez con su gran virtud, la velocidad, pueden distinguir estos dos estados (1 ó 0) a velocidades tan altas que exceden la comprensión humana.
En base a este código binario se construyen los lenguajes llamados de bajo nivel, que son leguajes íntimamente ligados a la estructura del aparato u ordenador, es decir a su hardware, son los complicados lenguajes máquina o ensambladores, que ya no son ejecutables directamente por el ordenador y necesitan una herramienta para convertirlos en el lenguaje de 1 y 0.
El desarrollo de estos lenguajes de bajo nivel nos trajo los de alto nivel, más manejables y fáciles de utilizar, al principio para programas aplicados a las empresas, me refiero a lenguajes como Basic, C , Fortran, Cobol, Pascal, etc…
Así recuerdo el mundo de la informática a finales de los años 80, restringido a unos pocos principalmente en el ámbito empresarial o académico, con puestos individuales o unidos mediante cables formando pequeñas redes locales. Estos puestos ejecutaban programas o aplicaciones, en base a unos sistemas operativos primero CPM, y MS-DOS, y más tarde las diferentes generaciones del popular Windows (generalizando mucho sin entrar en los diferentes sistemas operativos como Unix, Linux, Mac OS …, o para móviles Android o iOS).
Con el desarrollo de las comunicaciones apareció internet y prácticamente entramos en una nueva era (este año se cumple el 25 aniversario del acceso público a la primera página web en 1991), los lenguajes de programación en los que se basa la www (world wide web, sistema de distribución de documentos de hipertexto) han seguido el mismo proceso que los lenguajes y sistemas operativos citados anteriormente, es decir alejarse de la máquina y acercarse al entendimiento humano.
Los html y css han evolucionado a sus últimas versiones HTML5 y CSS3. Han aparecido framework basados en javaScript, el más conocido es jQuery, o bibliotecas a su vez basadas en jQuery que facilitan su uso como es el caso de jQuery UI.
Se han desarrollado herramientas que incluyen todo lo anterior como Bootstrap, Foundation o Modernizr, por citar los más conocidos porque salen nuevos continuamente.
Incluso se han domesticado el PHP y MySQL con los CMS (sistemas de gestión de contenidos) que integran a estos lenguajes para contenido dinámico y a los lenguajes, librerias, y frameworks destinadas al desarrollo de páginas web que he citado anteriormente.
En nuestro afán por alejarnos de los 1 y los 0 hemos llegado a los CMS, en el próximo artículo hablaré de las virtudes de Joomla que me parece el más interesante, pero la evolución sigue para facilitar tanto el desarrollo de los lenguajes de programación como el uso de las aplicaciones que generan.