this post was submitted on 26 Nov 2025
25 points (90.3% liked)
Programming
23594 readers
116 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Eh, as funny as this is, I can't agree that programming peaked with Java. In fact, much of this is just a rant about JavaScript, not about much else.
VSCode can easily do cross-file renames if you write Rust. Rust is kind of peak programming if you ask me, and it's modern and still new. I don't feel programming has peaked yet tbh.
You can do cross-file renames in ... gasp!... Typescript!
... Kind of.
It's flakey af on large enough codebases.
Nothing anywhere near as reliable and robust as C# or Java for refactorings.
Well, I’ve never seen it fail. Sorry that your experience was different.
Eh rust still has issues in some domains, e.g., when cyclic data is appropriate. You can do it, but it's annoying. To me, Haskell is really peak programming, but I know that's opinionated and most won't agree.
Vscode can do cross-file renames in pretty much any language. An LSP that doesn't support this is not doing its job.
This might be but then again I've been writing Rust for several years and have yet to actually run into this problem. The borrow checker definitely places certain restrictions on what kind of stuff you can do (for good reasons!). Once you know how it works, your brain starts writing the code in advance to fit how the borrow checker likes it and it becomes second nature and a total non issue.
Of course this is part of the reason Rust has a bit of a learning curve, which is fair. But any good sophisticated tool meant for professionals requires proper training and knowledge.
Yeah it depends what you're doing. I do a lot of circuit modeling where different subsystems need to talk to each other. The solutions are either Rcs (and a bunch of custom drop logic) or a parent struct holding all the others. Both are awkward. But in other programming domains I've found rust pleasant.
What might benefit you here is a proper GC. There are a few libraries to do this in Rust, though I don't have any good recommendations since I haven't needed this myself yet.