[-] BatmanAoD@programming.dev 3 points 11 months ago

That's not a fair comparison at all. Busybox is specifically optimized for size, and to accomplish that, leaves out a large number of GNU compatibility features; uutils is designed to mimic GNU as closely as possible, and I'm assuming that the binary you're looking at is not the "small-release" build. Just to see what that looks like, I've built it that way now and that puts it under 7 MiB; still much larger than busybox, but it shows how much the optimization choices matter.

[-] BatmanAoD@programming.dev 3 points 11 months ago

It's actually just English with Greek letters, just as the user above writes in English but uses the þ (thorn) character.

[-] BatmanAoD@programming.dev 3 points 11 months ago

Do you have a different recommendation for how to display unnameable types in error messages? I'm sure the compiler team would consider any suggestions.

[-] BatmanAoD@programming.dev 3 points 1 year ago

I understand having severe philosophical disagreements with the Rust project, with the majority of Rust users, or with the uutils project specifically. What I don't understand is this part:

If you go to the website of the Rust programming language nowadays, one of the first things you'll notice is that their primary communication platform is Discord. Yes, you read it right - their primary communication platform is Discord, a proprietary spyware program that is owned by a Chinese investment company and has backdoors to various other national intelligence agencies too.

Rust did have an official Discord, years ago, before switching to Zulip (alongside other official communal hubs, most prominently the Discourse forums that the author complains about next). But this was written in March and specifically says "nowadays", and I cannot find any mention of Discord on the Rust website.

[-] BatmanAoD@programming.dev 3 points 2 years ago

I'm no expert, but isn't running in a VM strictly better than running on raw metal from a security perspective? It's generally more locked down, and breaking out of the virtualization layer requires a separate security breach from gaining access to the running container.

[-] BatmanAoD@programming.dev 3 points 2 years ago

If you're thinking of this post, it's by the same author: https://snac.bsd.cafe/modev/p/1727478537.713206

[-] BatmanAoD@programming.dev 3 points 2 years ago

Why don't you answer any of my questions instead of telling me to join your club?

[-] BatmanAoD@programming.dev 3 points 2 years ago

Hopefully you only chmod'd your own systems. Early in my career, I worked on a project wherein we gave a contracting company root access to a computer they could use to test the software they were writing for us. One morning, they sent us a message saying they couldn't log in. We looked at the computer and discovered it wouldn't boot. Turned out someone on the remote team had chmod 777'd the entire filesystem. Of course we locked down their access after that.

[-] BatmanAoD@programming.dev 3 points 2 years ago* (last edited 2 years ago)

On the one hand, you're right, C is waaaay higher-level than many people realize, and the compiler and processor do wild things to make code go faster. On the other hand, the C abstract machine is close enough to how computers "really work" to give you a fairly useful mental model, in a way that no other mainstream high-level language can.

Even so, if you want to know how low-level code works, you should probably just learn one or more actual assembly languages and write a few small programs that way.

C has another advantage, though: firmware, OS kernels, and virtual machines (other than browser JS engines) are still almost entirely written in C. So while it doesn't teach you accurately how processors work, it is relevant if you want to know about the system software that meditates between the hardware and high-level software.

[-] BatmanAoD@programming.dev 3 points 2 years ago

Ah. Rust's macros and the C preprocessor's exist in vastly different universes. The C preprocessor is literally just a fancy programmatic copy-and-paste tool. Rust macros read the input source code and then execute other source code (the macro definition) to generate new source code that the compiler then reads.

I love Rust, but Rust macros are arguably more of a footgun than compile-time reflection would be, and as amazing as serde is (and no, there's nothing comparable in standard-compliant C++ yet), there's a strong argument that compile-time reflection would be a preferable technique for deriving serialization, argument-parsing, and similar feature.

[-] BatmanAoD@programming.dev 3 points 2 years ago

If you think that's convenient, then I fear you may never have experienced a convenient language.

view more: ‹ prev next ›

BatmanAoD

0 post score
0 comment score
joined 3 years ago