Java 21 - Language Features and Beyond
ฝัง
- เผยแพร่เมื่อ 5 ก.ย. 2024
- Language Features and Beyond: A Roadmap of Innovations
Embark on an exploration of Java 21's groundbreaking language features.
From a simplified beginning with unnamed classes and instance main methods to using string templates, record patterns, and pattern matching, this session empowers you to create efficient, future-proof code.
Join this talk to gain a practical understanding of the latest Java language advancements so that you can apply them to your applications.
Tags: #Java #JDK #OpenJDK #ProjectAmber
Many many thanks for the helpful content.
I don't understand why String Template was shown in the video, when it won't be in Java 23 release 😅
It seams, that there won't be string template in next LTS
Hi LinkedIn is saying that there is no page by the link you have indicated in your profile
Thank you. In 24:30 why not put directly case BLUE -> "XXX"? I think it works too.
Good video, java is a good lenguage, but its tooling has to be modernized
Lol what it literally has the best tooling and ides of any modern oo language. You are clueless.
@@stcattc time shows us the fact. Java is dying. Kotlin maybe. Today, mine included, all Fortune 500 companies write their microservices with other languages. We don’t need oo in a micro service. OO was a correct solution for monolith apps which is dead today’s scalable world.
omg, somebody bring mvn behind the chemical sheds. Everybody is using it, and it is SUCH a pain
@@stcattc Well, no really good LSP, no really good build tool and no really good package manager. Where is the good tooling ?
Look at Rust that has an included test library, a linter and a package manager.
Gradle is very generic so I find it hard to configure Java projects, and Maven is slow and not overall a good experience.
@@PanicAtProductionwhat do you suggest?
one more :-) 7:39... "no more javac, java etc..." using an IDE, I have not seen the java compiler nor the java execution programs since years... source is compiled after I save a file, and executed with a mouse click... is anyone still using command line javac? any if yes... why?
Well if you are using a bat file to run classes then it is required.
@@RoadrunnerCoyote? BAT file on each compile, run cycle? Why?
@@withgrowinginsanity198 Sorry I misunderstood your question.
Continuous integration usually doesn't run in an IDE.
Using an IDE is a personal choice. It’s also an extra layer that introduces complexity and bugs.
6:15 is a extra build tool really needed? e.g. working in Eclipse, export project as e.g. WAR file. Do I miss out ons some awesome building features? 😇
Nope but it makes one's life so much easier.
@@Greenmarty how much easier? File, export, finish sounds easy enough
Dependency management!! You don't have to deal with all external dependencies and classpaths manually... And in real-world big projects, there are a LOT of this to be handled...
Can we simplify the creation of utility classes? Like classes with only static methods.... If we can avoid static, public, etc. that would be great ....
? why would it? "static" tells me -> I dont need an instance. Public tells me -> It can be called from everywhere.
@@withgrowinginsanity198 I get it. But utility methods are mostly static. It's a convention. So can we have some language improvements to simplify it.
Thanks
What about making a completely breaking release, refactoring and cleaning everything? Getting rid of the old stuff like Date and File classes, simplifying some APIs like BigDecimal, maybe separating ByteArrayInputStream from Stream interface (because it's not an actual stream), possibly adding overrideable operators like in C++, adding support for "var"/"val", creating some nice APIs for number conversions (e.g. no implicit conversions, only manual ones with static analysis for clarity), getting rid of "NaN", possibly making Stream API global, adding support for extension functions, maybe adding native implementations for some of the stuff Lombok does (@AllArgsConstructor, @Getter,...), adding support for calling a method based on an actual runtime type of an argument,...Call it Java 2 or something, release it as a standalone to the current java, so older applications can still work with the old code.
Not gonna fly, backward compatibility is why people use Java in the first place.
Used for Minecraft
0:14 what's the point of showing string templates if it's already being ditched?
🔝☕‼
I personally really want null-safety
1234
one more... 21:55 performing calculations AND building a JSON object is scaring me. I would like my building methods to be as "stupid" as possible, aka just using some getters for cost, packaged etc.
in 20 years it catches up to c#
you mean microsoft flavored java?
We will get wonderful things as partial classes, classes in files that does not match the class name, no backward compatibility, "oh you are using .NET 7.x.y, you need to use 7.x.z otherwise it will not work", and things like Console.WriteLine((a ?? 3)); or (numbers ??= new List()).Add(123); because it is sooooo easy to understand, or why not: Math.round(0.5) will return 0.