Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ScalaMDE Sesión 01 - 2014-02-18

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

ScalaMDE Sesión 01 - 2014-02-18

Primera sesión del meetup ScalaMDE. Presentación realizada por @ykiriki, @juanpavergara y @d1egoaz

Avatar for Diego Alvarez Zuluaga

Diego Alvarez Zuluaga

February 18, 2014

Other Decks in Programming

Transcript

  1. Agenda • Objetivos y motivación • Introducción a Scala ◦

    Java Interop ◦ Type Inference ◦ Concurrency & Distribution ◦ Traits ◦ Pattern Matching ◦ Higher-Order Functions ◦ Curva de aprendizaje ◦ IDE • Jamie Allen, comida? • Sesiones futuras?
  2. Quiénes Somos? @ykiriki Software developer. Distributed systems enthusiast. DDDesign fanatic.

    My blog about SW: http://yujikiriki.com @juanpavergara Software craftsman @d1egoaz Going Reactive! Software Developer, about.me/d1egoaz
  3. Objetivos de ScalaMDE • Entregar y recibir conocimiento. • Conocer

    gente con mismos intereses. • Generar comunidad alrededor de temas de interés comunes en ingeniería de software.
  4. Lo que haremos en ScalaMDE • Charlas acerca del lenguaje.

    • Charlas de tecnologías / librerías / empresas que usan scala. • Ejercicios de programación para fortalecer habilidades técnicas.
  5. Scala ¿De dónde viene? Su diseño comienza en 2001 en

    École Polytechnique Fédérale de Lausanne (EPFL) por Martin Odersky, autor de Generic Java y de javac, compilador de Java. Scala fue liberado a finales de 2003 para JVM y en 2004 para .NET. La versión 2.0 fue liberada en Marzo de 2006. En 2012 se abandonó la versión .NET La versión actual de Scala es la 2.10.3
  6. ¿Por qué Scala? • Corre sobre la JVM. Plataforma estable

    y robusta. • Es 100% objetual. • Es funcional. • El código en Scala es conciso y legible. • Soporte comercial de Typesafe. • Sus capacidades han sido demostradas en uso en Twitter, Netflix, Linkedin, Foursquare, entre otros.
  7. Java Interop • Corre sobre la JVM ya que compila

    a bytecode. • Puede integrarse con librerías y frameworks escritos en Java*
  8. Tipado • Statically typed - Tipado estático ◦ (Estático en

    tiempo de compilación) ◦ (Dinámico en tiempo de ejecución) • Type Inference
  9. y mucho más... Inmutabilidad Tuplas Map Objects For-Comprehensions Modelo de

    Actores SBT REPL Type classes Macros Monads Implicits Lazy