SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
5/28/2008




                                                             Organización de los Lenguajes de Programación


                                                            Comprender como los lenguajes son diseñados e
                                                              implementados
                   Introducción
                                                            • Sintaxis– Como luce el programa
                                                            • Semántica – Que significa el programa
                        1-1.3.2                             • 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



                                                        1                                                           2




             Objetivo de los Lenguajes                       Razones para estudiar lenguajes de programación


• Durante las décadas de 1950-1960 – Compilar programas     • Mejorar la habilidad para desarrollar programas de
  para que se ejecuten más eficientemente.                    manera más efectiva
• Existe una conexión directa entre las características     • Mejorar el uso de sus lenguajes
  de un lenguaje y el hardware - integers, reals,           • Incrementar el vocabulario de construcciones útiles
  sentencias goto                                           • Permitir escoger de mejor manera un lenguaje de
• Programación barata; máquinas caras; Mantener la            programación
  máquina ocupada                                           • Facilitar el aprendizaje de un nuevo lenguaje
                                                            • Facilitar el diseño de un nuevo lenguaje
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


                                                        3                                                           4




                                                                                                                               1
5/28/2008




Reference Architectural Model                                                                           What is this Architecture?
                                                                                     Content
                                                                                  Processing &
                                                                 CONTENT          Management:
                                                                  Internet,          Search,
       App                                                         email,         Classification,
       Level                                  Applications                         Translation,
                                                                Information,
                                                                 Databases,
                                                                     etc
                                                                                   Summarize,
                                                                                      etc.              Voicenet architecture is based on a layer model, similar to
    Transaction
       Level                                                                                            OSI model. It provides:
                                                                  Scripts &
                             Translation     Dialog Manager      Finite State
                              Engines                             Machine
    Understanding
       Level
                                                                                                           •A kernel over which the different services are designed.
                                            NLG         NLU

       Text
       Level                                                      Grammars
                                                                                                           •A precise visualization of the development process and
                                            TTS         ASR
                                                                                                           its cost/effectiveness.
       Voice
       Level

                                              Call Control
                                                                                                           •A simple way to describe each layer and its services.
      Media
      Level
                    Multimedia I/F Module     Telephony &
                                                                 Internet I/F Module
                                                                                                           •A way to develop protocols defining the interaction
                                            Voice Port Module
                                                                                                           between layers, making them simple to understand.

     Physical
                                             PSTN                     WEB                                  •Ability to define specific requirements for protocols of
      Level
                                                                                                           each layer as new services are incorporated.



                                                                                                    5                                                                  6




Main Features
                                                                                                                             Desarrollo de los lenguajes

                                                                                                           Lenguajes numéricos
                                                                                                           • 1957 FORTRAN
 •Software:                                                                                                • 1960 ALGOL60
                                                                                                           • 1970 PASCAL
    •UML                                                                                                   • 1970 PL/I
    •Windows NT and Windows 2000 Operative Systems                                                         • BASIC, ADA
    based
    •C++ language, Object Oriented, Multithreads,                                                          Lenguajes de Negocios
    Distributed Programming                                                                                • 1960 COBOL
                                                                                                           • RPG
                                                                                                           Lenguajes de Inteligencia Artificial
                                                                                                           • LISP
                                                                                                           • PROLOG
                                                                                                           Lenguajes de sistemas
                                                                                                           • Ensamblador
                                                                                                           • C
                                                                                                    7                                                                  8




                                                                                                                                                                                  2
5/28/2008




  Historia
                                          ENIAC




             9                                                            10




ENIAC                  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
             11                                                           12




                                                                                      3
5/28/2008




         Influencias en el desarrollo de los lenguajes                Vista Abstracta de los Componentes de un Sistema




        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



                                                               13




                                                                               Migración de los Sistemas Operativos
                                     S.O.                                          Conceptos y Carácteristicas




                                             applications
                        utilities             software
             systems
             software
                                    Operating system




 hardware
                                device   device        ...   device
components         CPU
                                                  memory




                                                                                                                                4
5/28/2008




               Desarrollo de los Lenguajes                                       Atributos de un buen lenguaje


                                                                      • Claridad, simplicidad, y unidad – proveen un ambiente
•  1951 - 1955 Uso experimental de compiladores de expresiones          para pensar en algoritmos y un mecanismo para
                                                                        expresar esos algoritmos
•  1956 – 1960 FORTRAN, ALGOL58, ALGOL60, LISP
•  1961 – 1965 COBOL, ALGOL60®,SNOBOL, JOVIAL
                                                                      • Ortogonalidad – toda combinación de características
•  1966 – 1970 APL, FORTRAN66, COBOL65, ALGOL68, SNOBOL4,
                                                                        es útil
   BASIC, PL/I, SIMULA67, ALGOL W
• 1971 – 1975 Pascal, COBOL74, C, Scheme, Prolog
                                                                      • Naturaleza de la aplicación – las estructuras de los
• 1976 – 1980 Smalltalk, Ada, FORTRAN77, ML
                                                                        programas reflejan las estructuras lógicas del
• 1981 – 1985 Turbo Pascal, Smalltalk80, Ada83, Postscript              algoritmo
• 1986 – 1990 FORTRAN90, C++, SML
• 1991 – 1995 Ada95, Lenguajes de proceso (TCL, PERL), HTML           • Soporte para abstracción – datos del programa
• 1996 – 2000 Java, Javascript, XML                                     reflejan el problema a ser resuelto
Gráficos:
• Historia
• Poster
                                                                 17                                                           18




    Atributos de un buen lenguaje (continuación)                                  Paradigmas de los lenguajes


• Facilidad de verificación de programas – verificar                  Lenguajes Imperativos
  que el programa realiza correctamente la función                    • Objetivo es el de entender el estado de la máquina
  requerida                                                             (conjunto de posiciones de memorias, cada una
                                                                        conteniendo un valor)
• Ambiente de programación – soporte externo para el                  • Lenguajes orientados a sentencias que cambian el
  lenguaje                                                              estado de la máquina (C, Pascal, FORTRAN, COBOL)
                                                                      • Sintaxis: S1, S2, S3, ...
• Portabilidad de los programas – transportabilidad del
  programa resultante desde el computador desde donde                 Lenguajes Aplicativos (funcionales)
  es desarrollado a otros sistemas de computadores                    • Objetivo es el de entender la función que produce la
                                                                        respuesta
• Costos de uso – ejecución de programas, traducción de               • La composición de funciones es la operación principal
  programas, creación de programas, y mantenimiento de                  (ML, LISP)
  programas                                                           • Sintaxis: P1(P2(P3(X)))
                                                                      • Programación consiste de la construcción de funciones
                                                                        que calculan la respuesta
                                                                 19                                                           20




                                                                                                                                          5
5/28/2008




   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
                                                       21




                                                                   6

Más contenido relacionado

Más de johanna20

Examen Fisica
Examen FisicaExamen Fisica
Examen Fisicajohanna20
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004johanna20
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regularesjohanna20
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercialjohanna20
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizacionesjohanna20
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)johanna20
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte Ijohanna20
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contablejohanna20
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicosjohanna20
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacionjohanna20
 
Ley de Mercado de Valores
Ley de Mercado de ValoresLey de Mercado de Valores
Ley de Mercado de Valoresjohanna20
 

Más de johanna20 (17)

Examen Fisica
Examen FisicaExamen Fisica
Examen Fisica
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regulares
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercial
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizaciones
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte I
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contable
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicos
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacion
 
Color
ColorColor
Color
 
Clipping
ClippingClipping
Clipping
 
Iluminacion
IluminacionIluminacion
Iluminacion
 
Hilos
HilosHilos
Hilos
 
Internet
InternetInternet
Internet
 
Paginas Web
Paginas WebPaginas Web
Paginas Web
 
Ley de Mercado de Valores
Ley de Mercado de ValoresLey de Mercado de Valores
Ley de Mercado de Valores
 

Último

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Último (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Topicos De Lenguaje

  • 1. 5/28/2008 Organización de los Lenguajes de Programación Comprender como los lenguajes son diseñados e implementados Introducción • Sintaxis– Como luce el programa • Semántica – Que significa el programa 1-1.3.2 • 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 1 2 Objetivo de los Lenguajes Razones para estudiar lenguajes de programación • Durante las décadas de 1950-1960 – Compilar programas • Mejorar la habilidad para desarrollar programas de para que se ejecuten más eficientemente. manera más efectiva • Existe una conexión directa entre las características • Mejorar el uso de sus lenguajes de un lenguaje y el hardware - integers, reals, • Incrementar el vocabulario de construcciones útiles sentencias goto • Permitir escoger de mejor manera un lenguaje de • Programación barata; máquinas caras; Mantener la programación máquina ocupada • Facilitar el aprendizaje de un nuevo lenguaje • Facilitar el diseño de un nuevo lenguaje 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 3 4 1
  • 2. 5/28/2008 Reference Architectural Model What is this Architecture? Content Processing & CONTENT Management: Internet, Search, App email, Classification, Level Applications Translation, Information, Databases, etc Summarize, etc. Voicenet architecture is based on a layer model, similar to Transaction Level OSI model. It provides: Scripts & Translation Dialog Manager Finite State Engines Machine Understanding Level •A kernel over which the different services are designed. NLG NLU Text Level Grammars •A precise visualization of the development process and TTS ASR its cost/effectiveness. Voice Level Call Control •A simple way to describe each layer and its services. Media Level Multimedia I/F Module Telephony & Internet I/F Module •A way to develop protocols defining the interaction Voice Port Module between layers, making them simple to understand. Physical PSTN WEB •Ability to define specific requirements for protocols of Level each layer as new services are incorporated. 5 6 Main Features Desarrollo de los lenguajes Lenguajes numéricos • 1957 FORTRAN •Software: • 1960 ALGOL60 • 1970 PASCAL •UML • 1970 PL/I •Windows NT and Windows 2000 Operative Systems • BASIC, ADA based •C++ language, Object Oriented, Multithreads, Lenguajes de Negocios Distributed Programming • 1960 COBOL • RPG Lenguajes de Inteligencia Artificial • LISP • PROLOG Lenguajes de sistemas • Ensamblador • C 7 8 2
  • 3. 5/28/2008 Historia ENIAC 9 10 ENIAC 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 11 12 3
  • 4. 5/28/2008 Influencias en el desarrollo de los lenguajes Vista Abstracta de los Componentes de un Sistema 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 13 Migración de los Sistemas Operativos S.O. Conceptos y Carácteristicas applications utilities software systems software Operating system hardware device device ... device components CPU memory 4
  • 5. 5/28/2008 Desarrollo de los Lenguajes Atributos de un buen lenguaje • Claridad, simplicidad, y unidad – proveen un ambiente • 1951 - 1955 Uso experimental de compiladores de expresiones para pensar en algoritmos y un mecanismo para expresar esos algoritmos • 1956 – 1960 FORTRAN, ALGOL58, ALGOL60, LISP • 1961 – 1965 COBOL, ALGOL60®,SNOBOL, JOVIAL • Ortogonalidad – toda combinación de características • 1966 – 1970 APL, FORTRAN66, COBOL65, ALGOL68, SNOBOL4, es útil BASIC, PL/I, SIMULA67, ALGOL W • 1971 – 1975 Pascal, COBOL74, C, Scheme, Prolog • Naturaleza de la aplicación – las estructuras de los • 1976 – 1980 Smalltalk, Ada, FORTRAN77, ML programas reflejan las estructuras lógicas del • 1981 – 1985 Turbo Pascal, Smalltalk80, Ada83, Postscript algoritmo • 1986 – 1990 FORTRAN90, C++, SML • 1991 – 1995 Ada95, Lenguajes de proceso (TCL, PERL), HTML • Soporte para abstracción – datos del programa • 1996 – 2000 Java, Javascript, XML reflejan el problema a ser resuelto Gráficos: • Historia • Poster 17 18 Atributos de un buen lenguaje (continuación) Paradigmas de los lenguajes • Facilidad de verificación de programas – verificar Lenguajes Imperativos que el programa realiza correctamente la función • Objetivo es el de entender el estado de la máquina requerida (conjunto de posiciones de memorias, cada una conteniendo un valor) • Ambiente de programación – soporte externo para el • Lenguajes orientados a sentencias que cambian el lenguaje estado de la máquina (C, Pascal, FORTRAN, COBOL) • Sintaxis: S1, S2, S3, ... • Portabilidad de los programas – transportabilidad del programa resultante desde el computador desde donde Lenguajes Aplicativos (funcionales) es desarrollado a otros sistemas de computadores • Objetivo es el de entender la función que produce la respuesta • Costos de uso – ejecución de programas, traducción de • La composición de funciones es la operación principal programas, creación de programas, y mantenimiento de (ML, LISP) programas • Sintaxis: P1(P2(P3(X))) • Programación consiste de la construcción de funciones que calculan la respuesta 19 20 5
  • 6. 5/28/2008 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 21 6