Programación
Programación de computadoras se le llama a la implementación de un algoritmo en un determinado lenguaje de programación, conformando un programa, siendo estos lenguajes de programación: de alto nivel, medio nivel o bajo nivel.
Un algoritmo es una secuencia no ambigua y ordenada de instrucciones que han de seguirse para resolver un problema, un programa normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo.
Los programas suelen subdividirse en partes menores, de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa, éste escrito en un lenguaje de programación no es inmediatamente ejecutado en una computadora, la opción más común es compilar el programa, aunque también puede ser ejecutado mediante un intérprete informático
El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguaje interpretable por el procesador, llamandole a este proceso compilación.
la creación de un programa ejecutable normalmente se realiza en dos pasos:
El primer paso se llama compilación y traduce el código fuente escrito en un lenguaje de programación almacenado en un archivo a código en bajo nivel.
El segundo paso se llama enlazado, se junta el código de bajo nivel generado de todos los ficheros que se han mandado compilar y se añade el código de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse con el sistemas operativo y traducir el código objeto a código máquina.
La programación de ordenadores se basa en tres aspectos, corrección: un programa es correcto si hace lo que debe hacer, claridad: es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiento del software, eficiencia: debe consumir la menor cantidad de recursos posible.
Lenguaje de programación
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar por ejemplo una computadora, permitiendo a uno o más programadores especificar de manera precisa sobre qué datos una computadora debe operar, cómo deben ser estos almacenados, transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias, los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina.
Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser: lenguajes de bajo nivel, lenguajes de medio nivel, lenguajes de alto nivel
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina, los programas traductores que pueden realizar esta operación se llaman compiladores, los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario), al usar un lenguaje compilado, el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código
Se puede también utilizar una alternativa a los compiladores para traducir lenguajes de alto nivel, en vez de traducir el programa fuente y grabar en forma permanente el código objeto, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar y un programa intérprete, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos.
Un paradigma de programación representa un enfoque particular para la construcción del software, pudiéndose clasificar los lenguajes en:
Paradigma imperativo o por procedimientos, paradigma funcional, paradigma lógico,
paradigma orientado a objetos.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.