Antes de entender bien qué es programar, debemos entender el concepto de comunicarse, ya que es esencial comunicarse para transmitir un mensaje, ideas, o algo.
La comunicación es fundamental en la programación
Cuando hablamos con alguien, intentamos enviarle algún tipo de información o mensaje:
En cualquiera de los casos necesitamos que la otra persona entienda y codifique nuestra intención. Básicamente a esto se lo llama comunicarse.
Lo sé, es básico, pero prometimos arrancar desde cero.
En mi país, Argentina (campeones del mundo), usamos el idioma español para comunicarnos entre nosotros. Nuestro idioma tiene un vocabulario y una gramática (es decir, podemos hablar y escribir en español), lo que nos permite formar oraciones y expresar ideas para comunicarnos entre nosotros (gente que habla español).
Elemento | Comunicación humana | Programación |
---|---|---|
Idioma | Español, Inglés, etc. | JavaScript, Python, etc. |
Vocabulario | Palabras del diccionario | Palabras reservadas, funciones |
Gramática | Reglas del idioma | Sintaxis del lenguaje |
Receptor | Otra persona | La computadora |
Ahora, cuando intentamos hablar con una computadora, debemos usar un lenguaje de programación que la máquina entienda, con sus propias palabras y sintaxis para expresar instrucciones. Por ejemplo, podríamos decir que JavaScript o Python son idiomas que las computadoras entienden (cada uno con su acento y reglas).
De este modo, podemos decir que aprender a programar implica aprender a escribir en un lenguaje formal para que la máquina ejecute nuestras órdenes tal cual se las solicitamos.
Programar es como aprender un nuevo idioma, solo que en vez de hablar con personas, le "hablamos" a una computadora. Es una forma de comunicación donde le damos instrucciones precisas a la máquina para que realice tareas específicas.
Creo que ya hicimos bastante introducción a esto y podemos empezar a entender conceptos más abstractos. Hace mucho tiempo, cuando la computación no existía, la gente se fabricaba instrumentos de madera, piedra o cualquier elemento para poder hacer cuentas, ya sea para comprar o permutar cosas, como para medir y hacer operaciones básicas.
Con el tiempo, esas herramientas se hicieron más complejas:
La evolución de las herramientas de cálculo hasta las computadoras modernas
Pero claro, una computadora no entiende palabras como nosotros. Tampoco entiende emociones, ni chistes, ni sarcasmo. Ni siquiera entiende una frase simple como "sumá dos más dos". Lo que sí entiende son cosas mucho más básicas: la presencia o ausencia de algo.
Como un cable de corriente: o tiene corriente o no. O un interruptor, como la tecla de la luz de casa: o está prendida, o está apagada. Eso, una computadora lo entiende perfecto.
Con los años, los avances hicieron que una computadora pueda manejar millones (y ahora billones) de esos "interruptores" al mismo tiempo. Y aunque parezca que "piensa", en realidad lo que hace es procesar muchísimos números a la vez, todos compuestos por unos y ceros. Porque esa es su forma de pensar.
Una forma simple de entender todo esto es con el ejemplo clásico de la bombita de luz:
(No pensemos en el caso donde la bombilla está quemada, ¿sí? 😅)
Nosotros como personas, usamos números todos los días para representar cosas, nuestro sistema de conteo se llama el sistema decimal. Eso quiere decir que tenemos diez símbolos para representar 1 número: del 0 al 9.
Por ejemplo, si te preguntara ¿cuántas sillas hay en tu casa? vos me podés mostrar cuatro dedos, escribir un "4" o decirme "cuatro", se entenderá que hay 4 sillas.
Pero las computadoras no usan ese sistema. Ellas usan un sistema mucho más simple, llamado binario, que solo tiene dos símbolos posibles: el 1 y el 0.
Y esto tiene muchísimo sentido, porque si un circuito puede estar encendido o apagado, ¿para qué complicarse con más?
Entonces, si queremos representar algo en la computadora (un número, una letra, una imagen o lo que sea), en el fondo, todo termina siendo una combinación de 1s y 0s. Porque ese es el idioma más básico que las computadoras entienden:
Estado físico | Representación binaria |
---|---|
Corriente | 1 |
No corriente | 0 |
Luz | 1 |
No luz | 0 |
No hace falta que memorices cómo se cuentan los números en binario, ni que sepas cómo se escribe un "8" usando solo 1s y 0s. Lo importante es que entiendas esta idea: Cuando programamos, nuestras instrucciones terminan transformándose en unos y ceros.
Y eso es lo que hace posible que una computadora pueda "entender" lo que queremos que haga. Es tan simple como eso... y a la vez, tan poderoso que con millones de bits se construye el mundo digital en el que vivimos hoy en día.
Ahora que entendemos que una computadora trabaja con unos y ceros, hay una palabra que vas a escuchar todo el tiempo en el mundo de la programación y la computación: bit.
Un bit es simplemente eso, un dígito binario. Puede ser un 1 o un 0. Nada más.
Cuando decimos "bit", en realidad estamos haciendo referencia de la unidad más pequeña de información que una computadora puede entender o manejar.
Porque en computación, todo se construye con bits. Pero claro, un solo bit (o sea, un único 1 o 0) no alcanza para representar muchas cosas que digamos.
Por eso, los bits se agrupan, y la forma más común de hacerlo es de a 8, y a ese grupo se lo llama un byte. Un byte son simplemente 8 dígitos, que pueden ser ceros o unos, en distintas combinaciones.
Imagina que cada bit es como un superhéroe con un poder especial. Cada uno tiene un lugar específico en el equipo y un superpoder único (su valor). ¡Cuando trabajan juntos, pueden crear números muy grandes!
Piensa en los bits como si fueran diferentes monedas o billetes. Cada posición tiene un valor específico, igual que tenemos monedas de diferentes valores.
Si tienes un 1 en una posición, significa que tienes esa moneda. Si tienes un 0, significa que no tienes esa moneda. ¡Luego sumas todas las monedas que tienes para obtener el valor total!
Por ejemplo, si tienes: 1 0 1 0 1 0 1 0, significa que tienes las monedas de $128, $32, $8 y $2, lo que suma $170.
Ahora que has aprendido los conceptos básicos sobre programación y el sistema binario, es momento de poner en práctica estos conocimientos con algunas actividades interactivas.
Pon a prueba tus conocimientos sobre el sistema binario con este juego de preguntas. ¡Responde correctamente antes de que se acabe el tiempo!
Esta herramienta te permite convertir texto a código binario y viceversa, para entender cómo las computadoras representan la información.
Cada carácter en tu computadora tiene un código numérico asignado (llamado ASCII o Unicode). Por ejemplo:
Carácter | Código decimal | Representación binaria |
---|---|---|
A | 65 | 01000001 |
B | 66 | 01000010 |
a | 97 | 01100001 |
1 | 49 | 00110001 |
espacio | 32 | 00100000 |
Así, la palabra "Hola" se convierte en una serie de códigos binarios, uno por cada letra.
En este primer capítulo, hemos explorado los fundamentos de la programación:
¡Felicidades! Has dado el primer paso para entender cómo funciona la programación desde sus fundamentos. En el próximo capítulo, comenzaremos a explorar las variables y tipos de datos.