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

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

CJ02 – Técnicas avanzadas en java 1.4 y 5.0
2. Manejo de memoria Manejo de memoria estática
Métodos y parámetros.
Interprete o máquina real
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Lenguaje PHP Capítulo 4.
Programación Interactiva Manejo de Excepciones
Programación Interactiva Fundamentos de Java. 2 Ejecución de un programa Para Java una clase ejecutable es aquella que es pública y tiene un método main()
Programación Interactiva Introducción a Java
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 Clases y Objetos Silvia Larrayoz Leire Urriza.
Lenguaje de programación Java
Orientación a Objetos con Java SE
El proceso de desarrollo de software
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Desarrollo de Aplicaciones para Internet
Algoritmos y Estructura de Datos
Tema 2: Lenguaje PHP básico
Luis Miguel Li Loo Luis Miguel Burgos Jorge Luis Ocampo.
Tema 1. Introducción a la programación (Lenguaje java).
Tipos de Datos.
Objetos y Clases en Java
Programación Orientada a Objetos en Java
HERENCIA.
Método en Java.
Primer Programa en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Material de apoyo Unidad 2 Estructura de datos
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
Java Mayra M. Méndez Anota.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
6. Herencia. Clases abstractas. Genericidad
Variables polimórficas (plantillas): definición, uso y aplicación
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Programación III Clase 07 Funciones.
El lenguaje de programación Java
JAVA J.A.C..
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Programación III Clase 06 Funciones.
3.  Recursividad.
Programación Orientada a Aspectos (POA)
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Alcance Dinámico La Asociación Actual para un Nombre dado es el encontrado recientemente durante la ejecución, y no a sido destruido aun por el retornado.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Detalles Generales sobre Java
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
CONCEPTOS.
Ficheros: Ruby Estructura de Datos II.
Clases “ Es una Abstracción de un elemento del mundo real ”
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
U niversidad de G uadalajara Centro Universitario de Ciencias Exactas e Ingenierías Ponentes: Muñoz Guzmán Ramón Gallardo Olivares Mario Solís Flores José.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Scala Programming Language Martin Alejandro Melo - Programacion Funcional - UNQ

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

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

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

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 }

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

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 }

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

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.

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))

Ejemplos Martin Alejandro Melo - Programacion Funcional - UNQ

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.

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