lenguajes de-programacion-clase

25
Lenguajes de programación

Upload: beatriz-moreyra

Post on 12-Apr-2017

154 views

Category:

Education


0 download

TRANSCRIPT

Lenguajes de programación

Lenguajes de máquina Lenguajes de ensamblado Lenguajes de alto nivel.

Para construir programas, las personas usan lenguajes que son similar al idioma humano. Los resultados se traducen en código de máquina que las computadoras entienden. Los lenguajes de programación entran en tres categorías extensas:

La Evolución de los lenguajes de la Programación

• Lenguaje de máquina (idiomas de la primera-generación) es el tipo más básico de lenguaje de la computadora y consiste en series de números de el hardware de la computadora .

• Los Tipos diferentes de uso en el hardware en

el código de la máquina son diferentes. Por ejemplo, las computadoras de IBM usan lenguaje de máquina diferente que las computadoras de las Apple.

- Lenguaje de Máquina

• Lenguajes de ensamblado (idiomas de la segunda-generación) es sólo algo más fácil que trabajar con el Lenguajes de máquina.

• El lenguaje ensamblador, o assembler (en inglés assembly

language y la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para las computadoras, microprocesadores,  microcontroladores y otros circuitos integrados programables.

• Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de processador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.

•  Cada arquitectura de processador tiene su propio lenguaje

ensamblador

Lenguaje ensamblador

Ensamblador

Código de ensamble

código de Objeto

Lenguaje de 3ra. Generación

Lenguaje de 4ta. Generación

Los lenguajes de alto nivel son más poderosos que el lenguaje ensamblador y le permiten al programador trabajar en un ambiente como Inglés. Los lenguajes de la programación de alto nivel son dividido en tres "las generaciones," cada uno más poderoso que el último:

Lenguajes de alto nivel

FORTAN CCOBOL C++BASIC JavaPascal ActiveX

• Los lenguaje de la tercera generación (3GLs) son los primeros en usar verdadero Inglés como la redacción y los hacen más fáciles de usar que los lenguajes anteriores.

• Los 3GLs son portátiles y significan el código del

objeto creado para un tipo de sistema que puede traducirse para el uso en un tipo diferente de sistema.

• Los 3GLs son procedurales

Lenguaje de 3ra. Generación

• Se ha dado este nombre a ciertas

herramientas que permiten construir aplicaciones sencillas combinando piezas prefabricadas.

• Hoy se piensa que estas herramientas no son, propiamente hablando, lenguajes. Algunos proponen reservar el nombre de cuarta generación para la programación orientada a objetos.

• Los 4GLs pueden usar un ambiente basado en texto (como un 3GL) o puede permitirle al programador trabajar en un ambiente visual y puede usar herramientas gráficas.

Lenguaje de 4ta. Generación

4GLEstos lenguajes tienen una estructura lo más parecido al idioma inglés, algunas características son:• Acceso a base de datos.•Capacidades Gráficas.•Generación de código automáticamente*•Puede programarse visualmente como Visual Basic (Programación Visual).•MVC

Ejemplo programación visual

Paradigmas de programación Existen diversos paradigmas y lenguajes de

programación que se han diseñado para facilitar las tareas de programación en diferentes ámbitos.

Programación por procedimientos es un paradigma de la programación. Muchas veces es aplicable tanto en lenguajes de programación de bajo nivel como en lenguajes de alto nivel.

En el caso de que esta técnica se aplique en lenguajes de alto nivel, recibirá el nombre de Programación funcional. Esta técnica consiste en basarse de un número muy bajo de expresiones repetidas, englobarlas todas en un procedimiento o función y llamarlo cada vez que tenga que ejecutarse.

Procedural o procedimientos Esta técnica de programación ofrece muy buena

respuesta con relación al tamaño de los programas, y en bruto casi no se nota en la velocidad de ejecución de los mismos (mientras que las variables, constantes o índices de vector estén en memoria, como suele ser normal, estos se relacionarán entre sí, sin una carga de memoria considerablemente alta para los procesadores modernos); aunque es muy complicado conseguir una programación por procedimientos pura.

Utilizar este tipo de programación puede resultar muy útil a la hora de programar grandes proyectos, ya que se crea una inmensa biblioteca de funciones especiales para procedimientos utilizados con frecuencia dentro del programa.

Lenguajes puramente funcionales•Haskell•Miranda

Lenguajes que soportan procedimientos o funciones

•C++•StarBasic•InfoBasic•Pascal

Lenguajes declarativos

La programación declarativa, en contraposición a la programación por procedimientos, 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.

Tipos de lenguajes declarativos En la programación declarativa las sentencias que se

utilizan lo que hacen es describir el problema que se quiere solucionar; se programa diciendo lo que se quiere resolver a nivel de usuario, pero no las instrucciones necesarias para solucionarlo. Esto último se realizará mediante mecanismos internos de inferencia de información a partir de la descripción realizada.

Existen varios tipos de lenguajes declarativos: Los lenguajes lógicos, como Prolog. Los lenguajes algebraicos, como Maude y SQL. Los lenguajes funcionales, como Haskell y Erlang.

Ejemplo de programacióndeclarativa

%% %% declaraciones %% padrede('juan', 'maria'). % juan es padre de maria padrede('pablo', 'juan'). %pablo es padre de juan padrede('pablo', 'marcela'). % pablo es padre de marcela padrede('carlos', 'debora'). % carlos es padre de debora %% consultas%%% juan es hermano de marcela??- hermanode('juan', 'marcela').yes

Lenguajes Paralelos Con la introducción de un nuevo paradigma de

programación como lo es el cómputo paralelo surge también la idea de cómo solucionar la programación de computadoras paralelas, ya que la idea del cómputo paralelo sugiere la implementación de arquitecturas paralelas, algoritmos paralelos y lenguajes de programación paralelos.

Se puede pensar en que la programación paralela puede verse como un conjunto de dos capas, la capa inferior es la encargada de realizar toda la serie de procesos y trabajos, se puede pensar que dicha capa la puede ocupar un lenguaje secuencial, así la capa superior es la que controla la creación y el desarrollo de las actividades que serán solicitadas a la capa inferior, es aquí donde se propone un lenguaje paralelo.

El primero de ellos fue Concurrent Pascal, dise~nado por Brinch Hansen en 1975 como una extensión del lenguaje Pascal, también daba soporte al paradigma concurrente.

En estos años la mayoría de los lenguajes diseñnados eran extensiones de lenguajes secuenciales ya existentes. High Performance Fortran ha sido uno de los pocos lenguajes que ha prevalecido en el tiempo, del que se ha originado nuevos lenguajes con este concepto y que se ha mantenido estable en el tiempo.

Lenguajes Paralelos

Algunos ejemplos de esto son los siguientes:CODE HeNCE (Heterogeneous Network Computing

Environment)LINDAX10 (IBM)Chapel (Cray)Unified Parallel C (UPC)ParaSailZPL

Lenguajes visuales

La programación visual brinda los conocimientos necesarios para diseñar y desarrollar aplicaciones con un entorno visual amigable y fácil de utilizar para el usuario.

Los lenguajes de programación visual tienden a facilitar la tarea de los programadores, dado que con los primeros lenguajes de programación crear una ventana era tarea de meses de desarrollo y de un equipo de trabajo.

Clasificación de los lenguajes visuales Los lenguajes visuales se dividen en las siguientes

categorías: Lenguajes puramente visuales. Simulink,software

de programación para lego Sistemas híbridos de texto y elementos

visuales . .Net Sistema de programación por ejemplo

(Programming-by-example) CUDA Sistemas orientados a restricciones (Constraint-

oriented systems)

Programación orientada a Objetos Define los programas en términos de "clases de

objetos", objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto).

La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas.

La técnica de programación orientada a objetos, se basa en fundamentos de diseño, técnicas y metodologías unificadas (UML).

POO

Lenguajes visuales como Visual Basic.Net, Borland Delphi, incorporan una completa implementación de la programación orientada a objetos y permiten aprovechar al máximo toda la funcionalidad que ofrecen estos lenguajes para el desarrollo de aplicaciones de gestión.

Clasificación

Lenguajes de bajo nivel Código máquina Ensamblador Lenguajes de medio nivel BCPL C

Lenguajes de alto nivel

ADA ALGOL BASIC Clipper Cobol C++ FORTH Fortran Haskell Informix 4gl

Java Lexico (con códigos

en castellano o sinónimos en otros idiomas)

Lisp Logo Modula PASCAL Prolog RPG Visual Basic