En este artículo introduciré algunos conceptos muy básicos relativos a la programación. Mi objetivo es aproximar el contexto adecuado a quienes deseen iniciarse en este ámbito.
¿Qué es un programa informático?
Un programa consiste en la serie de instrucciones que se le dan a un sistema informático con el fin de que realice una determinada tarea. En un lenguaje comprensible para el ordenador, es decir, en un lenguaje de programación, el programa le indica paso a paso lo que debe hacer para alcanzar un objetivo concreto.
Así, por ejemplo, siguiendo las directrices codificadas por el programador, el sistema solicitará al usuario que introduzca los parámetros de un determinado problema. A continuación realizará sobre dichos datos varias operaciones lógicas y aritméticas para, finalmente, devolver la solución.
¿Qué es un programador?
Un programador es en realidad una persona que resuelve problemas. Así se entiende que la “metodología de la programación” sea el conjunto de métodos necesarios para resolver problemas mediante programas informáticos.
Programar no es otra cosa que el proceso de diseñar, escribir, depurar y mantener programas informáticos. En consecuencia, un programador realizará bien su trabajo cuando proceda de un modo sistemático y riguroso.
¿Qué es un algoritmo?
El concepto de algoritmo es el núcleo central de la metodología de la programación. Un algoritmo es la secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para realizar una determinada tarea.
Un algoritmo es independiente del lenguaje de programación en el que será codificado y del sistema informático donde será ejecutado. El mismo algoritmo podrá expresarse en diferentes lenguajes de programación y ser utilizado bajo distintos sistemas.
Pueden diseñarse algoritmos divergentes para llegar a una misma conclusión. Cuando contamos con varios posibles candidatos debemos tener en cuenta factores como el tiempo que tardará cada uno en hallar la solución o cuántos recursos serán necesarios para implantarlos.
La definición de un algoritmo debe describir tres partes y se corresponden con las partes de un programa informático:
Sólo tras analizar el problema y diseñar el algoritmo que describe la secuencia de pasos que conducen a su solución, el programador lo codificará, es decir, lo traducirá a un lenguaje de programación concreto.
¿Qué es un lenguaje de programación?
Un lenguaje de programación es una notación para escribir programas y viene dado por una gramática o conjunto de reglas que se aplican a un alfabeto.
Los ordenadores digitales manejan impulsos eléctricos. Un impulso eléctrico es un bit, la mínima cantidad de información o unidad básica que mide la información. Representamos con un 0 y un 1 la ausencia o presencia de un bit, lo cual nos permite describir las señales e interconexiones de los circuitos lógicos de un microprocesador por medio del álgebra booleana[1], que sólo admite dos valores, verdadero y falso.
Es comprensible pues que el primer lenguaje de programación utilizado fuese el denominado lenguaje máquina, el único que entiende directamente los ordenadores y cuyo alfabeto es el binario, formado por los símbolos 0 y 1. Más tarde, como resultado de la evolución del lenguaje máquina nacerá el lenguaje ensamblador, al sustituir las cadenas de símbolos binarios por palabras más fáciles de reconocer para los seres humanos.
Se dice de estos lenguajes que son de bajo nivel porque son muy distintos de nuestra forma natural de comunicarnos y se parecen más al de las máquinas.
Obviamente hablar de información en términos de impulsos eléctricos es muy poco intuitivo para nosotros. Por eso se han creado lenguajes de programación de alto nivel[2] con gramáticas y vocabularios que facilitan cada vez más la comunicación entre los seres humanos y los ordenadores.
[1] Denominada así en honor a George Boole (1815-1864) quien la definió como parte de un sistema lógico para tratar las expresiones de la lógica proposicional por medio de técnicas algebraicas. Su obra más importante a este respecto es de 1854, Las leyes del pensamiento.
[2]En esta infografía http://www.pinterest.com/pin/548665167075068672/ conocerás a los pioneros de la programación y algunos datos que pueden ser de tú interés.
Espero que este artículo haya sido de utilidad para ti. Si tienes alguna pregunta o sugerencia deja abajo una respuesta, muchas gracias por compartir y hasta la próxima.
Pingback: Protocolo TCP y direcciones IP | Infosofía