Programas, lenguajes y sistemas operativos
Octubre 2, 2008
Muchas personas confunden estos tres términos. Sin embargo, son del tipo de cosas que necesitamos tener claras (o al menos no completamente oscuras) a la hora de navegar por el océano de la web, especialmente cuando amenaza tempestad.
La razón para ello es que una palabra cuyo significado no conocemos, o que confundimos con otro, o que nos acabamos de inventar “porque se deduce fácilmente del contexto” y muchas otras formas de lo que se llama palabra malentendida, puede causar estragos inimaginables, no sólo en tu comprensión de un tema, sino hasta en su tu propio cociente intelectual. Lo que acabas de leer no es una broma pesada…. En este enlace encuentras el cómo y por qué.
Esta es una entrada prometida hace varios meses a mi querido amigo Iñaki, espero que todavía pueda serle útil.
Para comenzar, podríamos decir que tanto un lenguaje como un sistema operativo son, de una u otra forma, dos tipos especializados de programas.
Sin embargo, programa no es sinónimo de sistema operativo ni de lenguaje. Son conceptos muy relacionadas, pero diferentes.
Los programas
Un programa, en su definición más simple, es un conjunto de instrucciones, de ódenes, para tu computadora. El programa primero se instala y entoces ya está listo para dar las instrucciones y tu computadora para recibirlas. Y el resultado es que cuando haces clic en un botón, tu computadora “sabe” que debe hacer “A”. Cuando presionas una tecla, ella “sabe” que debe hacer “B”. Y cada vez que realizas la misma acción, ella ejecuta la misma orden, de la misma manera siempre.
Por ejemplo, un programa procesador de texto, como Word, “sabe” que cuando tú seleccionas un texto y le das la instrucción “Ctrl+B”, ella debe poner en negritas ese texto. Tú presionas esas dos teclas, y siempre siempre que estés en Word, el texto se pondrá en negritas.
Pero si no estás en Word, sino en un programa navegador, como Explorer, y presionas “Ctrl+B”, no pasa nada (o pasa algo diferente), ya que este programa no contiene esa instrucción:
“Teclas Ctrl+B = negritas en texto seleccionado”
o como se escriba esta instrucción en el lenguaje en que están escritos estos programas.
Ya que sí, aquí es precisamente donde se juntan programas y lenguajes.
Pero antes de entrar en lenguajes, te cuento que hay tres clases principales de programa. Están los dos que ya vimos al comienzo de esta entrada (es decir sistemas operativos y lenguajes de programación). Y, además, están las aplicaciones, que son el tercer tipo.
Los sistemas y los lenguajes los veremos en un minutito.
Las aplicaciones son el tipo de programas que no son impresicindibles para el funcionamiento de tu máquina. Las aplicaciones son el tipo de programas que personas normales, como tú y yo, conocemos, usamos y manejamos hasta cierto punto. Son aquellos programas que no requieren que seamos unos genios de la informática, para poder hacerlos funcionar. Algunos ejemplos de aplicaciones son:
- los procesadores de texto (como Simple Text, Pages, Word o millones de otros),
- los editores de imágen (como Photoshop o Gimp)
- los navegadores (como Safari, Firefox, Opera, Camino o Explorer)
- los reproductores de imagen o sonido (como iTunes, Quicktime o Windows Media Player)
Hay aplicaciones muy sencillas, y otras extremadamente complejas y sofisticadas. Hay muchísimas otras clases, y miles de ejemplos en cada una, pero todas, como programas que son, hacen lo mismo: le dicen a tu computadora: “cuando el usuario aprieta aquí, tú haces X y cuando el usuario hace clic allá, tú haces Y“.
Los lenguajes
Por ahora (año 2008), lo más probable es que si le preguntas a tu máquina algo “personal”, como cuál es su color favorito, ella no sólo no te responda, sino que no tenga la menor idea de que le estás preguntando algo. En realidad, siendo una máquina, un objeto, NO tiene idea de absolutamente nada. Como máquina que es, pertenece a una especie diferente. No sólo “habla” otro lenguaje, sino otro tipo de lenguaje. Se llama “lenguaje de máquina”. Muy original el nombre, muy creativo, como puedes ver.
El lenguaje de máquina es un lenguaje que, en general, los humanos no podemos hablar ni comprender. No es como si fuera ruso, por ejemplo, que aunque es muy diferente al nuestro, con un poquitín de estudio y mucha práctica podemos aprenderlo. No. Es como si fuera “hormigués”, “perruno” o “delfiniano”…. se basa en códigos o señales completamente diferentes a todo lo que conocemos, como si fueran sonidos que por cuestiones fisiológicas, no podemos reproducir con nuestros actuales cuerpos.
Se compone de sólo dos símbolos, dos valores, dos sonidos, dos estados si quieres: Cero y Uno. Y todo tiene que traducirse o convertirse a cierta cantidad de Ceros y cierta cantidad de Unos dispuestos de cierta manera.
La información sobre este tema puede extenderse bastante, pero no es el propósito de esta entrada. Para darte una idea simplemente, la letra J en binario sería “01001010″, la S sería “01010011″, y así sucesivamente.
Ahora bien, si mueres de curiosidad sobre éste, el lenguaje que usan las máquinas para comunicarse entre sí, puedes leer este estupendo artículo, de los poquísimos que he visto a cuyo autor estaba verdaderamente interesado en comunicar algo comprensible a los principiantes.
Los humanos, entonces, no podemos comunicarnos con las máquinas, ni ellas con nosotros. Necesitamos lenguajes intermedios, que sean comprensibles tanto para una computadora, como para una persona. Y los hay. Se llaman lenguajes informáticos, los hay de varias clases, y cumplen diversas funciones.
Dos ejemplos de lenguajes informáticos son los lenguajes de programación y los lenguajes de marcado.
Naturalmente, los programas se escriben en lenguajes de programación. Son lenguajes legibles y comprensible por humanos, y que pueden luego se “traducirse” a la versión binaria que las diferentes computadoras pueden “comprender” y ejecutar. Sobre el más famoso de los lenguajes de marcado, el HTML, escribí una entrada hace unos meses, donde puedes encontrar más datos sobre el tema de lenguajes.
Los sistemas operativos
Si ya comprendes lo anterior, esta última parte se te hará facilísima. Si no estás completamente seguro, es buena idea que revises lo que acabas de leer a ver qué palabra o palabras no comprendiste completamente y la aclares (sea en mi Glosario o en un diccionario online o físico) antes de continuar.
Un sistema operativo es sencillamente el conjunto (sistema) de programas que necesita tu computadora para operar ella misma y para que operen los programas que le hayas instalado, así como los periféricos que ella tenga conectados. Por ejemplo, el programa que hace que puedas imprimir un documento es parte del sistema operativo.
Algunas de las funciones de las que se encarga un sistema operativo son el encendido, el apagado de la máquina y la mejor utilización posible de la memoria disponible. También, la interfaz, es decir la “cara” que le presenta el sistema operativo al usuario, si es amigable o no, si tiene ventanas o sólo letras, si es bonito, aburrido o complicado de usar. También determina cuántas cosas puede hacer al mismo tiempo sin congelarse, apagarse, caerse o necesitar un rebote.
Aunque en este momento todavía un 92% de los usuarios emplea alguna de las versiones del Sistema Operativo Windows en sus computadoras, Windows no es el único sistema que existe. Tampoco el mejor. Aparte de Macintosh y Linux, en este enlace encuentras una presentación de otros diez sistemas.
Personalmente, considero el sistema X de Macintosh, (conocido como “OS X”, cuya última versión es el 10.5 Leopard), la Octava Maravilla del mundo. No pretendo criticar en esta entrada al sistema operativo Windows. Tiene suficientes críticos (¿o debo decir “víctimas”?) entre sus propios usuarios. Baste decir que yo no cambio a Mac por nada en el mundo. Pero hay otras opciones. Mi querido vecino Jusamawi, por ejemplo, te puede hablar de las maravillas del sitema Linux y de Ubuntu.
Finalmente, para cerrar esta sección y esta entrada con una nota triplemente esperanzadora sobre el tema de los sistemas operativos, te dejo con un muy buen artículo de uno de los “Señores Bloggers” en español, Enrique Dans.



