Comment by jerf
10 months ago
While less aggressively "motte & bailey" then the sibling reply from PH95VuimJjqBqy, you basically proved my point rather than disproving it. You can't name a single tool that is as easy as cargo. I know that's because if you do there will be a dozen replies from users of that tool going "Oh, my, no it was quite difficult to set up, ultimately didn't work for us, and we had to abandon it for this other tool."
I do not understand the mindset that believes that if you explain why a problem is hard, it is somehow no longer hard, or somehow it no longer "counts". Yes. C is a sprawling multi-decade monster that never started out with a good build tool because it was just too early in history for that to be the sort of concern it is now. I certainly wouldn't dream of claiming there aren't reasons C is complicated to build, even ones that are generally good when you consider the entire history of the project. The world would not be better off if we had somehow waited for C to be perfect before using it, because it is precisely the act of using C that has taught us the ways to improve other languages. I credit the platform for that, I do not deduct points.
However, none of that changes the fact that it is a bear to build anything non-trivial in C, and the simple act of reading a list of your tool options is literally already harder than "cargo build". I basically don't believe by assertion that there are tools that can solve this with just a relatively dainty (by C standards) little declarative file and a single command execution. I'm sure they have a "happy path" that looks like that but as soon as I leave it it'll explode in complexity, and I'm basically guaranteed to leave it at some point for any non-trivial project.
I'm going to recommend everyone ignore this poster, just don't reply to them.
They're not going to accept anything other than "yes, you're right jerf" and any attempt to do so is going to be met with squawking about motte and bailey fallacy because they believe internally they've found the perfect defense.
it's not worth engaging.
So basically you recommend everyone ignore them because they disagree with you?
It's strange that you think this post is you "not engaging".
oh snap, you totally got me...
https://en.wikipedia.org/wiki/Paradox_of_tolerance
2 replies →
If you're going to put words in my mouth, then there's no need for me to respond any further.
If you are genuinely curious about build systems in any language, I can certainly help you. But, if this is the "Cargo is the best vs all others" debate, kindly count me out. I don't care. Cargo is fine if you're doing Rust work. If you're using other languages or platforms, there are plenty of excellent alternatives.
This sort of Rust proselytizing -- on an article about C of all things -- is why so many perceive the Rust community as being toxic. You might think you're helping to spread the glory of Rust, but that's not how you are coming across.
Note that I'm not even comparing the merits between the two languages. If you like Rust, write software in Rust. If you like building your Rust projects in Cargo, have at it.
> But, if this is the "Cargo is the best vs all others" debate...
It isn't. It's certainly better than any C build systems, but I'm aware of a few other similar build systems (just not for C).
> ...kindly count me out. I don't care.
Only you have the power to stop posting. And if you did, it would make your claim that you don't care a lot more convincing.
> If you're using other languages or platforms, there are plenty of excellent alternatives.
True! But C isn't one of those languages.
And let's be real, that's really why you're mad. It isn't that I'm bringing up Rust that's making you mad, it's that I'm criticizing C.
C isn't perfect and it's not the best at everything. And that's fine! It's great for what it is. But what it isn't is a modern language with modern tooling. And that's a real downside to consider when choosing a language to write a project in.
That's not the only consideration, and there are a lot of reasons why I, myself, would choose C for a new project (not the least of being that I'm a lot better at C than at Rust).
> This sort of Rust proselytizing -- on an article about C of all things -- is why so many perceive the Rust community as being toxic. You might think you're helping to spread the glory of Rust, but that's not how you are coming across.
I'm not particularly concerned with how I represent the Rust community. I don't even view myself as part of the Rust community (yet). If anything, I have a lot more claim to being a member of the C community than of the Rust community, as I've written orders of magnitude more C code than Rust code.
> > But, if this is the "Cargo is the best vs all others" debate...
> It isn't.
You could've fooled me with how uncharitable you are being here by blowing comments way out of proportion.
> Only you have the power to stop posting.
Full context: "But, if this is the "Cargo is the best vs all others" debate, kindly count me out."
Using ellipses and quote mining to make your opponent look foolish is the lowest form of sophistry and against HN policy. There isn't a "debate" to "win" here. So, why go to this sort of trouble over nothing?
> > If you're using other languages or platforms, there are plenty of excellent alternatives.
> True! But C isn't one of those languages.
I fail to see what C has to do with the choice of build tools. C isn't a build tool; it's a language.
> And let's be real, that's really why you're mad.
Who is mad? Literally, I replied with a comment about build tools. You keep trying to have the debate you want here by inserting words in people's mouths. It's disingenuous.
> C isn't perfect and it's not the best at everything.
No one. NO ONE, has made any claims even remotely like that. Yet another silly strawman for the debate you desperately want to have here.
> But what it isn't is a modern language with modern tooling.
Actually, there is excellent modern tooling for C. There are proof assistants and model checkers. It's possible to do similar things in modern C as in Rust or other languages, from proving the absence of UB to proving memory safety features. But, seriously, no one is having this debate, so it's silly. We were talking about build tools...
> I'm not particularly concerned with how I represent the Rust community.
Good, because these silly "debates" -- over a build tool that has somehow mushroomed into a C vs Rust debate in only your head and no one else's -- might seem cool to you, but are counter-productive.
> as I've written orders of magnitude more C code than Rust code.
And yet, you've never done any reading about modern build tools or package systems with C support. That's a mighty shame.
By the way, did you know that you can build C/C++ projects using Cargo? Yeah. Me neither. Huh.
6 replies →