Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
teaching:cc5111 [2013/05/15 08:32] – etanter | teaching:cc5111 [2015/12/10 13:48] – etanter | ||
---|---|---|---|
Line 10: | Line 10: | ||
<tr> | <tr> | ||
< | < | ||
- | < | + | < |
</tr> | </tr> | ||
<tr> | <tr> | ||
- | < | + | < |
- | < | + | < |
</tr> | </tr> | ||
</ | </ | ||
Line 24: | Line 24: | ||
Scala se puede ver como el fruto del **matrimonio de Java y Haskell**, con unos toques de Racket, Erlang, y Clojure, con múltiples mejoras. Java, por la programación con objetos, el ambiente de ejecución (JVM), y la interoperabilidad. Haskell, por la programación funcional, la sintaxis elegante, el pattern matching, el sistema de tipos muy expresivo con inferencia, y el soporte ligero para evaluación perezosa y estructuras infinitas. Racket, por las continuaciones y las macros. Erlang y Clojure, por la simplicidad del paralelismo y de la concurrencia. Las mejoras más notables incluyen //traits// para mejor reuso y modularidad, | Scala se puede ver como el fruto del **matrimonio de Java y Haskell**, con unos toques de Racket, Erlang, y Clojure, con múltiples mejoras. Java, por la programación con objetos, el ambiente de ejecución (JVM), y la interoperabilidad. Haskell, por la programación funcional, la sintaxis elegante, el pattern matching, el sistema de tipos muy expresivo con inferencia, y el soporte ligero para evaluación perezosa y estructuras infinitas. Racket, por las continuaciones y las macros. Erlang y Clojure, por la simplicidad del paralelismo y de la concurrencia. Las mejoras más notables incluyen //traits// para mejor reuso y modularidad, | ||
- | El resultado es una alta productividad, | + | El resultado es una alta productividad, |
**Al combinar lo mejor de la programación orientada a objetos y de la programación funcional con un sistema de tipos avanzado, Scala es un lenguaje altamente expresivo y flexible.** Permite que desarrolladores de bibliotecas usen abstracciones muy sofisticadas, | **Al combinar lo mejor de la programación orientada a objetos y de la programación funcional con un sistema de tipos avanzado, Scala es un lenguaje altamente expresivo y flexible.** Permite que desarrolladores de bibliotecas usen abstracciones muy sofisticadas, | ||
**El curso entrega las herramientas necesarias para ser efectivo en el desarrollo de software en Scala, tanto para desarrollar aplicaciones como para desarrollar bibliotecas robustas.** Esto implica el estudio de varios conceptos y mecanismos avanzados de programación, | **El curso entrega las herramientas necesarias para ser efectivo en el desarrollo de software en Scala, tanto para desarrollar aplicaciones como para desarrollar bibliotecas robustas.** Esto implica el estudio de varios conceptos y mecanismos avanzados de programación, | ||
+ | |||
+ | ** Se alternarán clases expositivas orientadas a los conceptos de programación en Scala, y clases tutoriales enfocadas al uso de herramientas más usadas en la industria (Play para programación Web, Akka para programación reactiva, Scala.js para clientes Web, Slick para bases de datos).** | ||
+ | |||
+ | |||
**Tópicos: | **Tópicos: | ||
Line 43: | Line 47: | ||
* mecanismos avanzados: // | * mecanismos avanzados: // | ||
- | **Evaluación: | + | **Evaluación: |
+ | |||
+ | Mini-controles regulares (15-30 min en horario de clases). | ||
+ | Mini-tareas | ||
+ | Proyecto final en grupo. | ||
+ | Se exime de examen con 5.0. | ||
{{teaching: | {{teaching: |