Главная
Study mode:
on
1
Intro
2
Optical Illusion
3
Why do we use Types in programming languages?
4
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.'
5
The need for polymorphism
6
There are new discoveries in type systems
7
Hypothesis: the way the Polymorphism is used defines the shape of our code
8
Let's start working
9
Let's try (real) subtype polymorphism
10
We're mixing domain logic and behaviour
11
Adapter Pattern
12
Ad-Hoc polymorphism
13
Type class cannot provide new types at runtime
14
Mixing different types of polymorphism
15
Mix subtype polymorphism with generic
16
Mix generic polymorphism with ad-hoc?
17
Polyglot programming
18
Can type classes replace subtype polymorphism?
19
Are type classes only for Functional Programming language?
20
Addendum
21
Thank you for your time Feedback please!
22
Scala is a bridge from OOP to FP world
23
Type inference and subtypes
Description:
Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only! Grab it 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. Read more

The Many Shapes of Polymorphism

Devoxx
Add to list
0:00 / 0:00