Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
teaching:cc5115 [2020/02/10 13:06] – [Material] folmedoteaching:cc5115 [2020/02/10 13:08] folmedo
Line 4: Line 4:
 ==== Motivación y Objetivos  ==== ==== Motivación y Objetivos  ====
  
-El propósito de este curso es introducir la //programación funcional//º a través del lenguaje Haskell. La programación funcional es reconocida por dar lugar a un estilo mucho más declarativo –y elegante– de programación, y tres características que la hacen particularmente atractiva son su conveniencia para //verificar// programas, razonando algebraicamente de la misma manera que lo hacemos en matemática, para //paralelizar// la ejecución de programas, ganando órdenes de magnitud en eficiencia, y por último, para //abstraer// patrones de programación recurrentes, generando código más compacto, robusto y reusable.+El objetivo de este curso es introducir la //programación funcional//º a través del lenguaje Haskell. La programación funcional es reconocida por dar lugar a un estilo mucho más declarativo –y elegante– de programación, y tres características que la hacen particularmente atractiva son su conveniencia para //verificar// programas, razonando algebraicamente de la misma manera que lo hacemos en matemática, para //paralelizar// la ejecución de programas, ganando órdenes de magnitud en eficiencia, y por último, para //abstraer// patrones de programación recurrentes, generando código más compacto, robusto y reusable.
    
 Lenguajes populares como Java, JavaScript o Scala han sabido explotar estas características adoptando un enfoque multi-paradigma. Para los objetivos de este utilizaremos sin embargo Haskell, un lenguaje puramente funcional. Haskell se considera en la frontera del diseño de lenguajes de programación y hoy en día tiene una penetración no menor en la industria, siendo usado por compañías como Microsoft, Facebook, IBM,  Galois, AT&T,  JaneStreet y la NASA. Lenguajes populares como Java, JavaScript o Scala han sabido explotar estas características adoptando un enfoque multi-paradigma. Para los objetivos de este utilizaremos sin embargo Haskell, un lenguaje puramente funcional. Haskell se considera en la frontera del diseño de lenguajes de programación y hoy en día tiene una penetración no menor en la industria, siendo usado por compañías como Microsoft, Facebook, IBM,  Galois, AT&T,  JaneStreet y la NASA.
Line 35: Line 35:
 ==== Material  ==== ==== Material  ====
  
-  * //Learn you a Haskell for great good: A beginner's guide//. Lipovača M., No Starch Press, 1º  Edición, 2011. ([[http://learnyouahaskell.com|disponible online:]])   +  * //Learn you a Haskell for great good: A beginner's guide//. Lipovača M., No Starch Press, 1º  Edición, 2011. ([[http://learnyouahaskell.com|disponible online]])   
-  * //Programming in Haskell//. Hutton. G. Cambridge University Press. 2º Edición, 2016. ([[http://www.cs.nott.ac.uk/~pszgmh/pih.html|disponible online:]]) +  * //Programming in Haskell//. Hutton. G. Cambridge University Press. 2º Edición, 2016. ([[http://www.cs.nott.ac.uk/~pszgmh/pih.html|disponible online]]) 
   * //Thinking functionally with Haskell//. Richard Bird. Cambridge University Press. 1º Edición, 2015.   * //Thinking functionally with Haskell//. Richard Bird. Cambridge University Press. 1º Edición, 2015.
 ==== Contacto ==== ==== Contacto ====
 Federico Olmedo, Oficia 311N, [[folmedo@dcc.uchile.cl|email]] Federico Olmedo, Oficia 311N, [[folmedo@dcc.uchile.cl|email]]