Topicos De Lenguaje

6

Click here to load reader

Transcript of Topicos De Lenguaje

Page 1: Topicos De Lenguaje

5/28/2008

1

1

Introducción

1-1.3.2

2

Organización de los Lenguajes de Programación

Comprender como los lenguajes son diseñados e

implementados

• Sintaxis– Como luce el programa

• Semántica – Que significa el programa

• Implementación – Como se ejecuta el programa

Usar los lenguajes más apropiados para resolver

problemas específicos, Por ejemplo:

• Pascal, C – procedimientos, orientado a sentencias

• C++, Java, Smalltalk – Orientado a objetos

• ML, Lisp -- Funcional

• Prolog – Basado en reglas

3

Objetivo de los Lenguajes

• Durante las décadas de 1950-1960 – Compilar programas

para que se ejecuten más eficientemente.

• Existe una conexión directa entre las características

de un lenguaje y el hardware - integers, reals,

sentencias goto

• Programación barata; máquinas caras; Mantener la

máquina ocupada

Hoy en día

• Compilar programas que sean construidos

eficientemente

• Capacidad de procesamiento y memoria muy barata

• Conexión directa entre las características del

lenguaje y los conceptos de diseño – encapsulación,

registros, herencia, funcionalidad, verificación

4

Razones para estudiar lenguajes de programación

• Mejorar la habilidad para desarrollar programas de

manera más efectiva

• Mejorar el uso de sus lenguajes

• Incrementar el vocabulario de construcciones útiles

• Permitir escoger de mejor manera un lenguaje de

programación

• Facilitar el aprendizaje de un nuevo lenguaje

• Facilitar el diseño de un nuevo lenguaje

Page 2: Topicos De Lenguaje

5/28/2008

2

5

Reference Architectural Model

WEBPSTN

CONTENTInternet,email,

Information,Databases,

etc

Applications

Dialog Manager

NLG NLU

TTS ASR

Scripts &Finite State

Machine

Grammars

TranslationEngines

ContentProcessing &Management:

Search,Classification,Translation,Summarize,

etc.

Call Control

Telephony &Voice Port Module

Internet I/F ModuleMultimedia I/F Module

AppLevel

TransactionLevel

Understanding

Level

TextLevel

VoiceLevel

MediaLevel

PhysicalLevel

6

What is this Architecture?

Voicenet architecture is based on a layer model, similar toOSI model. It provides:

•A kernel over which the different services are designed.

•A precise visualization of the development process andits cost/effectiveness.

•A simple way to describe each layer and its services.

•A way to develop protocols defining the interactionbetween layers, making them simple to understand.

•Ability to define specific requirements for protocols ofeach layer as new services are incorporated.

7

Main Features

•Software:

•UML

•Windows NT and Windows 2000 Operative Systems based

•C++ language, Object Oriented, Multithreads, Distributed Programming

8

Desarrollo de los lenguajes

Lenguajes numéricos

• 1957 FORTRAN

• 1960 ALGOL60

• 1970 PASCAL

• 1970 PL/I

• BASIC, ADA

Lenguajes de Negocios

• 1960 COBOL

• RPG

Lenguajes de Inteligencia Artificial

• LISP

• PROLOG

Lenguajes de sistemas

• Ensamblador

• C

Page 3: Topicos De Lenguaje

5/28/2008

3

9

Historia ENIAC

10

ENIAC

11 12

Evolución de la arquitectura del Software

• 1950s – Mainframe, grandes, caras, corrían un solo

programa (Procesamiento en lote - Batch)

• 1960s – Programación interactiva (tiempo compartido)

en mainframes

• 1970s – Desarrollo de minicomputadoras y primeras

microcomputadoras. Apple II. Desarrollo inicial en

ventanas, iconos, y PC en XEROX PARC

• 1980s – Computadora Personal - Microprocesador, IBM

PC y Apple Macintosh. Uso de ventanas, iconos y

ratón.Computadoras OEM

• 1990s – Computación cliente- servidor – Redes,

Internet, WWW

Page 4: Topicos De Lenguaje

5/28/2008

4

13

Influencias en el desarrollo de los lenguajes

1. Capacidad de las computadoras

2. Aplicaciones

3. Métodos de Programación

4. Implementación de métodos

5. Estudios teóricos

6. Estandarización

Vista Abstracta de los Componentes de un Sistema

S.O.

. . .CPU

memory

device device device

Operating system

utilitiesapplications

software

systemssoftware

hardwarecomponents

. . .CPU

memory

device device device

Operating system

utilitiesapplications

software

systemssoftware

hardwarecomponents

Migración de los Sistemas Operativos

Conceptos y Carácteristicas

Page 5: Topicos De Lenguaje

5/28/2008

5

17

Desarrollo de los Lenguajes

• 1951 - 1955 Uso experimental de compiladores de expresiones

• 1956 – 1960 FORTRAN, ALGOL58, ALGOL60, LISP

• 1961 – 1965 COBOL, ALGOL60®,SNOBOL, JOVIAL

• 1966 – 1970 APL, FORTRAN66, COBOL65, ALGOL68, SNOBOL4,

BASIC, PL/I, SIMULA67, ALGOL W

• 1971 – 1975 Pascal, COBOL74, C, Scheme, Prolog

• 1976 – 1980 Smalltalk, Ada, FORTRAN77, ML

• 1981 – 1985 Turbo Pascal, Smalltalk80, Ada83, Postscript

• 1986 – 1990 FORTRAN90, C++, SML

• 1991 – 1995 Ada95, Lenguajes de proceso (TCL, PERL), HTML

• 1996 – 2000 Java, Javascript, XML

Gráficos:

• Historia

• Poster

18

Atributos de un buen lenguaje

• Claridad, simplicidad, y unidad – proveen un ambiente

para pensar en algoritmos y un mecanismo para

expresar esos algoritmos

• Ortogonalidad – toda combinación de características

es útil

• Naturaleza de la aplicación – las estructuras de los

programas reflejan las estructuras lógicas del

algoritmo

• Soporte para abstracción – datos del programa

reflejan el problema a ser resuelto

19

Atributos de un buen lenguaje (continuación)

• Facilidad de verificación de programas – verificar

que el programa realiza correctamente la función

requerida

• Ambiente de programación – soporte externo para el

lenguaje

• Portabilidad de los programas – transportabilidad del

programa resultante desde el computador desde donde

es desarrollado a otros sistemas de computadores

• Costos de uso – ejecución de programas, traducción de

programas, creación de programas, y mantenimiento de

programas

20

Paradigmas de los lenguajes

Lenguajes Imperativos

• Objetivo es el de entender el estado de la máquina

(conjunto de posiciones de memorias, cada una

conteniendo un valor)

• Lenguajes orientados a sentencias que cambian el

estado de la máquina (C, Pascal, FORTRAN, COBOL)

• Sintaxis: S1, S2, S3, ...

Lenguajes Aplicativos (funcionales)

• Objetivo es el de entender la función que produce la

respuesta

• La composición de funciones es la operación principal

(ML, LISP)

• Sintaxis: P1(P2(P3(X)))

• Programación consiste de la construcción de funciones

que calculan la respuesta

Page 6: Topicos De Lenguaje

5/28/2008

6

21

Paradigmas de los lenguajes (continuación)

Lenguajes basados en reglas

• Especifica la regla que especifica la solución del

problema (Prolog, BNF Parsing)

• Otros ejemplos: Procedimientos de decisión, reglas

gramaticales (BNF)

• Sintaxis: Respuesta reglas de especificación

• Programación consiste en especificar los atributos

de la respuesta

Lenguajes orientados a objetos

• Lenguajes imperativos que unen diseños aplicativos

con sentencias imperativas (Java, C++, Smalltalk)

• Sintaxis: Conjunto do objetos (clases) conteniendo

datos (concepto imperativo) y métodos (conceptos

aplicativos)

Lenguajes