once again I fucking hate dtolnay for blocking reflection in rust so that his macro work doesn't become obsolete
-
@hipsterelectron @aud yeah, or "hegemonic" is a nice word because it just means that the thing you apply it to is asserting more influence than is proper for it.... and implicitly that means more than is proper, in the judgement of you as the one saying it. so that forestalls argument heh
-
@[email protected] I'm also going to be really petty here and say that I think rust becomes much less aesthetically pleasing when you have to decorate the hell out of it with a trillion macro invocations
It is certainly less readable if you only know Rust and not the metaprogramming. Good luck figuring out what a macro does if you're new to them. -
@hipsterelectron @aud but neither "monopolistic" nor "hegemonic" draw a distinction between the situation where a corporation does this for financial profit, and the one where an individual does it because it's the only way they know to get anywhere close to the warmth of human kindness which would otherwise not be part of their life
-
@aud even if it were woo the placebo effect is real and effective (which is very cool, go human brains).
-
@[email protected] I'm currently annoyed because I'm writing serialization functions and basically you can implement your own Serialization trait (good!) but once you 'use' the Serializer in any way, that's the only way you can use it. So I'm having to be careful with nested objects and how I attempt to serialize them when 'flattening' things manually.
It's just like... I don't know. The model for serde is weird and I don't like it. Some things I like (theValue
enum, which can contain a recursive version of itself: good!) but. -
@[email protected] right? I feel the same way. My brain tries to kill the placebo effect sometimes though, which is frustrating, by being like "WHERE'S THE RESEARCH BITCH"
-
@ireneista @aud @jonny i didn't know about it at all until a few months ago and i felt incredibly upset and disillusioned
-
@aud yepppppppp.
-
@aud I haven't done any macro programming at all. Some of the template stuff. I hate that it looks too much like C++. There are even some false friends, which I think is objectively bad.
-
@hipsterelectron @aud @jonny it is upsetting and disillusioning for sure
this was by no means the only topic on our mind when we wrote https://irenes.space/leaves/2024-09-29-technology-community-idealism but it was in there
-
@[email protected] I like how #chapelLang handles this type of stuff (back when I was writing more of it, which was a while ago admittedly); at the time, your serialization/deserialization stuff was the same stuff used to print to stdout, for instance, so you didn't have to write multiple variants...
Like one does with Debug and serde. -
@[email protected] I really dislike macros for a lot of reasons, but that's my core reason: they can make it substantially more difficult to figure out what the hell is going on unless A. you can read the macro, and/or B. read the intermediate (which is obviously not available until you attempt to compile).
Not that I think the idea of metaprogramming or whatever it's called is bad, but that I think rust's model is. -
@aud sigh Lisp "solved" this problem 70 years ago
except not really because we still have the problem and hardly anybody uses Lisp
it's frustrating how it keeps coming up
-
@[email protected] So, yeah, I'm annoyed that not only is Rust the first time I've had to write macros (rather than writing thousands of line of difficult to maintain boilerplate) but that it just so happens to be championed by one of the preeminent garbage fuckers in tech.
-
@[email protected] alright, this is very validating and I appreciate it, hah. People bang on about how great serde is and yeaaaah it's certainly the tool in use, isn't it, but. is it great? It fills a niche but does that mean it's good.
-
@[email protected] fuck it, gonna create a makefile for my project that calls a bash script that generates rust code through extensive use of
sed
then calls cargo.
/s ...
... or am I. -
@aud very welcome. we're glad that our thirty years studying the theory and practice of parsing is good for a real problem, which is to say an emotional problem
-
Asta [AMP]replied to Asta [AMP] last edited by [email protected]
@[email protected] Rust's macros are also rather limited; for instance, you want to do something like, say, I dunno, copy trait/fields from one struct to another? Guess what: no, not without substantial duplication of effort. You can't create a macro that includes a different struct/etc that you're calling this from. So now you're stuck with boilerplate code, except it's handwritten in your macro function (which, whatever, fine, I guess) except now it's not type checked because it cannot be.
-
@[email protected] I have so many emotions about programming and practices and the people involved : D
-
@aud @jonny @ireneista would like it if our choice of mongers were a bit wider than war fish and cheese