We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
[VDIASI23] - Venkat Subramaniam - Keynote: Where Promises Fall Short
Where Promises Fall Short: Understanding Java Concurrency, Exceptions, and Asynchronous Programming through Imperative and Functional Approaches.
- Promises in Java don’t always work as expected.
- Imperative style code can lead to complex and messy code when dealing with exceptions.
- Functional style code can be simpler and easier to understand, but doesn’t handle exceptions well.
-
Asynchronous programming can be achieved through Java’s
CompletableFuture
class, but it’s not easy to write and debug. - The concept of non-blocking I/O is important in programming, but it’s not always clear how to implement it.
- The Java Streams API is a powerful tool for writing concise and efficient code, but it can be confusing for beginners.
- Writing concurrent code in Java can be challenging, and mistakes can lead to bugs and errors.
-
The
thenApply
function in Java is often misunderstood and can be confusing to use. - Promises in Java are similar to the concept of futures in other programming languages, but have some key differences.
- Java 8 introduced the concept of lambda expressions and method references, which made functional programming more accessible in Java.
-
The
map
function in Java is often used to transform data in a functional pipeline, but it can be confusing for beginners. - Writing code that is easy to read and understand is important, but can be challenging when dealing with complex topics like concurrency and exceptions.
-
Java 19 introduced a new
get
method forCompletableFuture
, which makes it easier to write concurrent code that is easy to read and understand.