#ProjectAmber

2026-02-06

#ProjectAmber just introduced a new design proposal for Carrier Classes & Carrier Interfaces.

The goal? Extend record-style modeling to more Java types - without losing concise state declarations, derived methods, or pattern matching.

Read more ⇨ bit.ly/46jYPn2

#Java #InfoQ #OpenJDK #SoftwareDevelopment

JAVAPROjavapro
2025-12-30

Are you using parallelStream() without profiling? Or still writing Collectors.toList() manually? have evolved—Mihaela Gheorghe-Roman breaks down what modern offers you from 8 to 24: javapro.io/2025/11/13/java-str

@openjdk

JAVAPROjavapro
2025-12-22

Still coupling logic and data in your code? with records and lets you model valid states cleanly and move logic out of your types.

Learn how, step-by-step with @BalaRawool: javapro.io/2025/11/11/writing-

Tech Talks Weeklytechtalksweekly
2025-11-25

3️⃣ "Where is the Java language going?"
by @briangoetz
+65k views ⸱ 20 Apr 2025 ⸱ 00h 45m 31s
youtube.com/watch?v=1dY57CDxR1

JAVAPROjavapro
2025-11-14

Complex expressions buried in nested code? ’s sealed types + make business logic more readable & testable. @BalaRawool walks through a real-world example.

Read his article: javapro.io/2025/11/11/writing-

JAVAPROjavapro
2025-11-13

Still writing verbose loops in ? Streams have evolved far beyond map() & filter()—from takeWhile() to mapMulti() to gather(). Mihaela Gheorghe-Roman traces the full journey from Java 8 to 24.

Stay current: javapro.io/2025/11/13/java-str

@openjdk

JAVAPROjavapro
2025-11-11

How do you make code more readable and robust? With Algebraic Data Types (records + sealed types) and , you can encode valid state and simplify logic—without extra libraries.

Full guide by Balkrishna Rawool: javapro.io/2025/11/11/writing-

Frederic Thevenetfred@fthevenet.eu
2025-10-15

"#Java is too verbose", Part Deux

I have to admit that I had not paid too much attention to JEP 512 until now; after all, I'm not really the target audience.

But then this happened: my 13yo came back from school and told me that since he had been studying Pythagoras' theorem earlier that day, he decided to kill time in between classes by writing a small program on his Casio calculator to check if a triangle was right-angled or not. (I know, I know, that kid's well on his way to become a huge nerd, just like dear old Dad...).
But then he wasn't satisfied with how limiting the calculator was, so he decided to redo his program on his computer using Scratch once he was back at home.

While he was busy hacking away, that got me thinking "hey, wasn't there a JEP that aimed at making java code easier to understand for beginners?", and so I quickly put together my own java-based version, with one explicit goal: making it as easy as possible to explain to a 13yo.
And I have to say I'm pretty impressed with the result! The code below is 100% legal java code: just save it into a file and run java myFile to run it. Period. Absolutely nothing more is required.

Sure, it's not going to win over those with severe curly brackets allergies or those for which trailing semicolons are an insurmontable chore, but IMO, it is genuinely accessible to a budding programmer.
Well done, #projectAmber!

Java  code sample:
```
// Ceci n'est pas une main...
void main() {
    do {
        try {
            int[] cotés = new int[3];
            // On saisit les longueurs des cotés de son triangle
            // Puis on essaye de les transformer en nombre entier
            String longueur1 = IO.readln("Longueur du premier coté=");
            cotés[0] = Integer.parseInt(longueur1);
            String longueur2 = IO.readln("Longueur du deuxième coté=");
            cotés[1] = Integer.parseInt(longueur2);
            String longueur3 = IO.readln("Longueur du troisième coté=");
            cotés[2] = Integer.parseInt(longueur3);

            // On tri les longueurs des cotés de la plus petite à la plus grande
            Arrays.sort(cotés);

            // On applique le théorème de Pythagore
            if (cotés[2] * cotés[2] == (cotés[0] * cotés[0]) + (cotés[1] * cotés[1])) {
                IO.println("Le triangle de cotés " + cotés[0] + ", " + cotés[1] + " et " + cotés[2] + " est rectangle! 🎉");
            } else {
                IO.println("Le triangle de cotés " + cotés[0] + ", " + cotés[1] + " et " + cotés[2] + " n'est pas rectangle! 😔");
            }
        } catch (Exception exception) { // On arrive ici si une erreur s'est produite
            IO.println("Oh non, une erreur!! 😓 " + exception.getLocalizedMessage());
        }
        // On choisit si l'on veut tester un autre triangle ou quitter
    } while (IO.readln("Continuer? (O/N)=").equalsIgnoreCase("O"));
Ana-Maria Mihalceanuammbra1508
2025-09-03

Always a pleasure to listen to @JosePaumard speaking about changes in after JDK21❣️

2025-08-25

Deep dive analysis: we examine #JDK25 and predict what features have, or could be, targeted for #JDK26.

Read on #InfoQ: bit.ly/3HQJwZY

#Java #ProjectAmber #ProjectLoom #ProjectPanama #ProjectLeyden #JEP #SoftwareDevelopment

2025-02-13

💡 Dive into our in-depth analysis of #JDK24 and get a sneak peek into what's on the horizon for #JDK25.

Read more on #InfoQ 👉 bit.ly/3X2gmeL

#Java #ProjectAmber #ProjectLoom #ProjectPanama #ProjectLeyden #JEP

2024-08-23

Deep dive analysis: we examine #JDK23 and predict what features have, or could be, targeted for #JDK24.

Read on #InfoQ: bit.ly/4dY7sFn

#Java #ProjectAmber #ProjectLoom #ProjectPanama #ProjectValhalla #SoftwareDevelopment

2024-03-05

💡Dive into our in-depth analysis of #JDK22 and get a sneak peek into what's on the horizon for #JDK23.

Read more on #InfoQ: bit.ly/430eyF3

#Java #OpenJDK #JEP #ProjectAmber #ProjectLoom #ProjectPanama

2024-01-10

JEP 447, Statements before super(...) (Preview), has been delivered for JDK 22 after its review concluded. This JEP, which is part of Project Amber, aims to allow statements before super() calls in constructors without referencing an instance being created while still maintaining the safety and initialization guarantees for constructors.

infoq.com/news/2024/01/java-co

#JDK22 #ProjectAmber #JavaDevelopers #java

2023-09-04

Dive into our in-depth analysis of #JDK21 and get a sneak peek into what's on the horizon for #JDK22.

Read more on #InfoQ: bit.ly/3sK6Ctf

#Java #OpenJDK #ProjectAmber #ProjectLoom #ProjectPanama

OpenJDKopenjdk
2023-06-13
OpenJDKopenjdk
2023-04-08

Java Language Futures, Spring 2023 Edition by
@stuartmarks

youtube.com/watch?v=NA-sB3zvluE

2023-03-23

🆕 #Java20 is now generally available!

This release features (7) #JEPs that provide a continued contribution toward #ProjectAmber, #ProjectLoom & #ProjectPanama along with new rounds of preview and incubation.

We examine a few of these new features here, on #InfoQ: bit.ly/3LKvRDf

#Java #Oracle

OpenJDKopenjdk
2023-03-22

Data-Oriented Programming with Records, Sealed Classes, Text Blocks, and More

presented by Gavin Bierman at JavaOne 2022

inside.java/2023/03/09/data-or

2023-03-10

Deep dive analysis: we examine #JDK20 and predict what features may be targeted for #JDK21.

Read on #InfoQ: bit.ly/3LgPse6

#Java #ProjectAmber #ProjectLoom #ProjectPanama

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst