Está en la página 1de 15

Lenguajes de

programacion
Rodrigo Garrido Gaspar
Edi Cesar Hernández Lira
Antonio Lira
Que son?
Un lenguaje de programación es un idioma artificial diseñado
para expresar computaciones que pueden ser llevadas a cabo
por máquinas como las computadoras. Pueden usarse para crear
programas que controlen el comportamiento físico y lógico de
una máquina, para expresar algoritmos con precisión, o como
modo de comunicación humana.[1] Está formado por un
conjunto de símbolos y reglas sintácticas y semánticas que
definen su estructura y el significado de sus elementos y
expresiones. Al proceso por el cual se escribe, se prueba, se
depura, se compila y se mantiene el código fuente de un
programa informático se le llama programación.
Historia
La primera programadora de computadora conocida
fue Ada Lovelace, hija de Anabella Milbanke Byron y
Lord Byron. Anabella introdujo en las matemáticas a
Ada quien, después de conocer a Charles Babbage,
tradujo y amplió una descripción de su máquina
analítica. Incluso aunque Babbage nunca completó la
construcción de cualquiera de sus máquinas, el trabajo
que Ada realizó con éstas le hizo ganarse el título de
primera programadora de computadoras del mundo. El
nombre del lenguaje de programación Ada fue
escogido como homenaje a esta programadora.
Historia
A finales de 1953, John Backus sometió una propuesta
a sus superiores en IBM para desarrollar una
alternativa más práctica al lenguaje ensamblador para
programar la computadora central IBM 704. El
histórico equipo Fortran de Backus consistió en los
programadores Richard Goldberg, Sheldon F. Best,
Harlan Herrick, Peter Sheridan, Roy Nutt, Robert
Nelson, Irving Ziller, Lois Haibt y David Sayre.
Niveles de lenguajes de programación

Lenguajes de bajo nivel


Son lenguajes totalmente dependientes de la máquina, es decir que el programa que
se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras
maquinas.

Lenguajes de Medio nivel


Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos
lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos
lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar
con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a
la vez realizar operaciones de alto nivel.

Lenguajes de alto nivel


Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje
máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Paradigma de programación
Los programas se pueden clasificar por el
paradigma del lenguaje que se use para
producirlos
Un paradigma de programación representa un
enfoque particular o filosofía para la
construcción del software. No es mejor uno que
otro, sino que cada uno tiene sus ventajas y sus
inconvenientes. También hay situaciones donde
un paradigma resulta más apropiado que otro.
Imperativo o por procedimientos

•Programación imperativa
•Programación lógica
•Programación funcional
•Programación declarativa
•Programación estructurada
•Programación dirigida por eventos
•Programación modular
•Programación orientada a aspectos
•Programación orientada a objetos
•Programación con restricciones
•Programación a nivel funcional (John Backus)
•Programación a nivel de valores (John Backus)
Programación imperativa

La programación imperativa, en contraposición a la programación


declarativa es un paradigma de programación que describe la
programación en términos del estado del programa y sentencias que
cambian dicho estado. Los programas imperativos son un conjunto de
instrucciones que le indican al computador cómo realizar una tarea.

La implementación de hardware de la mayoría de computadores es


imperativa; prácticamente todo el hardware de los computadores está
diseñado para ejecutar código de máquina, que es nativo al computador,
escrito en una forma imperativa. Esto se debe a que el hardware de los
computadores implementa el paradigma de las Máquinas de Turing.
Desde esta perspectiva de bajo nivel, el estilo del programa está
definido por los contenidos de la memoria, y las sentencias son
instrucciones en el lenguaje de máquina nativo del computador (por
ejemplo el lenguaje ensamblador).
Programación lógica

La programación lógica consiste en la aplicación del corpus de


conocimiento sobre lógica para el diseño de lenguajes de
programación; no debe confundirse con la disciplina de la lógica
computacional.

La programación lógica es un tipo de paradigmas de programación


dentro del paradigma de programación declarativa. El resto de los
subparadigmas de programación dentro de la programación lógica son:
programación funcional, programación basada en restricciones,
programas DSL (de dominio específico) e híbridos. La programación
declarativa gira en torno al concepto de predicado, o relación entre
elementos. La programación funcional se basa en el concepto de
función (que no es más que una evolución de los predicados), de corte
más matemático.
Programación funcional

La programación funcional es un paradigma de


programación declarativa basado en la utilización de
funciones aritméticas.

Utilidad
El objetivo es conseguir lenguajes expresivos y
matemáticamente elegantes, en los que no sea necesario
bajar al nivel de la máquina para describir el proceso
llevado a cabo por el programa, y evitando el concepto de
estado del cómputo. La secuencia de computaciones
llevadas a cabo por el programa se regiría única y
exclusivamente por la reescritura de definiciones más
amplias a otras cada vez más concretas y definidas, usando
lo que se denominan "definiciones dirigidas".
Programación declarativa

La Programación Declarativa, es un paradigma de


programación que está basado en el desarrollo de
programas especificando o "declarando" un conjunto de
condiciones, proposiciones, afirmaciones, restricciones,
ecuaciones o transformaciones que describen el problema y
detallan su solución. La solución es obtenida mediante
mecanismos internos de control, sin especificar
exactamente cómo encontrarla. No existen asignaciones
destructivas, y las variables son utilizadas con
Transparencia referencial
Programación estructurada

La programación estructurada es una forma de escribir programas de


ordenador (programación de computadora) de manera clara. Para ello
utiliza únicamente tres estructuras: secuencia, selección e iteración;
siendo innecesario el uso de la instrucción o instrucciones de
transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o
múltiples RETURN).

Hoy en día las aplicaciones informáticas son mucho más ambiciosas


que las necesidades de programación existentes en los años 1960,
principalmente debido a las aplicaciones gráficas, por lo que las
técnicas de programación estructurada no son suficientes. Ello ha
llevado al desarrollo de nuevas técnicas, tales como la programación
orientada a objetos y el desarrollo de entornos de programación que
facilitan la programación de grandes aplicaciones.
Programación modular

La programación modular es un paradigma de programación que consiste en


dividir un programa en módulos o subprogramas con el fin de hacerlo más
legible y manejable.

Se presenta históricamente como una evolución de la programación


estructurada para solucionar problemas de programación más grandes y
complejos de lo que ésta puede resolver.

Al aplicar la programación modular, un problema complejo debe ser dividido


en varios subproblemas más simples, y estos a su vez en otros subproblemas
más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente
simples como para poder ser resueltos fácilmente con algún lenguaje de
programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó
análisis descendente (Top-Down).

Un módulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de
estos módulos tiene una tarea bien definida y algunos necesitan de otros para
poder operar.
Programación Orientada a Aspectos

La Programación Orientada a Aspectos (POA) es un paradigma de


programación relativamente reciente cuya intención es permitir una adecuada
modularización de las aplicaciones y posibilitar una mejor separación de
conceptos. Gracias a la POA se pueden encapsular los diferentes conceptos que
componen una aplicación en entidades bien definidas, eliminando las
dependencias entre cada uno de los módulos. De esta forma se consigue razonar
mejor sobre los conceptos, se elimina la dispersión del código y las
implementaciones resultan más comprensibles, adaptables y reusables. Varias
tecnologías con nombres diferentes se encaminan a la consecución de los
mismos objetivos y así, el término POA es usado para referirse a varias
tecnologías relacionadas como los métodos adaptivos, los filtros de
composición, la programación orientada a sujetos o la separación
multidimensional de competencias.
Programación orientada a objetos

La programación orientada a objetos o POO (OOP según sus siglas en inglés)


es un paradigma de programación que usa objetos y sus interacciones, para
diseñar aplicaciones y programas informáticos. Está basado en varias técnicas,
incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se
popularizó a principios de la década de los años 1990. En la actualidad, existe
variedad de lenguajes de programación que soportan la orientación a objetos.

También podría gustarte