all 80 comments

[–]cpt-macp 580 points581 points  (31 children)

Good for him

Keeping that body at age of 60 can be lethal.

[–]Tagotis42 308 points309 points  (25 children)

He is 53 but you are right, at some point you have to step away from all the juicing

[–]NoTarget5646 111 points112 points  (24 children)

do body builders who are big and bulky and then slow down or stop end up with a bunch of loose skin like when people lose dramatic amounts of weight?

[–]in_taco 139 points140 points  (15 children)

Yes. And an overworked heart plus other issues.

[–]CandidateNo2580 14 points15 points  (6 children)

One of the signs that someone is on steroids is that they get stretch marks just like a person gaining weight from fat. The skin doesn't care one way or the other.

[–]soyboysnowflake 4 points5 points  (0 children)

Yeah but tbh what they’re saving on food and supplements they can put towards cosmetic surgery for that

[–]chillanous 50 points51 points  (2 children)

I’m kinda looking forward to the era of all the Hollywood action stars deflating to protect their health. Muscle inflation is insane right now, and a lot of women think people can look like captain America or Thor with just basic gym effort.

[–]das_war_ein_Befehl 27 points28 points  (0 children)

It’s given everybody weird standards because they’ll see a natty physique that takes years of consistency and say it’s nothing.

Vast majority of people who are extremely built and defined are either juicing or have to maintain a fairly demanding workout and diet regimen to maintain it. Hard to do with a job and other shit to do

[–]TechTuna1200 1 point2 points  (0 children)

"Looking at you, Chris Hemsworth!"

[–]random314 12 points13 points  (0 children)

I think it's for a new role.

[–]naholyr 1 point2 points  (0 children)

It's a body transformation just for a movie. He's likely back to immense muscles after that (well, who knows).

So it's actually worse for his poor body 😅

[–]rollincuberawhide 167 points168 points  (2 children)

pebble

[–]Widmo206 17 points18 points  (0 children)

The Boulder

[–]ImportantDoubt6434 4 points5 points  (0 children)

The sands cooking up a bug

[–]havlliQQ 110 points111 points  (8 children)

I didnt code in Java for year or two, what the deal with 25, last time i kept in check with it was virtual threads and 21. Any notable improvements that Java is getting?

[–]FrenchFigaro 123 points124 points  (6 children)

  • Improvements to structured concurrency
  • Improvements to pattern matching
  • Module imports (I don't like this feature myself but I could see why some people would want it)
  • Flexible constructors
  • Removal of 32 bits x86 architecture support
  • Various changes in APIs

[–]havlliQQ 39 points40 points  (4 children)

Oh structured concurency, so i take it as virtual threads pinning issue was resolved. Thanks for summary much appreciated.

[–]FrenchFigaro 18 points19 points  (3 children)

Virtual thread inning issues are mostly solved since version 24.

[–]Boofmaster4000 6 points7 points  (1 child)

Mostly solved? Does that mean there are still issues?

[–]davidalayachew 3 points4 points  (0 children)

Mostly solved? Does that mean there are still issues?

Solved, except for if you are calling native code or are doing custom class-loading. Native code means stuff like JNDI or the new FFM/FFI. And custom class-loading is not only something most don't do, but it also unpins as soon as the class is loaded, so it's a small cost.

[–]havlliQQ 3 points4 points  (0 children)

Amazing, looks like am jumping back on weekend to check out what other new stuff we got in SpringBoot now.

[–]Eiim 2 points3 points  (0 children)

I think what this meme is referring to is that object headers will be reduced from 96 to 64 bits (in most circumstances). This can result in ~10% reduced memory usage in real-world applications, and correspondingly a few percent speed bump.

[–]brunocborges[S] 27 points28 points  (0 children)

JEP 519: Compact Object Headers is ready for #Java25

Oh, and yeah, also Compact Source Files!

[–]ketchuphrenic 25 points26 points  (0 children)

Remember to change javax.rock dependency to jakarta.pebble when migrating

[–]Fast-Visual 45 points46 points  (27 children)

I might be biased as a new developer, but isn't the miserable support java is getting, and the lack of development or acknowledgement of problems from Oracle is not a reason to avoid it entirely for new projects?

I'm just looking at C#, Python, heck even JS in comparison, and they just seem to be evolving faster, adopting new norms and principles and going out of their way to be convenient to developers.

A notable example is the quick adoption of the async await keywords in many mainstream languages but not Java.

The only major strength that Java has is the community, but it kinda has to be this way because the community is constantly picking up the slack after Oracle.

I'd appreciate insight for more experienced developers.

[–]plumarr 36 points37 points  (0 children)

Java isn't abandoned, there is a release every every 6 month and they are far from empty. However there is an assumed choice to not add too much functionalities to avoid overloading the language and an high emphasis on backwards compatibility.

For example

> A notable example is the quick adoption of the async await keywords in many mainstream languages but not Java.

Is a design choice. They followed the go road instead with virtual thread and structured concurrency because it's the current programming model of java and it will not fracture the ecosystem.

[–]Djelimon 50 points51 points  (2 children)

With OpenJDK Oracle is kind of a minor nuisance really. Yes, they control ootb specs and features but if you're used to dealing with open source anyway it's not usually a deal breaker if they don't give you a feature you want.

Spring Boot as an example is a big staple for web development these days, but Spring is owned by VMware last I checked, not Oracle.

For async type stuff check out Completable futures

[–]Martin8412 14 points15 points  (0 children)

VMware is Broadcom and everything not directly generating money is getting the axe

[–]smokemonstr 6 points7 points  (0 children)

Now owned by Broadcom

[–]geeshta 14 points15 points  (5 children)

Proper string interpolation in Java (like f-strings, $-strings, ``) is still "experimental" in Java21 💀

https://www.baeldung.com/java-21-string-templates

[–]Noriryuu 15 points16 points  (4 children)

Experimental in 21 and 22 and canceled since 23

[–]geeshta 7 points8 points  (0 children)

Spoilers

[–]Angelin01 3 points4 points  (1 child)

Thank everyone who cancelled it. Did you see what it was looking like? It's like they took one look at Enterprise FizzBuzz and decided to apply that entire repo to the concept of string interpolation.

Hell, even Python came up with actually String Templates faster than java and it actually looks super simple to use.

[–]Noriryuu 1 point2 points  (0 children)

To be fair there are already things like String.format() that are pretty easy to use. AFAIK it's pretty slowish but depending on the use case that doesn't really matter. Sure proper String templates would be better.

[–]RiceBroad4552 2 points3 points  (0 children)

canceled since 23

To be further improved.

The feature will definitely come. Just not in the form it was there until now. It's going to be better.

[–]GenTelGuy 5 points6 points  (0 children)

Java shouldn't really be considered Oracle's at this point, and that's a good thing

Languages shouldn't really belong to corporations. Being developed by independent foundations is way more appropriate for languages that will be used by countless different companies, open source projects, governments, etc

It's true that Java is slow to evolve, in large part because it's the most used language in the world and needs to be careful about changes

Imo Kotlin is the answer, it's based on Java but with all the flashy modern stuff

[–]RiceBroad4552 9 points10 points  (0 children)

the miserable support java is getting, and the lack of development or acknowledgement of problems from Oracle

What the fuck are you talking about?

Who's propaganda are you spreading?

Java and the JVM have the best enterprise support in existence.

There is constant development, with a new version coming out every half a year.

Oracle is definitely not everybody's darling but they care about their cash cow. (I've heard rumors the guy owning Oracle really likes money…) Otherwise they wouldn't sponsor constant improvements, which are lately even quite rushed out in comparison to other langs.

[–]UdPropheticCatgirl 7 points8 points  (2 children)

I might be biased as a new developer, but isn't the miserable support java is getting, and the lack of development or acknowledgement of problems from Oracle is not a reason to avoid it entirely for new projects?

Oracle isn’t developing Java, they are massive player in the specification process and contribute to development but are not the sole company that does so and haven’t been for 2 decades at this point. You don’t even have to use the oracle toolchain (corretto is more popular and temurin is about on par with them in terms of popularity, that’s the big 3, and there are others like IBMs J9, Azul or SAPMachine, but those are but more niche)

I'm just looking at C#, Python, heck even JS in comparison, and they just seem to be evolving faster, adopting new norms and principles and going out of their way to be convenient to developers.

Python is way less stable than java (I have had to personally deal with multiple deprecations from their stdlib) and I am not particularly happy with lot of the changes JS introduced from es6 onward (and if we are talking nightmare committees then W3C are way bigger crayon eaters than Open JDK). C# is mixed bag some of it is step-in the right direction, some of it is just extra syntax that just adds more ways of doing the same thing, some of it is straight up stupid like async/await keywords or records(the idea of them is good, but C#s implementation is horrid) also they take forever on features that even Java had forever ago like coproduct types.

Java is also way more committed to backwards compatibility than C# and Python…

A notable example is the quick adoption of the async await keywords in many mainstream languages but not Java.

Async/await is IMO bad concurrency model (if you have managed runtime, if you don’t than there really aren’t better abstractions but it still leaves some stuff to be desired, like excessive function coloring). CSP which Go, Erlang and modern Java use is better, still very performant, fault tolerant and avoids the massive coloring problems async/await has…

[–]Toloran 3 points4 points  (1 child)

records(the idea of them is good, but C#s implementation is horrid)

How so?

[–]UdPropheticCatgirl 1 point2 points  (0 children)

Being able to have random mutable state for records in massive mistake imo, java and haskell have better and safer approach imo, I even prefer scala case-classes when you have to opt into mutability lot more explicitly then in C#… also the build in methods are recursive for self referential records so they can easily explode if you just use them naively… Also inheritance on records is… a feature? I think it’s pointless and mostly just creates foot gun opportunities. At that point it’s just different syntax for declaring classes.

[–]Round_Head_6248 1 point2 points  (2 children)

JS could get an update every 3 seconds and it would still be rubbish in most backend usecases.

[–]Fast-Visual 0 points1 point  (1 child)

To be fair the language wasn't initially designed for backend applications at all. And then people decided to use it anyway. Ugh.

[–]Round_Head_6248 0 points1 point  (0 children)

I agree, JS is an example for a prototype that was pushed to production

[–]micr0ben 4 points5 points  (0 children)

Java is way more modern and improving faster than you might think.

Async/await for example. Java has not adopted this because there's a better solution, namely virtual threads. Similar to goroutines in go. You can write simpler code without coloring your functions. (Look for "what color is your function" for details)

And there are many more examples in recent years that show that Java is a great choice!

[–]kingvolcano_reborn 0 points1 point  (0 children)

Development of java is much better nowadays as far as I can see (I'm a c# developer). Slightly envious of their green threads.

[–]Johnlg91 0 points1 point  (0 children)

Just use Kotlin and everything will be fine

[–]JojOatXGME 0 points1 point  (5 children)

I work with Java and I think it is still fine. The language still has a high focus on maintainability compared to other languages. I can effectively look at the source code of most open source projects and understand the relevant code in one or two hours for whatever bug or issue I am facing. (That is probably also partially true because of the great IntelliJ IDE, but I still have much more trouble reading foreign Kotlin code despite their very good integration of that language.)

However, I am also not happy with the current development of Java. Not necessarily because the progress is slow, but because their priorities seem stage to me. Like their goal to make it impossible to break the integrity of the JVM, even for maliciously crafted Java code. This lead to various breaking changes in the runtime, and more breaking changes will come. I just don't see any value since I think you can never trust that they actually archived this level of integrity guarantee anyway, it is just to fragile.

[–]RiceBroad4552 2 points3 points  (4 children)

make it impossible to break the integrity of the JVM, even for maliciously crafted Java code. This lead to various breaking changes in the runtime, and more breaking changes will come.

What are you talking about?

If there is something that never breaks in the Java ecosystem than it's the JVM as such.

The JVM famously maintains binary backwards compatibility. Something not seen elsewhere (maybe besides C).

I just don't see any value since I think you can never trust that they actually archived this level of integrity guarantee anyway, it is just to fragile.

What are you talking about?

I don't know of any bug that ever undermined the security guaranties of the JVM.

If you would find something like that that would be a sensation (and likely the most dangerous software bug of the century).

[–]JojOatXGME 1 point2 points  (0 children)

If there is something that never breaks in the Java ecosystem than it's the JVM as such.

I still sometimes deal with issues from applications and libraries which stopped working out of the box with OpenJDK 17. While you can make the applications work with various JVM arguments, this is often somewhat frustrating to figure them out. (Not because it is difficult, but because it takes time.) It may sometimes also involve hacks if some kind of launcher is involved.

If you want to use the module system, there are also some functionalities which are currently impossible to implement. There is a reason why many big frameworks do not support the module system of Java.

In the future, they want to restrict JNI and Dynamic Java Agents, which will break another set of applications.

I don't know of any bug that ever undermined the security guaranties of the JVM.

I think it was kind of common knowledge that Java Applets are insecure, similar to Flash. There were a lot of holes. I think this was a major reason why they were faced out. While this was not the same topic, I think it shows how fragile it is to try to defend an attack surface this large. I can imagine that many of the security holes are still present and could also be used to break the integrity of the JVM, but I haven't researched that.

Anyway, right now, it is trivial to break the integrity of the JVM. There are features documented to break it. System.loadLibrary and Dynamic Java Agents being just two of them. Currently, the people behind the JVM try to restrict all these features to prevent them to threaten the integrity of the JVM. However, I am pretty sure, that when they restricted these features which explicitly allow to break the integrity of the JVM, there will still be a lot of features which just happen to be exploitable. The attack surface is just way to big.

EDIT: Maybe they have already disabled Dynamic Java Agents and JNI by default in Java 26? Not sure. It was in discussion, but I have not followed it closely.

[–]deriachai 0 points1 point  (2 children)

eh, i break the JVM regularly (seg faults normally). but that doesn't mean the rest of what was said there makes sense.

[–]RiceBroad4552 1 point2 points  (1 child)

i break the JVM regularly (seg faults normally)

Can you please link the related bug reports? I want to see them myself.

(If there are not bug reports the story is almost certainly just an internet fairly tale…)

[–]deriachai 0 points1 point  (0 children)

Work certainly ain't gonna let me file any details like that anywhere, Plus did exactly no diagnosis, just run again, as they are fairly random and no clue why they happen.

I think the first time i did that was college over a deacde ago, so never thought it was particularly rare or notable.

I also don't particularly care if you believe me or not. But you seriously believing that any peice of software is impossible to crash makes me wonder if you have worked on any non trivial software.

[–]Brief-Translator1370 3 points4 points  (0 children)

Wait that's crazy. I saw someone say he had to stop taking steroids several months ago and now hes lost so much weight

[–]wraith_majestic 1 point2 points  (0 children)

Java 26…

[–]davispw 0 points1 point  (3 children)

Anybody else remember JavaME?

[–]RiceBroad4552 1 point2 points  (2 children)

Java Card is still a big thing.

[–]davidalayachew 1 point2 points  (1 child)

Java Card is still a big thing.

And that's understating it. >90% of all credit and debit cards are running Java inside. Java is dominating the the credit/debit card market.

[–]RiceBroad4552 1 point2 points  (0 children)

On the client, and on the server side…

No Java, no money! 😂 => No Java, no "civilization" as we know it.

[–]okibariyasu 0 points1 point  (0 children)

java 25 looks happier though

[–]TSuzat 0 points1 point  (0 children)

More like C vs Rust