La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ.

Presentaciones similares


Presentación del tema: "Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ."— Transcripción de la presentación:

1 Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ

2 Guia  ¿Por qué Scala?.  Caracteristicas.  Breve Sintaxis.  Overloading.  Hello World.  val y var.  Case Classes.  Ejemplos.  Ventajas Y Desventajas.  Bibliografia Online. Martin Alejandro Melo - Programacion Funcional - UNQ

3 ¿Por qué Scala? Martin Alejandro Melo - Programacion Funcional - UNQ

4 Caracteristicas  Tipado Estatico.  Funciona Sobre la JVM.  Tipos Algebraicos.  Pattern Matching.  Funciones Anónimas.  Lazy Evaluation.  Currificación.  Aplicación Parcial.  Alto Orden. Martin Alejandro Melo - Programacion Funcional - UNQ

5 Breve Sintaxis Martin Alejandro Melo - Programacion Funcional - UNQ class MiClase(algo: Any){ def imprimir(texto: String):Unit = { println(texto) } def sumar(x: Integer, y: Integer): Integer={ return x+y }

6 Mas Sintaxis Martin Alejandro Melo - Programacion Funcional - UNQ object MiObjeto { val incrementar(x: Integer):Integer = 1+x def incrementar(x: Integer) = 1+x var quince:Integer= 15 }  Funciones Anónimas:  (x,y) => x+y //Recibe 2 parametros.  Currificación:  def sumar(x:Integer)(y:Integer) = x+y

7 Overloading Martin Alejandro Melo - Programacion Funcional - UNQ  Permite escribir funciones con el mismo nombre pero que difieren en el tipo de parametros o la cantidad y/o el tipo de retorno. def sumar(x: Integer, y: Integer):Integer = { return x+y } def sumar(x: Float, z: Float):Float= { return x+z }

8 Hello World Martin Alejandro Melo - Programacion Funcional - UNQ object HelloWorld{ def main(args: Array[String]){ println(“Hello World”) }

9 Val Y Var Martin Alejandro Melo - Programacion Funcional - UNQ  Val: Son variables de solo lectura. Se usa para la definición de Constantes, funciones y también para lograr transparencia referencial.  Var: Son variables, que pueden cambiar de valor durante la ejecución.

10 Case Classes Martin Alejandro Melo - Programacion Funcional - UNQ  Son clases que exponen sus constructores.  Permiten el uso de Pattern Matching.  Definicion de Case Classes: case class TipTree case class Join(ti: TipTree, td: TipTree) extends TipTree case class Tip(x: Any) extends TipTree  Se instancias de la siguiente forma:  Tip(“asd”)  Join(Tip(33), Tip(42))

11 Ejemplos Martin Alejandro Melo - Programacion Funcional - UNQ

12 Ventajas y Desventajas Martin Alejandro Melo - Programacion Funcional - UNQ  Ventajas:  Overloading.  Objetos.  Mejor ambiente de desarrollo.  Mejor manejo de memoria heap.  Desventajas:  Sintaxis mas compleja.  No es Lazy por defecto.  Curva de aprendizaje.  Side Effects.

13 Bibliografia Online  Sitio Oficial: www.scala-lang.comwww.scala-lang.com  Documentacion: www.scala-lang.org/node/197www.scala-lang.org/node/197  Scala Reference Manuals: www.scala-lang.org/node/198www.scala-lang.org/node/198  Scala By Example: www.scala- lang.org/docu/files/ScalaByExample.pdfwww.scala- lang.org/docu/files/ScalaByExample.pdf Martin Alejandro Melo - Programacion Funcional - UNQ


Descargar ppt "Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ."

Presentaciones similares


Anuncios Google