¿Qué diferencia hay entre Class y Case Class?
Introducción a Scala y configuración del entorno de desarrollo
Introducción al curso y presentación de los objetivos
Scala en la historia
Instalando JVM, SBT y editores
Instalación de las herramientas
¡Hola, Mundo!
Fundamentos de Programación Funcional
Tipos de datos básicos
Inmutabilidad
Expresiones
Funciones
Colecciones: Secuencias, Conjuntos y Mapas
Tuplas y Objetos
La función de copy y el concepto de Lences
Conceptos básicos de Programación Funcional
Pattern Matching
Tail recursion
Agregación
Fundamentos teoricos
Funciones totales y parciales
Razonamiento inductivo
Razonamiento con tipos
Traits
Tipos genéricos
Tipos de datos algebraicos
Evaluación peresoza (Lazy)
Disyunciones: Option
Disyunciones: Either, try
Proyecto de Backend
Introducción e iniciación del proyecto
Modelo por Actores
Modelo de datos
Configuración de Slick
Controladores: Cómo obtener información de la base de datos
Controladores: Crear, actualizar y eliminar información de la base de datos
Computación paralela, asÃncrona y concurrente
Serialización
Validación
Manejo de errores en el proyecto
Exportación del proyecto
Conclusiones
Clase final
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
Paga en 4 cuotas sin intereses
Termina en:
Carlos Daniel Sanchez
Aportes 6
Preguntas 0
¿Qué diferencia hay entre Class y Case Class?
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.
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.
ML (Meta language) es un lenguaje de programación académico que ha influenciado muchos lenguajes funcionales modernos.
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.
Es un error usar Strings en vez de tipos, ya que el compilador no puede probar nada cuando hay cambios.
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?