Lenguajes de programación

4,946 views
4,798 views

Published on

lenguajes de programacion

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,946
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
111
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lenguajes de programación

  1. 1. LENGUAJES DE PROGRAMACIÓN¿Qué es un lenguaje de programación?Un lenguaje de programación es un idioma artificial diseñado por el ser humano paraexpresar procesos que pueden ser llevados a cabo por máquinas como los ordenadores ypoder comunicarse con ellos. Pueden usarse para crear programas que controlen elcomportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, ocomo modo de comunicación humana. Este tipo de lenguaje de programación es diferente allenguaje de la maquina.¿Cómo están formados?Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen suestructura y el significado de sus elementos y expresiones.¿Cómo se dividen? 1. En líneas generalesSe pueden dividir, en líneas generales, en tres grupos: lenguajes interpretados, lenguajescompilados y lenguajes intermediarios. Lenguaje interpretado: Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario. Lenguaje compilado: Un programa escrito en un lenguaje "compilado" se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programaanexo para ser ejecutado una vez que ha sido compilado. Además, como sólo es necesariauna traducción. Lenguaje intermediario: Algunos lenguajes pertenecen a ambas categorías dado que el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de compilación intermediaria, en un archivo escrito en un lenguaje ininteligible, por lo tanto diferente al archivo fuente, y no ejecutable, requeriría un interprete. 2. Según el procesamiento de sus comandosGeneralmente los lenguajes de programación están divididos en dos grupos en baso alprocesamiento de sus comandos: Lenguajes imperativos y lenguajes funcionales. Lenguaje imperativo: es un programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros
  2. 2. lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio. Lenguaje funcional o lenguaje procedimental: es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad. 3. Tipo de lenguajes de programación Lenguaje de 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. Lenguajes de programación de bajo nivel: Son mucho más fáciles de utilizar que el lenguaje máquina, pero dependen mucho del ordenador. 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 enlenguaje ensamblador por el programador, y programa objeto es la traducción a lenguajemáquina del programa fuente.Los lenguajes de este tipo pueden crear programas muy rápidos, pero son difíciles deaprender, son específicos de cada procesador, si nos llevamos el programa a otro computadorserá preciso reescribir el programa desde el comienzo. Lenguajes de programación de nivel medio: Permiten un mayor grado de abstracción pero al mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. 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. 4. Según la manera de abordar la tarea a realizar: Lenguajes de programación imperativos: Indican cómo hay que hacer la tarea, es decir, expresan los pasos a realizar. Lenguajes de programación declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog. Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de programación, son HTML o SQL. 5. Según la paradigma de programación:
  3. 3. Lenguajes de programación orientados a objetos: Crean un sistema de clases y objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones y se comunican con otros objetos. Lenguajes de programación procedural: Divide el problema en partes más pequeñas, que serán realizadas por subprogramas que se llaman unas a otras para ser ejecutadas. Lenguajes de programación funcional: La tarea se realiza evaluando funciones, de manera recursiva. Lenguajes de programación lógica: La tarea a realizar se expresa empleando lógica formal matemática. Expresa qué computar. 6. Según la evolución histórica:Otra clasificación de los lenguajes de programación de alto nivel, es teniendo en cuenta eldesarrollo de las computadoras según sus diferentes generaciones: Lenguajes de programación de primera generación: el lenguaje máquina y el ensamblador. Lenguajes de programación de segunda generación: los primeros lenguajes de programación de alto nivel imperativo (FROTRAN, COBOL). Lenguajes de programación de tercera generación: son lenguajes de programación de alto nivel imperativo pero mucho más utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA). Lenguajes de programación de cuarta generación: usados en aplicaciones de gestión y manejo de bases de dados (NATURAL, SQL). Lenguajes de programación de quinta generación: creados para la inteligencia artificial y para el procesamiento de lenguajes naturales (LISP, PROLOG). 7. Según su propósito: Lenguajes de propósito general: Aptos para todo tipo de tareas. Lenguajes de propósito específico: Hechos para un objetivo muy concreto. Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento por lotes o JCL.
  4. 4. 8. Según el lugar de ejecución: Lenguajes de servidor: Se ejecutan en el servidor. Lenguajes de cliente: Se ejecutan en el cliente. 9. Según la concurrencia: Podemos encontrar lenguajes concurrentes y no concurrentes 10. Según la interactividad: Lenguajes orientados a sucesos: El flujo del programa es controlado por la interacción con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto, interfaces gráficos de usuario (GUI) o kernels. Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro. 11. Según la realización visual: Lenguajes de programación visual: El programa se realiza moviendo bloques de construcción de programas en un interfaz adecuado para ello. No confundir con entornos de programación visual. Lenguajes de programación textual: El código del programa se realiza escribiéndolo. 12. Según el determinismo:Lenguajes deterministas.Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes espacios debúsqueda, y en la investigación teórica de hipercomputación. 13. Según la productividad: Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples y/o retorcidos de los lenguajes, para diversión y entretenimiento de las personas dedicadas a esto.

×