What about the borrow checker needs an overhaul? Seems to do it’s job quite well. If you want to remove it then you should use like C++ or Zig or something since the borrow checker is fairly fundemenal to the design of the language
Traister101
Yo whatup
- 0 Posts
- 39 Comments
Traister101@lemmy.todayto
Programmer Humor@programming.dev•Someone got tired of hallucinated reports
4·1 month agoThat’s on the dev end of things but yes. Part of the build pipeline was re-obfuscation of your code so it’d actually work. Forge the mod loader just loaded the mods and provided code for modders to use. Forge Gradle was what handled the obfuscation stuff in dev
Traister101@lemmy.todayto
Programmer Humor@programming.dev•Someone got tired of hallucinated reports
371·2 months agoCongratulations you’ve discovered that Mojang used to ship the game after it was obfuscated! Java has nothing to do with the fact it’s obfuscated that’s on Mojangs end, for goofy “This’ll allow us to sue people who copy our game” logic. NeoForge came out the gate with official mappings at runtime (non obfuscated using the offical names Mojang provides. Yes Mojang obfuscated the game and then gives us the names of stuff anyway…) and recently Mojang announced they are finally dropping obfuscation all together.
Edit. To make sure this is totally clear the obfuscated names such as
class_5699.method_65313is the actual class name and method name. The jar has a class namedclass_5699which Java loads and treats like any other class. Very goofy and annoying for modders since if you wanted a useful name you have to first decompile Minecraft, then change all the names, and then when you compile change all references to said names in your code back to their actual obfuscated nonsense.
Neither did Log4j in basically all cases, some maniac just put arbitrary code callbacks into their logger, undocumented and enabled by default. The insane part isn’t the feature itself it’s the fact it’s enabled by default in a logger of all things.
People in my experience are actually very serious about the standard out to debug log which is… baffling. Same people generally outright refuse to learn how to use a debugger in languages where those are pleasant
A logger? Console prints are shitty in general but especially when you have an actual logger already
Traister101@lemmy.todayto
Programmer Humor@programming.dev•we did a little bit of branch fuckery
1·5 months agoIt can. It depends on what changed. If both of you touch the same file in a conflicting way you’ll have to merge the commit with the conflict. If you don’t then it just auto magically works.
For example if you have commits A - B - C with a branch A - D with D adding a brand new file you can trivially rebase (IE no need to merge) D onto C for a history of A - B - C - D
The best part about rebasing imo is that you get to merge commit by commit. Using the previous example if there’s a conflict in commit B but nothing in C all you have to do is fix commit D to handle the changes B made, nothing else
Traister101@lemmy.todayto
Programmer Humor@programming.dev•You can take it from my cold dead pincers
25·7 months agoI mean should const not be the default? I do want to mutate objects sometimes but usually I just need a view of it’s state and not write access. It also makes mutable data a lot more obvious if whoever wrote the code your reading wasn’t putting const on stuff they should have been. Seems like something all languages with const semantics should have done
Very true the last ones weren’t going around spewing as many Nazi talking points
Because it sounds like English words which is “cool”
Eyy I just watched Red Ranger, extremely enjoyable for how stupid it is. I bet I’d have loved power rangers if I watched it as a kid
I can’t judge but wow. Impressive
You cannot have a string argument, arguments and variables in JS don’t have a type. All you have in JS is objects. Actual functions, like full on
function foo(){}are still objects, like you can actually store data on the things.
JavaScript doesn’t have typed parameters or variables. The function expects a string and does things in the function body which converts the object into a string. JS shares this behavior with all dynamically typed languages and it’s extremely useful in some contexts and extremely frustrating in others. It’s down to what it’s being used for. Dynamic languages make excellent scripting languages, see Python really just being a souped up shell lang
It’s not a string argument though, it’s JS. You can argue it’s expected to be a string but like the rest of JS all you can know from the signature alone is that it takes an object. Hopefully your little ducky quacks the right way!
Ah yes now I can… dereference a raw pointer (yes that’s essentially the only thing unsafe rust actually enables you to do, it doesn’t disable the borrow checker or anything else, it just allows you to play with pointers)
So what’s 0 do then? I’m okay with wacky indexes (I’ve used something with negative indexes for a end-index shorthand) but 0 has to mean something that’s actually useful. Using the index as the offset into the array seems to be the most useful way to index them.
If your joking yes, if your not Java and Java Script are seperate things.
Uninitalized memory (
int a;with no assignment) vector of int vectors (IE a dynamicint[][]) and attempting to finda, anintin the vector of vectors of int IEintinstead ofvector<int>. I think the iterator type is correct but I’m not sure off the top of my head
Nah Ryuko generally just looks different but the easiest one is her hair, she’s got just a red “strand”. Also notable is the outfit, Ryuko wouldn’t wear anything with that neck thing going on