Definición:
1 Un lenguaje de programación es un lenguaje inventado para controlar una máquina
2 Lenguaje de programación es el conjunto de símbolos y palabras que permiten al usuario de una computadora darle instrucciones y órdenes para que la computadora los ejecute.
Tipos de lenguajes de programación:
1º El Lenguaje Máquina: es el lenguaje de programación que entiende directamente la computadora o máquina. Este lenguaje de programación utiliza el alfabeto binario, es decir, el 0 y el 1.
Con estos dos únicos dígitos, conocidos como bits, forma lo que se conoce como cadenas binarias (combinaciones de ceros y unos) son con las que se escriben las instrucciones que el microprocesador de la computadora entiende nuestra peticiones. Fue el primer lenguaje de programación. Este tipo de lenguaje de programación dejo de utilizarse por su gran dificultad y por la facilidad para cometer errores.
2º Lenguajes de programación de bajo nivel: Son mucho mas fáciles de utilizar que el lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía con el lenguaje máquina. El lenguaje ensamblador fue el primer lenguaje de programación que trato de sustituir el lenguaje máquina por otro mucho más parecido al de los seres humanos.
En este lenguaje se conoce como programa fuente a un programa de instrucciones
escrito en lenguaje ensamblador por el programador, y programa objeto es la traducción a lenguaje máquina del programa fuente.
Los lenguajes de este tipo pueden crear programas muy rápidos, pero son difíciles de aprender, son específicos de cada procesador, si nos llevamos el programa a otro computador será preciso reescribir el programa desde el comienzo.
3º Lenguajes de programación de alto nivel: Este tipo de lenguajes de programación son independientes de la máquina, lo podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero precisan de un programa interprete o compilador que traduzca este lenguaje de programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la computadora pueda entender.
Los lenguajes de programación de alto nivel son más fáciles de aprender porque se usan palabras o comandos del lenguaje natural, como por ejemplo del inglés. Este es el caso del BASIC, el lenguaje de programación más conocido.
Existen muchos lenguajes de programación de alto nivel con sus diferentes versiones. Por esta razón es difícil su tipificación, pero una clasificación muy extendida desde el punto de vista de trabajar de los programas y la filosofía de su creación es la siguiente:
Lenguaje imperativo
Un lenguaje imperativo es un tipo de lenguaje de programación. Es este tipo de lenguajes, las instrucciones se ejecutan unas tras otras, de manera secuencial, salvo cuando se encuentran estructuras de control condicionales o bucles. Hay declaración de variables, tipos y procedimientos, aunque esto varía notablemente en función del lenguaje utilizado, pues los hay que exigen las declaraciones mientras que otros permiten que esos elementos no sean declarados.
Ejemplo de programa en un lenguaje imperativo: Este sería el código de un programa que determina el factorial de un número en un lenguaje imperativo inventado:
procedimiento factorial(entero n){
entero resultado = 1;
mientras (n > 0) {
resultado = resultado * n;
n = n - 1;
}
devuelve resultado;
}
Este procedimiento (o función) recibe un número entero n. Declara una variable resultado que será el resultado final a devolver. Inicialmente, tiene como valor el 1. Después llega una estructura de control denominada bucle, que se ejecuta mientras la condición expresada entre los paréntesis (n > 0) sea cierta. Dentro del bucle se multiplica la variable resultado por n y el valor se deja de nuevo en resultado. La siguiente sentencia (n = n - 1) es necesaria para ir haciendo el factorial, así como para salir en algún momento del bucle. Por último, tras salir del bucle ya podemos devolver el valor final, que estará en la variable resultado.
Nótese que, si en un principio, la variable n es 0, no se entrará en el bucle al no ser cierta la condición, por lo que pasaría directamente a devolver la variable resultado, que tiene valor inicial 1 (0! = 1).
Lenguajes de programación imperativos: entre ellos tenemos el Cobol, Pascal, C y
Ada.
Lenguaje declarativo
Un lenguaje declarativo es un tipo de lenguaje de programación basado más en las matemáticas y en la lógica que los lenguajes imperativos, más cercanos estos al razonamiento humano. Los lenguajes declarativos no dicen cómo hacer una cosa, sino, más bien, qué cosa hacer. A diferencia de los imperativos, no suele haber declaración de variables ni tipos.
Ejemplo de un programa en un lenguaje declarativo: Este sería el código de un programa que determina el factorial de un número en un lenguaje declarativo inventado
factorial(0) = 1
factorial(n) = n*factorial(n-1)
Como se puede ver, el programa utiliza simplemente 2 líneas. En una está el "caso base", que nos dice que el factorial del número 0 es 1. La otra línea nos dice que el factorial de un número n es n por el factorial de n-1. Un ejemplo de ejecución sería:
factorial(3)? = 3*factorial(2) =
3*2*factorial(1) = 3*2*1*factorial(0) = 3*2*1*1 = 6
Nótese que el caso base es necesario, sino el programa entraría en un bucle infinito, sin terminar jamás.
Lenguajes de programación declarativos: el Lisp y el Prolog.
Lenguajes de programación orientada a objetos
Los lenguajes de programación orientados a objetos tratan a los programas como conjuntos de objetos que se ayudan entre ellos para realizar acciones. Entendiendo como objeto a las entidades que contienen datos. Permitiendo que los programas sean más fáciles de escribir, mantener y reutilizar.
Los objetos tienen toda la información (atributos) que los diferencia de otros pertenecientes a otra clase. Por medio de unos métodos se comunican los objetos de una misma o diferente clase produciendo el cambio de estado de los objetos. Esto hace que a los objetos se les trate como unidades indivisibles en las que no se separan la información ni los métodos usados en su tratamiento.
Este lenguaje tiene su origen en un lenguaje que fue diseñado por los profesores Ole-Johan Dahl y Kristen Nygaard en Noruega. Este lenguaje de programación orientado a objetos fue el “Simula 67” que fue un lenguaje creado para hacer simulaciones de naves.
Son lenguajes dinámicos en los que estos objetos se pueden crear y modificar sobre la marcha. Esta programación orientada a objetos (POO) tomo auge a mediados de los años ochenta debido a la propagación de las interfaces gráficas de usuarios, para lo que los lenguajes de programación orientados a objetos están especialmente dotados.
Entre los principales lenguajes de este tipo tenemos:
Ada, C++, C#, VB.NET, Clarion, Delphi, Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Oz, PHP, PowerBuilder, Python, Ruby y Smalltalk.
No todos estos lenguajes son específicamente orientados a objetos. Sino que algunos de ellos se le han añadido extensiones orientadas a objetos.
Lenguajes de programación orientados al problema:
son aquellos lenguajes específicos para gestión. Ejemplo MatLab, maple.
Lenguajes de programación naturales:
son los nuevos lenguajes que pretender aproximar el diseño y la construcción de programas al lenguaje de las personas. pyton