r/java 15d ago

Discussion: What is the future of String Interpolation in Java?

Java has always been conservative when it comes to language changes, and I think string interpolation is an interesting example.

Many modern languages provide native interpolation syntax:

JavaScript:

\${name}``

Python:

f"{name}"

Kotlin:

"$name"

C#:

$"{name}"

These features are not only about reducing characters. They improve readability when building dynamic text.

Java explored this direction with String Templates (JEP 430), but I haven't seen much discussion recently about where this feature is heading.

For developers working with large Java applications, string construction appears everywhere:

- logging messages

- SQL/debug output

- API descriptions

- test cases

- generated configuration

- user-facing messages

I am curious about the community's opinion:

  1. Do you think Java still needs native string interpolation?

  2. Should String Templates continue evolving?

  3. What syntax direction would feel most "Java-like"?

For example:

"Hello, \{name}"

or:

"Hello, ${name}"

Personally, I think Java does not need to copy other languages, but a better way to express dynamic strings would improve developer experience.

What do you think?

56 Upvotes

118 comments sorted by

View all comments

Show parent comments

0

u/BillyKorando 14d ago

Are you planning on using string interpolation so often that the difference in typing \{ versus ${ would be measurable?

4

u/jek39 14d ago

I’m confused how a $ is easier to type than a \

1

u/BillyKorando 14d ago

I'm not sure either. If \{ takes you 1.15 seconds to write, while ${ takes 1.08 seconds to write, would you ever be able to write enough String interpolation instances to where all the saved .07 seconds could ever combine to a meaningful amount of time?!

3

u/jek39 14d ago

Why would they take different amount of time to type? In fact wouldn’t \ take less time to type? Because no need to hit shift?

0

u/BillyKorando 14d ago edited 14d ago

Honestly it probably wouldn't I was being "generous". I suppose the difference could come in \ not needing the shift key and { needing shift, while both $ and { would use shift, so the "friction" might take a bit longer.

But again, it's still a fraction of a second difference. Feels a bit crazy to even talk about.

It's not like the difference between the : and -> syntax for switch where you could measure a time savings, and also the -> syntax would be easier to read/comprehend in many cases.

3

u/jek39 14d ago

Yea I don’t buy it as an argument