Skip to content
0:00 / 0:00

#java#languagedesign#virtualthreads

Postcards from the Peak of Complexity by Brian Goetz

Devoxx

172K subscribers • 52 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Brian Goetz, Java Language Architect
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

9.1K views2 years ago2 recommendations

Programming languagesSoftware designLanguage design and type systemsJava and the JVMConcurrency and parallelism

Brian Goetz shares lessons and war stories from evolving the Java platform over decades, focusing on features like generics and virtual threads.

The Java platform has added many major features over the years -- generics, lambdas, modules, virtual threads, and others. Each of these is a bet-the-platform effort, in that a mistake could mean permanent damage. While each feature is unique, such decade-scale evolution projects often have surprising structural similarities. In this talk, Java Language Architect Brian Goetz offers some insights, war stories, and lessons learned from the development of several major Java features.

Why it's here

2 people recommend this

What people say. Recommended for insights into language design trade-offs, particularly regarding Java's approach to concurrency compared to other languages.

u/joemwangiin r/ProgrammingLanguages • Recommends

On “How Java plans to integrate "type classes" for language extension”

If java had such a principle, right now we would be in a mess of having async-await code everywhere in our libraries just for IO calls. This would have introduced colour functions that are constraining or hard to debug, even if you get assistance from an IDE :) As a matter of fact, Zig is actually trying to fight this by redesigning its IO again. Python saw java made the right choice and they want to also introduce virtual threads too because most of its core library is not IO compatible. It just shows careful planning and implementing features should be done properly. And honestly, this should take it's time, and what I really want now for my project is value types proposed by Valhalla. I s…

u/pron98in r/Zig • Recommends

On “Why did you pick Zig over Rust?”

> Zig is "worse is better", and Rust is "do the right thing". I sort of see where you're trying to go there, but I disagree. Doing the right thing essentially means doing the utmost not to compromise on what's right for the user, but that's not what Rust does. In fact, the original "wrose is better" article says that "doing the right thing" means, among other thigs, that "It is more important for the interface to be simple than the implementation"; does that sound like Rust? Rust is full of compromises on user experience and interface simplicity, it just doesn't compromise on some principles (such as memory safety) which are axiomatically declared to be "the right thing, at any cost". If an…