El lenguaje de programacin es un lenguaje artificial que se utiliza para definir
una secuencia de instrucciones para su posterior procesamiento. En muchas ocasiones, resulta inentendible para el comn de la gente. Vamos a intentar aclarar algunas cuestiones al respecto. La traduccin de una serie de instrucciones en lenguaje ensamblador (el cdigo fuente) a un cdigo mquina (o cdigo objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. Estas instrucciones son las que permiten que la computadora ejecute aquellas funciones que nosotros, como usuarios, le ordenamos. El mencionado compilador crea una lista de instrucciones de cdigo mquina, el cdigo objeto, basndose en un cdigo fuente. El cdigo objeto resultante es un programa rpido y listo para funcionar, pero que puede hacer que falle el ordenador si no est bien diseado. Lenguajes de bajo nivel Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin un nombre fcil de recordar, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador. Lenguajes de alto nivel Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o procesamiento de textos. La descripcin anterior es slo una forma muy esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina. Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como por ejemplo el ingls. EnBASIC, el lenguaje de alto nivel ms conocido, los comandos como 'IF CONTADOR = 10 THEN STOP' pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. http://www.informatica-hoy.com.ar/aprender-informatica/El-lenguaje-de-lascomputadoras.php#opinar No hay un nico tipo de lenguajes, sino que se clasifican segn las caractersticas que posean y segn el paradigma y conceptos que soporten. Por su nivel:
Bajo nivel. No hay abstracciones de datos ni de procesos. Ejemplos:
Assembler, editores hexadecimales. Alto nivel. Permite abstraer varios aspectos que simplifican la programacin. En general son algo menos eficientes que los de bajo nivel. Ejemplos, Pascal, Ada, Java, C++, Prolog, etc. Por su jerarquizacin: Primera generacin. Fue el primer lenguaje. Se utilizan unos y ceros para representar los cableados, que anteriormente se hacan a mano. Ej: Lenguaje mquina. Segunda generacin. Se asignan nombres simblicos para las distintas instrucciones, que internamente son combinaciones de unos y ceros. Ej: Assembler. Tercera generacin. Lenguajes de alto nivel. Son los ms populares y ms fciles de usar. Cuarta generacin. Lenguajes 4GL, o de gestin de bases de datos; como SQL, QueryByExample, etc. Por el manejo de las instrucciones: Imperativos: Un programa se especifica por medio de una secuencia de instrucciones que se ejecutan de esa manera, en secuencia. Ej: FORTRAN. Orientados a objetos: Soportan abstracciones de datos y procesos conocidas como objetos. Ej: C+ +, Ada, Java, Smalltalk. Funcionales: Especifican una solucin como un conjunto y una composicin de funciones. Ej: Miranda, Haskell, ML, Camel. Lgicos: Permiten obtener resultados lgicos o relaciones entre elementos. Ej: Prolog. Concurrentes, paralelos y distribuidos: Soportan procesamiento paralelo, es decir, al mismo tiempo. Pascal Concurrente, Java (hilos). Por la programacin: Imperativos: Incluye los paradigmas imperativo y orientado a objetos. Declarativos: Incluye los paradigmas funcional y lgico. Ramiro A. Gmez http://www.ilustrados.com/documentos/lenguajes-programacion020608.pdf