Skip to content

Commit

Permalink
Improving examples
Browse files Browse the repository at this point in the history
  • Loading branch information
jabrena committed May 31, 2024
1 parent ddb000b commit e761b6a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 26 deletions.
31 changes: 5 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,33 +28,12 @@ sdk env install

- [x] [Lambda Expressions](https://openjdk.org/jeps/126) (Functional interfaces, Functions, Supplier, Consumer & Predicates)
- [x] [Optional](https://openjdk.org/jeps/401)
- [x] Stream API
- [x] CompletableFuture & Structural Concurrency
- [x] Immutable Lists
- [x] [Stream API](https://openjdk.org/jeps/107) & [Gatherers](https://openjdk.org/jeps/461)
- [x] [CompletableFuture](https://openjdk.org/jeps/266) & [Structural Concurrency](https://openjdk.org/jeps/453)
- [x] [Immutable Lists](https://openjdk.org/jeps/269)
- [x] [Sealed Classes](https://openjdk.org/jeps/409)
- [x] Pattern Matching for Switch
- [x] Records & Record Patterns

## Functional programming timeline in Java

| Java Version | Feature | Date | Release notes |
|--------------|-------------------------------------------------------------------------------------|-----------|------------------------------------------------------------------------|
| Java 8 | - Lambda Expressions - Optional - Stream API - CompletableFuture | 18/3/2014 | https://www.oracle.com/java/technologies/javase/8-whats-new.html |
| Java 9 | - CompletableFuture updates | 21/9/2017 | https://www.oracle.com/java/technologies/javase/9-all-relnotes.html |
| Java 10 | - Optional updates - Immutable Lists | 20/3/2018 | https://www.oracle.com/java/technologies/javase/10-relnote-issues.html |
| Java 11 | - Not Predicate operator - Local-Variable Syntax for Lambda | 25/9/2018 | https://www.oracle.com/java/technologies/javase/11all-relnotes.html |
| Java 12 | - Teeing Collector - Pattern Matching | 19/3/2019 | https://www.oracle.com/java/technologies/javase/12-relnote-issues.html |
| Java 13 | - Switch Expressions enhancements | 17/9/2019 | https://www.oracle.com/java/technologies/javase/13-relnote-issues.html |
| Java 14 | - Records | 17/3/2020 | https://www.oracle.com/java/technologies/javase/14-relnote-issues.html |
| Java 15 | - Sealed Classes (Preview) | 15/9/2020 | https://www.oracle.com/java/technologies/javase/15-relnote-issues.html |
| Java 16 | - Sealed Classes (Preview) - Stream.toList | 16/3/2021 | https://www.oracle.com/java/technologies/javase/16-relnote-issues.html |
| Java 17 | - Sealed Classes (JEP 409) - Pattern Matching for Switch (JEP 406) (Preview) | 14/9/2021 | https://www.oracle.com/java/technologies/javase/17-relnote-issues.html |
| Java 18 | - Pattern Matching for switch (JEP 420) (Preview) | 22/3/2022 | https://www.oracle.com/java/technologies/javase/18all-relnotes.html |
| Java 19 | - Record Patterns - Pattern Matching for switch (JEP 427) (Preview) | 20/9/2022 | https://www.oracle.com/java/technologies/javase/19-relnote-issues.html |
| Java 20 | - Record Patterns (JEP 432) - Pattern Matching for Switch (JEP 433) (Preview) | 21/3/2023 | https://www.oracle.com/java/technologies/javase/20-relnote-issues.html |
| Java 21 | - Record Patterns (JEP 440) - Pattern Matching for switch (JEP 441) | 19/9/2023 | https://www.oracle.com/java/technologies/javase/21-relnote-issues.html |
| Java 22 | - Stream Gatherers (JEP 461) (Preview) | 19/3/2024 | https://www.oracle.com/java/technologies/javase/22-relnote-issues.html |

- [x] [Pattern Matching for Switch](https://openjdk.org/jeps/441)
- [x] [Records](https://openjdk.org/jeps/395) & [Record Patterns](https://openjdk.org/jeps/440)

## How to run the presentation in local?

Expand Down
20 changes: 20 additions & 0 deletions docs/timeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Functional programming timeline in Java

| Java Version | Feature | Date | Release notes |
|--------------|-------------------------------------------------------------------------------------|-----------|------------------------------------------------------------------------|
| Java 8 | - Lambda Expressions - Optional - Stream API - CompletableFuture | 18/3/2014 | https://www.oracle.com/java/technologies/javase/8-whats-new.html |
| Java 9 | - CompletableFuture updates | 21/9/2017 | https://www.oracle.com/java/technologies/javase/9-all-relnotes.html |
| Java 10 | - Optional updates - Immutable Lists | 20/3/2018 | https://www.oracle.com/java/technologies/javase/10-relnote-issues.html |
| Java 11 | - Not Predicate operator - Local-Variable Syntax for Lambda | 25/9/2018 | https://www.oracle.com/java/technologies/javase/11all-relnotes.html |
| Java 12 | - Teeing Collector - Pattern Matching | 19/3/2019 | https://www.oracle.com/java/technologies/javase/12-relnote-issues.html |
| Java 13 | - Switch Expressions enhancements | 17/9/2019 | https://www.oracle.com/java/technologies/javase/13-relnote-issues.html |
| Java 14 | - Records | 17/3/2020 | https://www.oracle.com/java/technologies/javase/14-relnote-issues.html |
| Java 15 | - Sealed Classes (Preview) | 15/9/2020 | https://www.oracle.com/java/technologies/javase/15-relnote-issues.html |
| Java 16 | - Sealed Classes (Preview) - Stream.toList | 16/3/2021 | https://www.oracle.com/java/technologies/javase/16-relnote-issues.html |
| Java 17 | - Sealed Classes (JEP 409) - Pattern Matching for Switch (JEP 406) (Preview) | 14/9/2021 | https://www.oracle.com/java/technologies/javase/17-relnote-issues.html |
| Java 18 | - Pattern Matching for switch (JEP 420) (Preview) | 22/3/2022 | https://www.oracle.com/java/technologies/javase/18all-relnotes.html |
| Java 19 | - Record Patterns - Pattern Matching for switch (JEP 427) (Preview) | 20/9/2022 | https://www.oracle.com/java/technologies/javase/19-relnote-issues.html |
| Java 20 | - Record Patterns (JEP 432) - Pattern Matching for Switch (JEP 433) (Preview) | 21/3/2023 | https://www.oracle.com/java/technologies/javase/20-relnote-issues.html |
| Java 21 | - Record Patterns (JEP 440) - Pattern Matching for switch (JEP 441) | 19/9/2023 | https://www.oracle.com/java/technologies/javase/21-relnote-issues.html |
| Java 22 | - Stream Gatherers (JEP 461) (Preview) | 19/3/2024 | https://www.oracle.com/java/technologies/javase/22-relnote-issues.html |

0 comments on commit e761b6a

Please sign in to comment.