• facebook
  • flickr
  • google
  • instagram
  • lastfm
  • linkedin
  • spotify
  • twitter
  • Goodreads
  • GitHub
  • juanignaciosl.github.io
  • Medium
Functional Programming Principles in Scala

Functional Programming Principles in Scala

Acabo de completar “Functional Programming Principles in Scala“, el principal curso de Scala y programación funcional en Coursera. “With Distinction”, para más señas, por currarme el 100% de los ejercicios :-) Conclusiones:

Scala y programación funcional

La principal motivación para el curso era aprender Scala. Es uno de los principales lenguajes a los que están migrando gente como Twitter y Tumblr cuando se topan con problemas de escalabilidad, y quería conocer por qué. Pero, más importante, quería formarme en programación funcional. Aprender un lenguaje en tu mismo paradigma es algo que se puede hacer con bastante facilidad a base de libros. Sin embargo, cambiar tu forma de pensar exige un esfuerzo más guiado. Desde las clases de cálculo lambda en 1º no había vuelto a tomar contacto con esto.

Me encanta Scala. La práctica totalidad de mi carrera profesional ha sido con Java orientado a web, pero he trasteado con otros lenguajes como Python o Ruby. Sin embargo, ninguno me había causado la impresión de Scala. Por un lado tiene su faceta de “Java mejorado” con características como la inferencia de tipos, que le hacen ser escueto, con sensación de estar escribiendo en lenguaje dinámicamente tipado como Javascript o Ruby a pesar de ser (muy) fuertemente tipado. Por otro, es funcionalmente completo, lo cual, dominado, debería generar software más eficiente y claro, entre otras ventajas. Altisimamente recomendable, aunque difícil de dominar. Y, aunque no vayas a programar en Scala, Java 8 está a la vuelta de la esquina ;-)

El curso en concreto, y Coursera

El curso está preparado por Martin Odersky, profesor (entre otras cosas) y creador de (entre otras cosas) Scala, así que la calidad del material estaba garantizada. Aproximadamente una hora de vídeos semanales, y entre 4 y 8 horas de ejercicios prácticos que son validados en el servidor (con una nota de 0 a 10). Es exigente. No es el típico curso online en el que te regalan el título y basta con ponerse delante de los apuntes para hacer el test. Es complejo, interesante, y exige horas.

Y es alucinante poder proporcionar un servicio de tanta calidad de forma gratuita. Un 10.

¿Y ahora?

Por un lado, seguir formándome. Ya estoy cursando la segunda parte, Principles of Reactive Programming (primera edición de este curso, del anterior iban por la tercera). Por otro, a picar un proyecto, a ver qué sale…

2 Comentarios

  1. Dave · septiembre 25, 2014

    Hola Juan: Quería saber si te parece útil pagar por el “Certificado Verificado” del curso.
    Por lo leí no te dan crédito académico, sería lo mismo que hacer gratis.
    Abrazo!

  2. juanignaciosl · septiembre 25, 2014

    @Dave: la única razón que tendría para hacerlo sería colaborar con Coursera para pagarles por los servicios prestados, porque realmente el curso me pareció fantástico. Por lo demás, no.

¿Me dejas una respuesta?