YoVDO

The Many Shapes of Polymorphism

Offered By: Devoxx via YouTube

Tags

Devoxx Courses Java Courses Scala Courses Polymorphism Courses Type System Courses Adapter Pattern Courses Programming Language Design Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the various forms of polymorphism and their impact on programming language design and usage in this 47-minute Devoxx conference talk. Delve into how type systems influence code structure and program quality through real-life examples in Java and Scala. Examine the evolution of programs as new features and behaviors are added, comparing the results across different approaches. Investigate the coexistence of language features like pattern matching and classes. Learn about optical illusions in programming, the importance of types, and the latest discoveries in type systems. Analyze the hypothesis that polymorphism usage defines code shape through practical examples. Compare subtype, ad-hoc, and generic polymorphism, exploring their combinations and applications in polyglot programming. Consider whether type classes can replace subtype polymorphism and their relevance beyond functional programming. Gain insights into type inference, subtypes, and Scala's role as a bridge between object-oriented and functional programming paradigms.

Syllabus

Intro
Optical Illusion
Why do we use Types in programming languages?
A type system is a tractable syntactic method for proving the absence of certain program behaviors by classifying phrases according to the kinds of values they compute.'
The need for polymorphism
There are new discoveries in type systems
Hypothesis: the way the Polymorphism is used defines the shape of our code
Let's start working
Let's try (real) subtype polymorphism
We're mixing domain logic and behaviour
Adapter Pattern
Ad-Hoc polymorphism
Type class cannot provide new types at runtime
Mixing different types of polymorphism
Mix subtype polymorphism with generic
Mix generic polymorphism with ad-hoc?
Polyglot programming
Can type classes replace subtype polymorphism?
Are type classes only for Functional Programming language?
Addendum
Thank you for your time Feedback please!
Scala is a bridge from OOP to FP world
Type inference and subtypes


Taught by

Devoxx

Related Courses

Play by Play: Developing Microservices and Mobile Apps with JHipster
Pluralsight
Software Archaeology - Learning from the Landing on the Moon
Devoxx via YouTube
Create an Eco-Friendly World with Green Software Engineering
Devoxx via YouTube
Platform Building for Data Mesh - Show Me How It Is Done
Devoxx via YouTube
The Hitchhiker's Guide to Software Architecture and Design
Devoxx via YouTube