¡Hola, gente de Steemit! Hoy empiezo una serie en la que quiero poner el máximo de empeño y dedicación. Voy a hablarles de uno de los temas que más me apasiona en la vida: La programación de computadores. El objetivo es enseñarle a las personas que me lean, a través de explicaciones básicas y comprensibles (espero que así sea), a programar sin necesidad de tener algún conocimiento previo en la materia. Serán mis primeros posts haciendo tutoriales, así que espero sus comentarios constructivos para mejorar cada día, pues soy un novato en esto de enseñar a través de un blog. Antes de empezar, algunas aclaraciones importantes:
- En estos tutoriales no se abordan temáticas excesivamente profundas y no se hace énfasis en aprender muchos lenguajes de programación ni muchos frameworks. El objetivo es entender qué es programar y cuál es la lógica necesaria para hacerlo.
- No utilizo ningún libro o fuente externa para hacer estos tutoriales. Soy estudiante de cuarto año de Ingeniería en Sistemas, por lo que toda la información que doy acá ha sido extraída de mis clases en la universidad y de lo que he consultado por mis propios medios en ocasiones anteriores. En caso de utilizar conocimiento sacado de otras fuentes, haré claridad. Así mismo, para el caso de las imágenes, citaré la fuente en el caso de que no sean mías. Las imágenes que no aparecen con su fuente abajo son hechas por mí.
Sin más preámbulos, ¡EMPECEMOS!
¿Qué es programar? Después de todo, esa es la pregunta más interesante que nos podemos hacer en un principio. Bien, esta vez lo definiremos como aquella disciplina en la que se le dan instrucciones a un equipo de cómputo (computadores, smartphones, robots, electrodomésticos inteligentes, etc.) para que haga alguna tarea específica. En términos más cotidianos, se trata de darle órdenes al computador en uno o más lenguajes que él entienda. A estos lenguajes se les conoce como lenguajes de programación (ojo con ese concepto. Es muy importante). Es más, si queremos hacer aún más sencilla la definición, podemos decir que programar es hablar con el computador.
Pues bien, en el primer capítulo de este tutorial hablaremos un poco de los lenguajes que se usan para establecer comunicación con el computador. Bienvenidos al mundo de los lenguajes de programación.
Sin embargo, los ingenieros son unos genios y una de sus funciones es facilitarnos la vida. Por eso, a través de más de 50 años de investigación, han desarrollado algunas estrategias que permiten que la difícil tarea de programar no sea excesivamente ardua. En la actualidad, casi nadie programa a través de unos y ceros, sino que los programadores utilizamos un invento maravilloso: Los lenguajes de alto nivel. Les explicaré un poco cómo es el proceso:
Normalmente, el programador escribe su código en un lenguaje de programación de alto nivel. Estos lenguajes son mucho más sencillos que el lenguaje máquina, pues utilizan palabras cotidianas (en inglés) y tienen reglas sintácticas sencillas de aprender. Algunos de los más conocidos y usados son C++ (el padre de casi todos), PHP, Python, Java, Ruby, JavaScript, entre otros. En este tutorial aprenderemos algunas cosas en uno de estos lenguajes (en el segundo capítulo sabrán cuál es).
Luego de que codifica su programa, el programador deberá pasar el código por un compilador o por un intérprete (son distintos y se usan dependiendo del tipo de lenguaje de programación. En otros capítulos profundizaremos un poco). Tanto los compiladores como los intérpretes son programas que se encargan, en primer lugar, de analizar el código en busca de errores sintácticos o semánticos (por ejemplo, que falte una coma en algún lugar donde debería ir). Si no encontró ningún error de este tipo, el compilador traduce el código hecho por el programador a un lenguaje de mediano nivel.
El lenguaje de mediano nivel es menos comprensible para el ser humano que el de alto nivel, pero es mucho más comprensible para la máquina. Se comunica directamente con el procesador, quien es el que realiza todos los cálculos; es el que, en última instancia, ejecuta el programa. El lenguaje de mediano nivel también se conoce como ensamblador y le indica al procesador cuáles son las direcciones específicas de memoria que debe utilizar, entre otros detalles técnicos en los que no profundizaremos. Por último, el código en lenguaje de mediano nivel es traducido a lenguaje máquina. Como lo indiqué anteriormente, este lenguaje está compuesto solamente por largas cadenas de unos y ceros, las cuales son recibidas por el procesador directamente. Es allí realmente donde el programa cobra vida. Algunos compiladores traducen directamente el código del lenguaje de alto nivel al de máquina, obviando el paso por el lenguaje ensamblador.
Bien, aquí llegamos al final del primer capítulo de este tutorial. Fue bastante teórico; pero lo cierto es que los conceptos aquí tratados son fundamentales a la hora de programar. Si la información les resultó útil e interesante, no olviden dar upvote y resteem. Nos reencontramos pronto.