No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

18 Días
23 Hrs
21 Min
6 Seg
Curso de Scala básico

Curso de Scala básico

Carlos Daniel Sanchez

Carlos Daniel Sanchez

Razonamiento con tipos

18/36
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

¿Qué diferencia hay entre Class y Case Class?

Razonamiento con tipos

Tipados vs. Dinámicos

Los tipos de datos son muy importantes al momento de crear sistemas que escalen. Los tipos mantienen la consistencia de un sistema, y se vuelven una manera de probarlo.

Sistema de tipos

Los tipos son una parte crítica para hacer abstracciones. Se vuelven una manera de documentar las posibilidades que tenemos. Scala, a diferencia de Java, tiene un sistema de tipos mucho más potente y flexible.

El legado de ML

ML (Meta language) es un lenguaje de programación académico que ha influenciado muchos lenguajes funcionales modernos.

Proposiciones y pruebas

  • Los tipos, son proposiciones.
  • Los programas, son pruebas.

Nuestros programas son como una gran función matemática. El compilador se convierte en un razonador que prueba nuestro software con base en las proposiciones que le damos.

Tipos vs String

Es un error usar Strings en vez de tipos, ya que el compilador no puede probar nada cuando hay cambios.

Definición de tipos en Scala

  • Class
  • Case Class
  • Trait
  • Type alias
  • Generics
type PersonaId = Int
// defined type alias PersonaId

case class Persona(id: PersonaId, nombre:String)
// defined class Persona

type Estudiante = Persona
// defined type alias Estudiante

new Estudiante(1, "Daniel")
// res: Persona = Persona(1,Daniel)

Hice una función para derivar otras funciones, aunque no parece muy precisa.

El rasonamiento por tipos va ser muy usado y puede ser muy abastracto

El compilador nos ayuda buscar proposiciones si son faltas o verdades lo cual, es capza de detectar ese sentido

El sistema de tipados en scala, nos ayuda en la documentacion estructurada, con un lenguaje Metalanguage, es muy potente y flexible.