Conversation

ity [unit X-69] - VIOLENT FUCK

https://codeberg.org/TranquillityCodes/Oxidize0 Will anyone actually use this (once it works) ?

Boosts please neobot_bottom

0% Yes
16% No (will stick to run0)
83% No (will stick to doas/sudo/etc)
1
0
0

@wyatt what's wrong with Rust? What would you prefer?

1
0
0
@ity C
i don't like rust because:
1) compile times
2) object code size is enormous
3) cargo
4) dependency chains the breadth of texas
5) unreadable as fuck because it tries so hard to be clever instead of just doing its fucking job
6) llvm is slop
7) rustc is slop
8) have fun getting rust going on sparc solaris machines
2
0
1
@ity 9) the pathological need of rust programmers to take something perfectly good written in c and rewrite it in a worse language
1
0
1
@ity not everyone has a threadripper with 128gb of ram and SSD's, and you would not believe how many people on here have used "i program in rust" as their excuse to create e-waste (buy a threadripper with 128gb of ram and SSD's to improve compile times)
1
0
1

@wyatt 8. I'm doing just that actually (SPARCv9 Solaris 11, cross compile, long term project though)

What do you mean slop? Rust bans LLM contributions if I am reading their policy right, LLVM doesn't which is kinda meh. Unreadable is subjective.

Dependency chains is fair, I'm not a fan of them nearly approaching Node levels of crap.

What about cargo? Also, we aren't optimizing for object size anymore, I'm unsure what projects are left which are. Rust can be beaten into being lean for embedded applications, though.

The compile times annoy me too, yea. It's cuz they made crates the TUs as a hack for implementing prog macros...

And to be clear, I say this as someone that has read and written way more C than Rust. I switched over to Rust after doing C for over 5 years.

3
0
0
@ity LLVM has slop commits

cargo is a terrible idea and creates the same horrible dependency chains as npm shit has, i've had it fetch 20 gigabytes of dependencies (once built) for a single goddamn program before. It's used as a substitute for actually thinking through and solving a problem in the language yourself.

rust being "able" to be lean doesn't mean anyone actually does it that way
2
0
0
@ity oh also if you need to fix a dependency for a program in rust and the library cargo grabs has a bug? Tough fucking shit, you try to patch it and cargo redownloads it because it doesn't match a hash anymore. And the documentation for "vendoring" makes no goddamn sense
1
0
0
@ity (the documentation for "vendoring" also assumes you have pre-existing deep knowledge of how rust and cargo work, which is not necessarily the case if you're "just trying to get firefox to fucking build already")
1
0
0
@ity cargo actively fights to make sure i have no control over what it does, there's no command line switch to tell it "just use the source code i fucking gave you," its awful, hostile, and holier-than-thou attitude towards its users is disgusting
2
0
0
@ity oh also have fun bootstrapping rust for a new platform, building every single version of rust in order since they switched to building rustc in rust
0
0
0
@ity "we aren't optimizing for object size anymore"

if your object code is 60 megabytes for a hello world program (exaggeration), I consider that to be a problem even if you aren't fixating on object size. rust code is typically an order of magnitude too large
1
0
0

@ity

$ cd ~/.cargo/
$ du -had1 .
2.6G    ./registry
4.0K    ./.crates.toml
97M     ./bin
0       ./.package-cache-mutate
1.7G    ./git
4.0K    ./env
0       ./.package-cache
4.0K    ./.crates2.json
184K    ./.global-cache
4.3G    

obscene object code size

1
0
0

@ity

442M    ./mp4parse-rust-46733d285c774294

in the ~/.cargo/git/checkouts directory btw

1
0
0
@ity and most of that? it's test suite files, a fuckton of 4-5 megabyte AVIF files (140 megabytes) just clogging up my hard disk because cargo
0
0
0

@wyatt That's just all software in general in my experience

Don't get me wrong, I don't like Cargo, but I'd take debugging Cargo over trying to get newlib to compile for SPARC Solaris or LLVMs mess of CMake files to build and bootstrap itself correctly

I didn't have that many issues with vendoring dependences and I've been using Linux for too long to expect documentation anywhere, so I just usually go for source code right away most of the time. I was reading how rustc handles some specific linking stuff before I even properly know stuff they teach in Rust 101.

Can also just use Meson's lovely Rust plugin (that was a fun debugging session)

But what do I know, not like I spent ages porting Rust to SPARCv9 Solaris 11 (iirc, it's been over a year) and that lil project, whilst shelved, is still on my TODO

Also ig I'm nobody? I spent a decent amount of time playing around with no_core and similar stuff to roll my own smol Rust STL.

Tbf, I just want to have fun programming, idc if I am making ewaste by coding in a language I enjoy rather than one that makes me wanna jump off a fucking building by its lack of a proper type system and only being able to operate on things that are just numbers or fanzy numbers.

Nobody is forcing you to use Rust, if your favorite thing now takes 3 hours to compile instead of 3 minutes go tell them, not random Rust programmers on the internet. I don't like the long build times or npm effect either.

And please don't be like the LKML maintainers bullying Rust devs out of Linux so that Linux keeps being a memory corruption gold mine for decades to come. The memory corruption class of bugs does happen, and Rust does make them substantially less likely. It ofc doesn't fix them entirely, but it makes sense for a kernel.

As an aside, building Firefox is a class of its own, that build system has a lot more wrong with it than just Rust.

3
0
0
@ity "Nobody is forcing you to use Rust"

/me points at all the programs i'm forced to use (like web browsers) that use rust, and the fact that those browsers are compiled with options i need turned off by default so I am forced to build them from source
1
0
0
@ity rust is a fucking plague upon both my job prospects and my sanity when dealing with it
2
0
0
@ity saying "skill issue" when i bashed my head against the vendoring docs for about 3 hours is a very rust programmer thing to do

also you are ignoring how fucking awful it is that you even need to do that, that you can't just modify a library and have the system cooperate with you

it's the kind of hostility that ensures i never want anything to do with rust and resent the people forcing it down my throat by shitting on the programs i have to use

if i modify a debian package and build it, dpkg-buildpackage has documented -uc -and -us and -b flags you can pass to make it fucking work without wasting hours of your life and giving up
1
0
0
@willow @ity i think it's a language people keep memeing on that i've yet to actually see used for anything
I like C and see no reason to not use C but maybe zig's fine and maybe it's awful, as of right now i like it more than rust because it hasn't made my life hell yet but that's all i know about it
1
0
0
@willow @ity if zig has anything like cargo i instantly hate it though
1
0
0
@willow @ity "Version 0.11.0 (of zig) bundles an experimental package manager"
OK i hate it then

and to me, looking at small examples of zig, the verbosity is java tier which is also something that bothers me

packed structs are a nice thing and that's one small improvement to have standardized instead of compiler-dependent
1
0
0

@wyatt The funny part is that I used to think the exact same thing a few years back, I beat it into working how I wanted it to work and it fought back hard, then I started using it how it wants me to use it and now it's more fun.

But it's def cuz I changed who I am as a programmer, I take computers way less seriously now, I like to say that computers were a mistake and only code in Rust because I enjoy it and don't really have any other options besides maybe Zig, but I like Rust because honestly it's what all of the beings I like like, so it gives me common topics with friends - Rust is very popular with my circle of transfems so I use it, in a slightly different universe it would've been something like D or Zig

1
0
0

ity [unit X-69] - VIOLENT FUCK

Edited 28 days ago

@wyatt Where did I say skill issue? I'm just saying that not documenting shit isn't unique to Rust, it's a problem with the whole of Linux that regularly makes me cry (a decent portion of my projects that I wish were higher up the TODO stack are various documentation projects and interactive learning and debugging tools)

also you are ignoring how fucking awful it is that you even need to do that, that you can't just modify a library and have the system cooperate with you

I hate this indeed, I'm literally on Gentoo specifically so that I can just do that for my whole system, and I'm beating Nix with a club into allowing me to do the same thing with my custom version of NixOS.

Imo having to explicitly vendor a library is good, because as a new dev coming to a codebase I want to know that a library was modified, so that I don't get any surprises when a library that I thought I knew got modified in a way I didn't expect

it's the kind of hostility that ensures i never want anything to do with rust and resent the people forcing it down my throat by shitting on the programs i have to use

I genuinely don't know where I implied "skill issue", that wasn't my intention, I'm sorry if it came off like that.

if i modify a debian package and build it, dpkg-buildpackage has documented -uc -and -us and -b flags you can pass to make it fucking work without wasting hours of your life and giving up

I don't actually know much about Debian, but if you mean forced signature checks and a "just use what I tell you to and stop crying about signatures", then yea, those are fun times where I decry eg. Arch Linux and their abhorrent decisions, and why I'm punching holes thru Nix's reproducibility to be able to selectively just modify the source code how I want it and have the package manager cooperate instead of sitting and watching it compile Zig from source for the 20th time

1
0
0
@ity Imo having to explicitly vendor a library is bad, because as a new dev coming to a codebase I want to be able to modify the code and the obtuse unreadable vendoring documentation denies that ability
0
0
0

@wyatt Tbh Firefox's build system's biggest issue imo isn't Rust but the rest of the damn thing (<- also had to build it from source several times, due to writing a patched version etc)

1
0
0
@ity the same is true of ruffle and any number of other programs i've been forced to use written in rust
0
0
0
@willow @ity system.out.println() versus printf() style verbose
1
0
0
@willow @ity public static void main() vs int main() style verbose
0
0
0