Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

The Many Shapes of Polymorphism

Devoxx via YouTube

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

Reviews

Start your review of The Many Shapes of Polymorphism

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.