¡Sí! Usted puede.
Y lo que no sabes, puedo explicarlo todo en este post.
Las computadoras en realidad no son más que una máquina construida con interruptores automáticos (de diferente tipo y con nombres diferentes), cables (dibujados en circuitos) y una combinación de interruptores y cables que producen lógica.
Es posible que haya notado un baño compartido por dos habitaciones (A y B, por ejemplo). Si alguien enciende la bombilla de la sala de baño presionando el interruptor en la habitación A, presionando el interruptor de la bombilla de la habitación B no volverá a encenderla, sino que la apagará. Esta es la lógica producida por cableado de interruptores de cierta manera. Esta es una tarea de ingeniería, por lo que no necesita preocuparse por eso como programador informático.
Y sabe que cada interruptor tiene uno de dos estados en un momento dado, es decir, ENCENDIDO y APAGADO
De manera similar, cada cable tiene uno de dos estados en un momento dado, es decir, tiene corriente / SEÑAL o no tiene corriente / SIN SEÑAL
Y cada circuito lógico (como se ve en el ejemplo de la bombilla de doble interruptor en la sala de baño) produce una salida como ENCENDIDO (luces de la bombilla) / APAGADO (la bombilla no se enciende)
Por lo tanto, se dice que las computadoras solo entienden el lenguaje binario que representamos mnemónicamente con 1 o 0, ON u OFF, SIGNAL o NO SIGNAL, TRUE o FALSE o lo que quieras.
Las primeras computadoras tenían solo 3 partes:
- Cambia para ingresar código binario
- Circuitos lógicos (llamados procesadores) para procesar código binario.
- Bombillas LED para mostrar salida en código binario.
¿Cómo podríamos resolver nuestros problemas con una máquina así?
Human se dio cuenta de que si podían representar cualquier cosa en una combinación de 2 estados discretos, podrían representar cualquier cosa con ella y procesarla utilizando computadoras.
¿Pero cuántas combinaciones?
El ser humano optó por una combinación de 8 interruptores (según el estándar ASCII) que fueron suficientes para representar todos los alfabetos, dígitos y otros símbolos porque proporcionó 2 ^ 8 = 256 combinaciones únicas
Ejemplo para representar texto con computadoras:
Para representar el texto, a la letra A se le asignó una combinación única 01000001 en el estándar ASCII que es igual a 65 en decimal. es decir, con 8 interruptores, si el interruptor número 1 (desde el lado derecho) y el número 7 (desde el lado derecho) están ENCENDIDOS, lo que significa que la letra A de inglés se ingresa en la computadora. De manera similar, si las bombillas LED respectivas están ENCENDIDAS, eso significa que la computadora envía la letra A
Así es como las computadoras representan datos, pero ¿cómo los computarían? Por ejemplo, ¿sumar dos números 2 + 3?
Para que las computadoras computen datos, la representación de datos en binario no era suficiente. La computadora también necesita realizar la suma (+).
Con la combinación de cables e interruptores, y siguiendo Boolean Algebra and Logic, los humanos pudieron diseñar tales circuitos (ejemplo de 2 bombillas de interruptor ya lo explica) que podrían computar datos.
Usted conoce estos circuitos como una unidad llamada CPU y empaquetada dentro de un solo chip llamado procesador o microprocesador .
Todos los circuitos que realizan operaciones aritméticas y lógicas se denominan conjunto de instrucciones de un procesador.
Por lo tanto, dada la representación binaria del dígito 2, la instrucción para la adición (también en binario) y la representación binaria del dígito 3 al procesador encenderían la primera y la tercera bombillas LED (00000101), es decir, la salida 5
Si observa que para agregar dos números, debemos proporcionar información y datos de computadora para agregar en la secuencia correcta en su propio idioma, denominado lenguaje binario o lenguaje de máquina. Esto se llama programación de computadora.
También notó que podríamos agregar los números 2 + 3 en papel también, es decir, podríamos hacer la programación sin computadora. Entonces, ¿ por qué la computadora? Sólo por conveniencia y rapidez.
Humano se dio cuenta de que la programación informática en lenguaje binario era difícil. Así que se les ocurrió la idea de un programa llamado Ensamblador . Un ensamblador nos permitiría escribir programas en inglés como palabras y traducir nuestro código en inglés al código de máquina.
Esta idea fue tan popular que los humanos comenzaron a crear más capas de abstracciones sobre el lenguaje ensamblador y, por lo tanto, crearon muchos lenguajes de alto nivel (porque tienen un mayor nivel de abstracción) como Python, C, Java y HTML, etc. Más tipos de programación.
Los humanos también se volvieron inteligentes, inventaron interruptores automáticos (flip-flops) que mantendrían su estado ACTIVADO y DESACTIVADO siempre que se les suministre energía. Con estos construyeron RAM , una memoria a la que se podía acceder de forma aleatoria. Entonces, en lugar de una entrada lenta a través de interruptores operados manualmente, primero cargarían todo el programa en la memoria, lo que proporcionaría una entrada al procesador a alta velocidad y, por lo tanto, la computadora resolvería su problema al máximo.
Human también inventó los interruptores magnéticos y construyó con ellos discos duros tradicionales (HDD) . Estos interruptores pueden conservar su estado durante mucho tiempo (años), incluso si no se les proporciona corriente.
Usando lenguajes de alto nivel, Human también escribió sistemas operativos (OS) que administrarían todos los recursos de su computadora, como el procesador, la memoria, el disco duro, el teclado, el mouse y el monitor, etc., y le liberarían de escribir software para que estos componentes de hardware reciban información. , salida o funcionalidad de almacenamiento para su programa.
Human también desarrolló IDE y editores de código que le proporcionarían una plataforma para escribir, editar, depurar, compilar / interpretar y ejecutar código.
Entonces, con la ayuda de lenguajes de alto nivel, sistemas operativos e IDE, la programación de computadoras se ha vuelto mucho más fácil.
Puede escribir código en un IDE utilizando el teclado o arrastrando los componentes de la GUI con el mouse; Guárdelo en el disco duro para su almacenamiento permanente; cárguelo en la memoria haciendo clic en un ícono (funcionalidad proporcionada por el sistema operativo) y deje que el procesador lo ejecute y proporcione resultados en la pantalla, altavoces, impresoras, etc., o en el disco duro.
¡Entonces sí! Puedes saltar a la programación sin preocuparte por binarios, octales o hexadecimales.
Puede enfocarse en el pensamiento computacional que le enseña a preparar algoritmos (plantillas de solución a sus problemas). Puede aprender la sintaxis y la semántica de cualquier lenguaje informático más adelante e implementar esos algoritmos.
¡Disfruta de la programación debido a muchas capas de abstracción!
EDITAR: Me encantaría añadir un ejemplo de la programación de hoy en día.
Escribamos algoritmo para 2 + 3:
paso 1: almacenar 2 en memoria
Paso 2: almacenar 3 en la memoria
paso 3: agregar 2 y 3 en el procesador
paso 4: mostrar la salida en la pantalla
Vamos a escribir el programa para este algoritmo en Python:
Imprimir 2 + 3
Este programa de una línea implementaría su algoritmo y mostraría la salida 5 en la pantalla. ¿Es difícil?