Charles Oliver Nutter
headius.bsky.social
Charles Oliver Nutter
@headius.bsky.social
JRuby co-lead, Java champion, Ruby hero, JavaOne Rockstar, international traveler and speaker. Book me for your next event! I depend on your donations and sponsorships! https://github.com/sponsors/headius
Thankfully, we don't have to sacrifice any optimizations or VM features like CRuby does, since we punt all that to the JVM. The rest is just working around missing posix features and normalizing paths and newlines the same way as CRuby. It's still a big hassle to support, but I think it's worth it.
November 11, 2025 at 6:19 PM
Yeah, WSL is clearly just a band-aid over the fact that Windows behaves so differently from Unix systems... just a much better Cygwin. At the end of the day either you you want to develop on a Unix or you don't, and WSL clearly isn't a solution for the latter case.
November 11, 2025 at 6:17 PM
That sounds like me when I first transitioned off of Windows in the early 2000s. I could probably cope with the lack of posix, since equivalent functionality is roughly available in win32 APIs (for most things), but backslashes and newlines are super frustrating to deal with and impossible to avoid.
November 11, 2025 at 6:13 PM
It makes some things easier, but we still have to deal with path separators and newlines and lack of a full posix implementation and so on. Couple that with the fact that it's the only operating system that does all these weird things and it gets back-burnered a lot.
November 11, 2025 at 1:37 AM
I wish we could but there's still a huge percentage (majority?) of Windows-based developers that just don't do unix.
November 10, 2025 at 10:31 PM
I sent an impassioned protest to the fosdem folks, but I'm pretty sure it's too late to make any changes this year. If there's a committer's workshop I will go anyway, but without that, it's tough to make a business case.
November 10, 2025 at 10:13 PM
If only it were Ruby!
November 4, 2025 at 6:13 PM
In general, "shareable" means "100% immutable" all the way down the object graph. It's certainly a valid way to guarantee thread-safety, but there's no way to opt into mutable state also being shareable, even if it's completely safe. The only reason for this is because CRuby can't handle it.
November 3, 2025 at 7:11 PM
As proof of this: JRuby and TruffleRuby can already parallelize Threads. You can prefer immutable shared state, but you can also manage your own mutable shared state and still get parallelism. You can’t do the latter with Ractors *solely* because CRuby is unable to support that.
November 3, 2025 at 7:04 PM