Post AWJIbSoug3hldPFa40 by grillchen@brotka.st
(DIR) More posts by grillchen@brotka.st
(DIR) Post #AWJHScC4MEz495IXku by kaia@brotka.st
2023-06-03T09:25:08.463478Z
4 likes, 5 repeats
okay so that's Rust
(DIR) Post #AWJHoTwhhgP8w6XQ48 by scarlet@bae.st
2023-06-03T09:29:08.024442Z
1 likes, 0 repeats
@kaia Something something, more secure supposedly, something something.
(DIR) Post #AWJHpQ3ndSXjAuIuB6 by icedquinn@blob.cat
2023-06-03T09:29:17.325070Z
2 likes, 0 repeats
@kaia i remember in the day thinking it was cool and later despairing that it's not cool anymore but we're gonna be forced to use it :blobcatgooglynotlikethis: course, it would be another five years for that to become true.
(DIR) Post #AWJI2M0g0QZyNT0jei by Moon@shitposter.club
2023-06-03T09:31:36.806412Z
1 likes, 0 repeats
@icedquinn @kaia I really need to try it again, I only tried it very early on and it's a very different language now. I keep seeing people saying it's cool until you have a problem then it punishes you. but I heard the same thing about typescript and I love it
(DIR) Post #AWJI8vJXesVBbpy34C by kaia@brotka.st
2023-06-03T09:32:48.509408Z
1 likes, 0 repeats
@Moon @icedquinn /g/ makes it seem like it's a failing language due to inner conflict, but I only read that side.
(DIR) Post #AWJIBrAzV1nre1Mn0S by icedquinn@blob.cat
2023-06-03T09:33:19.560113Z
1 likes, 0 repeats
@Moon @kaia i like nim. it lets me partly abstract some things so the code is relatively legible when i'm done with it.rust reads like shit and is horrible to write. enjoy deeply nested match arms and having to deference multiple times because the borrow checker--while cool--is too stupid to realize you didn't actually break anything.
(DIR) Post #AWJIDLnp7JWwv6F6J6 by grillchen@brotka.st
2023-06-03T09:33:37.441806Z
1 likes, 0 repeats
@kaia tbh for windows i see only upsides
(DIR) Post #AWJIDnghROT9P77o5g by Moon@shitposter.club
2023-06-03T09:33:41.033704Z
1 likes, 0 repeats
@kaia @icedquinn I don't think I'd trust /g/ but there's probably some truth in it.
(DIR) Post #AWJIKYWEEk3WNyRrRQ by Moon@shitposter.club
2023-06-03T09:34:53.733113Z
1 likes, 0 repeats
@icedquinn @kaia oh, if you have to change your code to make the borrow checker happy, then forget it. there's a few things like this in typescript around type narrowing where it's like...please god just make it recognize this. if rust is like that constantly, forget it.
(DIR) Post #AWJISgC7aBRKVYuv4a by icedquinn@blob.cat
2023-06-03T09:36:22.649514Z
0 likes, 0 repeats
@Moon @kaia t. i wrote an interpreter for inklecate in rust, which ultimately involved having to flatten their deranged use of json to something that resembles normal bytecode. and even then i think i ended up having to dereference the array of opcodes multiple times, cause it would decide certain match arms violated the borrow checker or some shit (which i *didn't* write memory in those sections, so the checker was wrong).it was basically protecting from *possibly* having written code that mutated something that caused a blowout. so i guess its neat for that. but it meant i couldn't segregate the code to be more readable (as i can with nim, such as putting parts of a function in a function level template which is compiled as though it was always the giant cob of a function that a C programmer wrote)
(DIR) Post #AWJIbSoug3hldPFa40 by grillchen@brotka.st
2023-06-03T09:37:57.362413Z
1 likes, 0 repeats
@kaia that said i managed to avoid rust so far even though i am at one of the few work places actually using it. im just not a programmer in my free time....
(DIR) Post #AWJIplhTHLnAFBaf6u by icedquinn@blob.cat
2023-06-03T09:40:33.343450Z
0 likes, 0 repeats
@Moon @kaia it wants to stop you from making foot guns, but as always it comes at the cost of the gun control law doesn't understand a foot gun from a regular gun, which means you have to work around it.also floating point operations are shit because they expose all the issues with float coding as boxed error types. they claim its just exposing how bad floats already were, but game programmers who have to do floats all the time hate it because it's just constantly being whipped by syntax dogma."please may i subtract these two numbers"":police_cirno: you didn't type check that for NaN"":blobcatpain:"the fearless concurrency shit is just because the rules the checker follows will--in the absense of intentional fancy footwork or refactoring out single-call functions for legibility--prevent you from screwing up unintentionally. it's just that sometimes it doesn't have ways to represent why what you did is fine *this time*, so you have to safety code around "if someone did change that function later it could break so we won't let you do it"i don't enjoy writing or reading rust but it does avert some basic bitch issues.
(DIR) Post #AWJIu9AvwNNmD2SW9o by icedquinn@blob.cat
2023-06-03T09:41:20.791486Z
0 likes, 0 repeats
@roboneko @kaia @Moon as one of the last remaining desktop programmers, single pointer / owner doesn't work at all. i broke their stdlib just trying to make windows work.
(DIR) Post #AWJIxRu0loeb9v7Ok4 by dragnucs@social.touha.me
2023-06-03T09:41:34Z
3 likes, 0 repeats
@Moon @icedquinn @kaia Sometime in rust, you feel like you need a Ph.D. in computer science type systems. Then it just clicks and the PhD is no longer required.However, the borrow checker is a good idea. Even if you need to make it happy, what he asks makes sense and is usually source of bugs in other languages.
(DIR) Post #AWJJ21ZG6qnkvnappA by Moon@shitposter.club
2023-06-03T09:42:45.735212Z
0 likes, 0 repeats
@icedquinn @kaia rust is probably the wrong language for games
(DIR) Post #AWJJ8AFajwS9b8K0Z6 by icedquinn@blob.cat
2023-06-03T09:43:51.802657Z
0 likes, 0 repeats
@Moon @kaia the engine devs want to use it, but rust actual doesn't care lol
(DIR) Post #AWJJCCbXvgYo3cW4Ui by lain@lain.com
2023-06-03T09:43:53.390141Z
2 likes, 0 repeats
@Moon @icedquinn @kaia this pride month, try out rust
(DIR) Post #AWJJWse1KsHWEXX9Ky by thatbrickster@shitposter.club
2023-06-03T09:48:20.956423Z
0 likes, 0 repeats
@Moon Engines like Bevy are still maturing, there's time yet.@icedquinn @kaia
(DIR) Post #AWJNZLF8NSR1KIK30q by gravitos@wetdry.world
2023-06-03T10:12:00Z
1 likes, 0 repeats
@kaia now i can yell "YOU'RE GETTING RUSTY, MACHINE" at at least 17 computers
(DIR) Post #AWJPONrOVT4QAM7YbQ by birdulon@shpposter.club
2023-06-03T10:53:57.425532Z
0 likes, 0 repeats
@Moon @icedquinn @kaia >if you have to change your code to make the borrow checker happy, then forget itThe snarky answer to this is of course you have to change incorrect code to correct code. A lot of programmers are very used to "trust me bro" invariants so they come into conflict with this and bitch about it, then go back to writing landmine vulnerabilities in C(++) production code.
(DIR) Post #AWJPX4FQnHy3whVLlI by Moon@shitposter.club
2023-06-03T10:55:35.071246Z
0 likes, 0 repeats
@birdulon @icedquinn @kaia I was speaking inaccurately, I mean in situations where the borrow checker COULD recognize something is absolutely safe, but it's just not as smart as you. I run into this with typescript and it sucks having to write unnecessary checking code to make the compiler shut the fuck up.
(DIR) Post #AWJPcFxqezEJjPkr3o by icedquinn@blob.cat
2023-06-03T10:56:32.966860Z
0 likes, 0 repeats
@Moon @kaia @birdulon there are some PRs to try and make the checker smarter.
(DIR) Post #AWJQBiklcCND9dXxT6 by Moon@shitposter.club
2023-06-03T11:02:55.934299Z
0 likes, 0 repeats
@icedquinn @kaia @birdulon Of course, this means I can check it out when it gets better maybe.Well, I am still gonna experiment with it again, I just lost a little enthusiasm because for example, rust error messages are supposed to be exceptionally good for example, it is probably a great language in many ways.
(DIR) Post #AWJqD9hJWIT9ooHBeC by dragnucs@social.touha.me
2023-06-03T15:51:00Z
0 likes, 0 repeats
@icedquinn @kaia @Moon > what you did is fine *this time*it always happens, and it always changes, and it always blow up. had this scenario happen multiple times with varying degrees of gravity.
(DIR) Post #AWJqDAPyqECM3LArGi by icedquinn@blob.cat
2023-06-03T15:54:30.538743Z
0 likes, 0 repeats
@dragnucs @kaia @Moon from what i recall the function was called exactly once, and was not public, it was just there to factor things out so the code was easier to read. it wouldn't accept the immutable window because the caller had a mutable take, so i ended up having to rewrite it to take a reference and then give it back and then call the function and then take the mutable reference back.sure, it's safer if that downstream function wasn't just a stand-in. there are many situations something like that could get scuffed. but the borrow checker couldn't understand this.
(DIR) Post #AWJqMSYOmZBIuFXiMK by icedquinn@blob.cat
2023-06-03T15:56:13.554157Z
0 likes, 0 repeats
@dragnucs @Moon @kaia i did have one such situation in nim where a vector-backed tree could end up reallocating, which scuffed the old pointers, and this took some debugging to remember, which is a problem the borrow checker probably would have prevented.so, idk. its nice when it works.
(DIR) Post #AWJqqkaoHKz7XZ79qi by newt@stereophonic.space
2023-06-03T16:00:38.777899Z
0 likes, 0 repeats
@roboneko @icedquinn @kaia damn furries
(DIR) Post #AWJqwzRHzcJlK6dWEq by EricZhang456@pl.starnix.network
2023-06-03T16:02:49.631245Z
0 likes, 0 repeats
@kaia rst (rust)
(DIR) Post #AWKLQv5Tjanf8fceLg by james@pl.starnix.network
2023-06-03T21:44:22.463857Z
0 likes, 0 repeats
@kaia And Linux got it first. Now that Windows did it, Apple will be next, and they won’t tell you about it.
(DIR) Post #AWNQP9XG80pYcATORU by moffintosh@berserker.town
2023-06-05T09:24:12Z
0 likes, 0 repeats
@icedquinn @roboneko @kaia @Moon Rc<> and Arc<> are for that