Gavinbierman
Gavin Bierman - Consulting Member Of Technical Staff
Gavin Bierman is a Consulting Member of Technical Staff based at Oracle Labs UK. He is a member of the Programming Language Research Group and is currently a member of the Java team helping design the next versions of Java.
His interests are broadly in the areas of programming language design and formalisation. He has published papers on Java, C#, TypeScript, databases (object-oriented, XML and noSQL), type systems, operational semantics, separation logic, dynamic software updating, relational algebra, lambda calculus, control operators, modal logic, proof theory and category theory.
He joined Oracle in March 2014. Previously he was a senior researcher at Microsoft Research Cambridge from March 2004 until March 2014. Before that he was a lecturer at the University of Cambridge Computer Laboratory and a Fellow, College Lecturer and Director of Studies at St John’s College, Cambridge. He has a PhD from the University of Cambridge, and a BSc from Imperial College.
Papers and talks can be found here.
Posts
- JEP targeted to JDK 25: 513: Flexible Constructor Bodies on May 19, 2025
- JEP targeted to JDK 25: 512: Compact Source Files and Instance Main Methods on May 6, 2025
- JEP targeted to JDK 25: 511: Module Import Declarations on May 2, 2025
- JEP targeted to JDK 24: 495: Simple Source Files and Instance Main Methods (4th Preview) on November 18, 2024
- JEP targeted to JDK 24: 494: Module Import Declarations (2nd Preview) on November 18, 2024
- JEP targeted to JDK 23: 482: Flexible Constructor Bodies (Second Preview) on May 31, 2024
- JEP targeted to JDK 23: 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) on May 28, 2024
- JEP targeted to JDK 23: 476: Module Import Declarations (Preview) on May 6, 2024
- JEP targeted to JDK 22: 447: Statements before super(...) (Preview) on November 23, 2023
- Patterns: Exhaustiveness, Unconditionality, and Remainder on May 26, 2023
- JEP proposed to target JDK 21: 441: Pattern Matching for switch on May 5, 2023
- JEP proposed to target JDK 21: 440: Record Patterns on May 5, 2023
- New candidate JEP: 433: Pattern Matching for switch (4th Preview) on October 19, 2022
- New candidate JEP: 432: Record Patterns (2nd Preview) on October 19, 2022
- JEP proposed to target JDK 19: Record Patterns (Preview) on May 13, 2022
- New candidate JEP: 427: Pattern Matching for switch (Third Preview) on April 26, 2022
- JEP proposed to target JDK 18: 420: Pattern Matching for switch (Second Preview) on November 16, 2021
- Gavin Bierman explains Pattern Matching for switch, a Java 17 preview feature on October 1, 2021
- Pattern Matching in the Java Object Model on January 6, 2021
- Specs update on December 22, 2020
- New candidate JEP: 395: Records on October 9, 2020
- New candidate JEP: 394: Pattern Matching for instanceof on October 6, 2020
- Finalizing in JDK 16 - Records on July 27, 2020
- Finalizing in JDK 16 - Pattern matching for instanceof on July 27, 2020
- Pattern Matching for Java on September 7, 2018
- Extending switch for Pattern Matching on April 1, 2017
Videos
- Key Java Language Updates From 2020 to 2025 on June 6, 2025
- Java Language Futures - Fall 2024 Edition on October 30, 2024
- Java Language Futures - Spring 2024 Edition on July 1, 2024
- Data-Oriented Programming in Java on March 9, 2023
- Java Language Futures: Spring 2022 Edition on April 19, 2022
- Java Language Futures: Late 2021 Edition on September 21, 2021
- Java Language Futures: Spring 2021 on April 8, 2021
- OracleDevLive Preview | Gavin Bierman on Java Language Futures on February 24, 2021
- Java Language Futures - Mid 2020 Edition on September 17, 2020
Podcasts
- Episode 28 “Java Language - State of the Union” on December 23, 2022
- Episode 17 “Pattern Matching for switch” with Gavin Bierman on June 13, 2021
- Episode 4 “Record Classes” with Gavin Bierman on October 5, 2020