Home
Clase 1 - Departamento de Computación
Contents
1. gt computaci n a trav s del intercambio de mensajes e objetos gt objetos se agrupan en clases clases de agrupan en jerarqu as gt resultados son pasados como par metros a mensajes Top five Great Works in Programming Languages B Pierce gt C A R Hoare An axiomatic basis for computer programming Communications of the ACM 12 10 576 580 and 583 October 1969 gt Peter J Landin The next 700 programming languages Communications of the ACM 9 3 157 166 March 1966 gt Robin Milner A theory of type polymorphism in programming Journal of Computer and System Sciences 17 348 375 August 1978 gt Gordon Plotkin Call by name call by value and the A calculus Theoretical Computer Science 1 125 159 1975 gt John C Reynolds Towards a theory of type structure In Colloque sur la Programmation Paris France volume 19 of Lecture Notes in Computer Science pages 408 425 Springer Verlag 1974 Vanguardia Conferencias Europeas gt The European Joint Conferences on Theory and Practice of Software ETAPS gt Foundations of Software Science and Computation Structures FOSSACS Fundamental Approaches to Software Engineering FASE European Symposium on Programming ESOP International Conference on Compiler Construction CC Tools and Algorithms for the Construction and Analysis of Systems TACAS gt International Colloquium on Automata Languages and Programming ICALP gt Computer Scien
2. a un entero Procesadores de Lenguajes Dos formas de ejecutar programas 1 interpretar 2 compilar Int rprete vY vV VvV Y programa que computa las acciones indicadas por un programa fuente es un meta programa programa que procesa otro programa utilizado para prototipar utilizado para dar sem ntica a un lenguaje nosotros lo utilizaremos para estudiar conceptos de LP Compilador gt Traduce un programa fuente en un programa objeto gt Muchas veces el programa fuente es un LP y el lenguaje objeto un lenguaje de m quina gt Tambi n es un meta programa gt Parte de su tarea consiste en verificar que la cadena de entrada efectivamente se corresponde con un programa valido Compilador Compiladores vs Int rpretes Ventajas de compiladores gt c digo compilado ejecuta mucho mas r pido que c digo interpretado b permite procesar m dulos por separado Ventajas de int rpretes b programa fuente m s peque o que c digo compilado gt mas f cil de escribir y modificar gt provee independencia de plataforma portabilidad Paradigmas de Lenguaje de Programaci n gt Lo entendemos como gt un estilo de programacion gt en el que se escriben soluciones a problemas en t rminos de algoritmos gt Ingrediente b sico es el modelo de c mputo gt la visi n que tiene el usuario de c mo se ejecutan sus programas Paradigmas de Lenguajes gt Veremos cuatro paradigmas gt
3. Paradigmas de lenguajes de programaci n Eduardo Bonelli Departamento de Computaci n FCEyN UBA A language that doesn t affect the way you think about programming is not worth knowing Epigrams in Programming Alan Perlis primer ganador del Turing Award ACM SIGPLAN Sept 1982 21 de agosto de 2007 Objetivos del curso Conocer los pilares conceptuales sobre los cuales se erigen los lenguajes de programaci n de modo de poder gt Comparar lenguajes gt Seleccionar el m s adecuado para una determinada tarea gt Prepararse para lenguajes paradigmas futuros Enfoque del curso 1 Angulo conceptual gt Introducci n informal de conceptos a trav s de ejemplos Enfoque del curso 1 Angulo conceptual gt Introducci n informal de conceptos a trav s de ejemplos 2 Angulo de fundamentos gt Introducir las bases rigurosas l gicas y matem ticas sobre las que se sustentan cada uno de los paradigmas o parte de los mismos Algunos temas cubiertos Angulo conceptual gt Inducci n variantes y recursi n gt valores expresiones currificaci n funciones de alto orden polimorpfismo param trico esquemas de recursi n gt Asignaci n y efectos laterales gt Expresiones de tipo sistema de tipos checkeo de tipos inferencia de tipos gt Resoluci n en l gica proposicional y de primer orden Cl usulas de Horn unificaci n refutaci n resoluci n SLD gt Objeto clase herencia method dis
4. a por John Backus para Algol 58 modificada por Peter Naur para Algol 60 gt amplio abanico de herramientas para generar analizadores l xicos y parsers a partir de notaci n formal como BNF gt Sistema de Tipos gt Sem ntica Definici n de un Lenguaje gt Sintaxis gt Sistema de Tipos gt gt gt gt prop sito prevenir errores en tiempo de ejecuci n en general requiere anotaciones de tipo en el c digo fuente ejemplos evitar sumar booleanos aplicar funci n a n mero incorrecto de argumentos an lisis de tipos en tiempo de compilaci n chequeo de tipos est tico an lisis de tipos en tiempo de ejecuci n chequeo de tipos din mico veremos en detalle en el Eje de Fundamentos gt Sem ntica Definici n de un Lenguaje gt Sintaxis gt Sistema de Tipos gt Semantica gt descripci n del significado de instrucciones y expresiones puede ser informal eg Castellano o formal basado en t cnicas matem ticas sem ntica formal puede ser axiom tica operacional o denotacional gt Por qu sem ntica formal gt Destructor brit nico H M S Sheffield hundido en guerra de Malvinas El radar de alerta de la nave estaba programado para identificar el misil Exocet como liado debido a que el arsenal Ingl s incluye el homing device de los Exocet y permiti que el misil alcanzara su blanco el H M S Sheffield http www cs tau ac il nachumd horror html Definici n
5. ce Logic Yv v V Vanguardia Conferencias ACM gt Principles of Programming Languages POPL gt International Conference on Functional Programming ICFP gt Object Oriented Programming Systems Languages and Applications OOPSLA gt Programming Language Design and Implementation PLDI gt Principles and Practice of Parallel Programming PPOPP
6. de un Lenguaje gt Sintaxis gt Sistema de Tipos gt Sem ntica descripci n del significado de instrucciones y expresiones gt puede ser informal eg Castellano o formal basado en t cnicas matem ticas sem ntica formal puede ser axiom tica operacional o denotacional gt Por qu sem ntica formal gt Votos perdidos por computadora en Toronto El distrito de Toronto finalmente abandon votaci n electr nica Definici n de un Lenguaje gt Sintaxis gt Sistema de Tipos gt Semantica gt descripci n del significado de instrucciones y expresiones gt puede ser informal eg Castellano o formal basado en t cnicas matem ticas sem ntica formal puede ser axiom tica operacional o denotacional gt Por qu sem ntica formal gt 225 de los 254 pasajeros de Korean Airlines KAL 901 en Guam fallecen en accidente Bug descubierto en alt metro barom trico del Ground Proximity Warning System GPWS Definici n de un Lenguaje gt Sintaxis gt Sistema de Tipos gt Semantica descripci n del significado de instrucciones y expresiones puede ser informal eg Castellano o formal basado en t cnicas matem ticas sem ntica formal puede ser axiom tica operacional o denotacional gt Por qu sem ntica formal gt Falla en el despegue del sat lite Ariane 5 causado por software error en la rutina de manejo de excepciones resultante de una mala conversi n de un punto flotante de 64 bit
7. imperativo gt funcional gt l gico gt orientado a objetos gt Hay otros concurrente dataflow algebraico etc gt Distinci n a veces no est clara Veamos un ejemplo calcular m n gt 0 Imperativo result 1 while n gt 0 do result result m n n 1 end while Evaluaci n gt computaci n expresada a trav s de modificaci n reiterada de memoria impl cita gt variables como abstracci n de celdas de memoria resultados intermedios se almacenan en la memoria gt control basado en iteraci n Funcional power m 0 1 power m n 1 m power m n Evaluaci n gt computaci n expresada a trav s de la aplicaci n y composici n de funciones gt no hay una memoria impl cita resultados intermedios salida de las funciones son pasados directamente a otras funciones gt control basado en recursi n L gico power m 0 1 power m n result lt minus n 1 n_sub1 power m n_sub1 temp_result times m temp_result result Evaluaci n gt computaci n expresada a trav s de proof search o alternativamente por definici n de predicados recursivos gt no hay memoria impl cita gt resultados intermedios son pasados a trav s de unificaci n gt control basado en recursi n Orientado a Objetos class Numero val instance method Valor Power pot return val if pot 0 then return 1 else return send self Valor send self Power pot 1 Evaluaci n
8. patch est tico din mico polimorfismo subtipos sistemas de tipos invariantes Algunos temas cubiertos Angulo de fundamentos gt Lambda c lculo gt Sintaxis y ejemplos de programaci n gt Sistemas de tipos e inferencia gt Sem ntica operacional gt Resoluci n gt En l gica proposicional gt En l gica de primer orden gt SLD gt Prog orientada a objetos gt Sistemas de tipos herencia como subtipado gt POO en lambda c lculo con subtipado registros referencias y recurison Formato de presentaci n gt Clases te ricas y pr cticas Pr cticas gt TPs Catedra y modalidad gt Modalidad Clases te ricas y pr cticas Teoria gt Eduardo Bonelli ebonelli dc uba ar gt Martes 17 30hs a 20 30hs gt Nota Invitado Fidel Pablo E Martinez L pez para 2da mitad de la clase de hoy y clase del martes 28 7 Practica gt Pablo Barenbaum Alejo Capparelli Guido de Caso Pablo Coll JTP Pablo Heiber Laura Lowenthal Gabriela Steren JTP gt Jueves 19 30hs a 22 30hs Recursos Bibliografia gt Textos no hay un texto principal se utilizan varios referencias en pagina web gt Apuntes ser n introducidos oportunamente gt Papers gt Transparencias de te ricas Pagina web gt Informaci n al dia del curso consultar peri dicamente Mailing list gt Hacer todas las preguntas y consultas que quieran Recursos Software gt Haskell gt El int r
9. prete Hugs http www haskell org gt Documentos accesibles en el mismo sitio gt A Gentle Introduction to Haskell Paul Hudak John Peterson y Joseph H Fasel gt The Hugs 98 User Manual Mark P Jones y John Peterson 1999 Manual del usuario modestas 84 paginas gt Haskell 98 Language and Libraries The Revised Report Simon Peyton Jones ed 2002 La referencia definitiva sobre Hugs98 277 p ginas gt SWI Prolog programaci n l gica gt Visualworks Smalltalk programaci n orientada a objetos Lenguajes de Programaci n Lenguajes de Programaci n LP gt lenguaje usado para comunicar instrucciones a una computadora gt instrucciones describen c mputos que llevar a cabo la computadora gt noci n de c mputo puede formalizarse ej m quinas de Turing c lculo lambda funciones recursivas etc conjunto de funciones computables gt computacionalmente completo si puede expresar todas las funciones computables 1957 1958 1959 1960 1961 1995 FLOW MATIC Saa Definici n de un Lenguaje gt Sintaxis gt Sistema de Tipos gt Sem ntica Definici n de un Lenguaje gt Sintaxis gt descripci n del conjunto de secuencias de s mbolos considerados como programas v lidos gt teor a de lenguajes formales bien desarrollada comenzando a mediados de 1950 con Noam Chomsky como pionero gt notaci n BNF y EBNF ampliamente utilizada desarrollad
Download Pdf Manuals
Related Search
Related Contents
FAGOR NV-300T NV-301T Certificado de Garantia Certificado de Garantia user's manual Check-list de mise en service Supplier Directory: User Guide Lineamientos SICREFIS Bintec-elmeg RV120w-4G 添付文書 - フィリップス・レスピロニクス合同会社 demonstalkers-manual - Museum of Computer Adventure Game Copyright © All rights reserved.
Failed to retrieve file