February 21-23, 2024
Montreal, Canada

A N M Bazlur Rahman

A N M Bazlur Rahman

A N M Bazlur Rahman is a Toronto-based senior Java technologist and Java Champion. He leads the Java User Group Bangladesh, contributes as an InfoQ and Foojay.io editor, and speaks at international conferences including Devoxx and ConFoo.

He is the author of *Modern Concurrency in Java* (O’Reilly) and focuses on modern Java features, high-performance concurrency: https://www.oreilly.com/library/view/modern-concurrency-in/9781098165406/

Proposals - Montreal 2024

Pattern Matching in Java, Kotlin, & Scala: A Comparison

This talk delves into the intricacies of pattern matching across three popular languages. Explore Java's JEP 443, JEP 441, Kotlin's and Scala's handling of unused variables, pattern matching, and the common use of underscores. Gain insights into enhancing code readability and future language evolution. Join us for this illuminating comparative study.

AI in Code Creation: Innovation or Inhibition?

AI's role in code creation is reshaping software development, offering efficiency and reducing errors. This talk will explore AI-driven coding tools and their impact, weighing the benefits of increased accessibility against potential drawbacks like job loss and ethical concerns. We'll question whether reliance on AI in coding is a long-term boon or bane for the industry. Join us for this critical examination.

A tale of two cities: blocking code vs. non-blocking code

In this session, the evolution of non-blocking code strategies will be explored, highlighting how they can enhance application throughput. Beginning with Java's concurrency model's inception, the discussion will cover Future/Callable, CompletableFuture, a glimpse into reactive programming, and conclude with Project Loom's introduction in Java 21. The talk will shed light on the various approaches to writing non-blocking code.

Virtual Threads: Ushering In a New Era of Concurrency

This talk focuses on Project Loom's virtual threads, designed to enhance concurrent applications in Java. Starting with an overview of virtual threads through JEPs 425, 436, and 444, it discusses their goals and JDK integration. Practical examples demonstrate creation and management via the Executors API, compatibility with existing code, and an exploration of implementation, modern problem-solving, and potential shortcomings.

Breaking Java Stereotypes: It's Not Your Dad's Language

Join us to explore Java's transformation into a modern, lean tool. We'll highlight its new features like flexible main methods, records, and sealed classes that boost expressiveness. We'll delve into pattern matching, Unnamed Patterns & Variables, and touch on improved concurrency with virtual threads. The talk will unravel the misconceptions about Java being an outdated language by showcasing its transformation into a contemporary tool.

Montreal 2024 sponsored by