Skip to content
0:00 / 0:00

#parametricpolymorphism#valuetypes#jvm

Adventures in Parametric Polymorphism

Java

276K subscribers • 17 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Brian Goetz

Advanced. Deep dive for people who know the field.

12K views10 years ago2 recommendations

Programming languagesSystems programmingJava and the JVMLanguage design and type systemsCompilers and interpreters

Brian Goetz discusses the challenges and design space of parametric polymorphism and value types for the JVM.

Brian Goetz at the JVM Language Summit 2016

Why it's here

2 people recommend this

What people say. Linked to explain the upcoming JVM value types and their semantics compared to structs.

Moments people linked to

u/dustofnationsin r/programming • Recommends

On “Oracle is massively ramping up audits of Java customers it claims are in breach of its licences – six years after it bought Sun Microsystems”

No, they are explicitly _not_ just structs. This is the most common thing people immediately say when they hear about value types. Here's the direct answer: link to this video Value types have very clear semantics: - No identity - Immutable - Has methods, fields, interfaces, encapsulation, generic, etc - Optimisable - Pass-by-value Structs don't have clear or fixed semantics. They're more complex. See: link to this video And yes, other languages have value types. But Java is trying to do it in a way that fulfils the criteria set out earlier.
2View on Reddit

u/alexelcuMonix.ioin r/scala • Recommends

On “Why I Introduced Scala In Our Project”

What does "*type ensurer*" means? If you're referring to what I think you do, that has been a good thing. Also, what's the problem with primitive types? They are only stack-allocated values and the real problem is that we cannot define our own stack-allocated values. But they are definitely coming on the JVM, see this presentation: link to this video The existence of "null" can be a PITA, but I'm not experiencing problems with Scala's libraries. The importance of its existence is a little overblown by critics imho, as it tends to go away with a good Option type and Java isn't even unique in this regard, as "null" is present in the top 30 languages (with exceptions like Haskell and Ocaml, which depend…