| The time is right for AI to generate a basic C web framework just like Node Express with request, response, template, cookies, auth, db, websockets and some other libs It would be blazing fast, for use by AI itself Just for fun |
| |
| ▲ | joshheitzman a day ago | parent | next [-] | | Because the memory safety Rust offers isn't worth the supply chain risks: https://safeguard.sh/resources/blog/rust-supply-chain-securi... | | |
| ▲ | zanecodes a day ago | parent | next [-] | | A problem that C solves by simply not having a supply chain! You can vendor dependencies in Rust just as easily as you can in C; far easier in fact thanks to `cargo vendor`. Cargo won't review them for vulnerabilities though, you'll still have to do that yourself. | | |
| ▲ | hollowonepl 20 hours ago | parent | next [-] | | There is… standard library and posix standard or other system level libraries, once you learn them you discover you don’t need to auto download a library to convert string to bool that relies on 5 other stupid libraries to work all together. Lean yet complete standard library is what should be preferred instead of that supply chain, especially in AI era that makes half of them obsolete and redundant. | | |
| ▲ | skydhash 14 hours ago | parent [-] | | And a lot of C/C++ library are incredibly mature, so no need to update your code every 3 months just for dependency updates. |
| |
| ▲ | uecker 21 hours ago | parent | prev | next [-] | | "Cargo won't review them for vulnerabilities though, you'll still have to do that yourself." Cargo is a danger to society. People need to stop using these unsafe and dangerous technology. | |
| ▲ | 1718627440 a day ago | parent | prev | next [-] | | It does, the package systems of C evolved alongside the OS, so they are now the OS package managers and also cope with all other language mangers. | |
| ▲ | Ygg2 a day ago | parent | prev [-] | | C (and C++) has a supply chain. It's called unpaid Linux maintainers. | | |
| ▲ | throwaway2037 20 hours ago | parent [-] | | > unpaid Linux maintainers
In 2026, I would say most are paid, certainly all of the really important leads. They are employed directly by Linux Foundation, or by a tech giant, like Google, Meta, Amazon, IBM, etc. | | |
| ▲ | Ygg2 19 hours ago | parent [-] | | Not Linux as in kernel. Linux as in distro. I doubt most of Arch, NixOS, GoboLinux, Slackware maintainers are on FAANG payroll. | | |
|
|
| |
| ▲ | nostrademons a day ago | parent | prev | next [-] | | Don't use packages you didn't vibecode and audit yourself then. That's the situation C puts you in anyway. | | |
| ▲ | joshheitzman a day ago | parent [-] | | The Rust ecosystem isn't structured for the high friction dependency model the C has. Its structured around nearly frictionless dependencies so its no surprise that dependency trees are very large and frequently changing. The typical C project has far fewer dependencies than the typical Rust project. Those dependencies are usually individually larger and either maintained by OS maintainers or there is a copy of the code that is built for the project and is readily available for audit. Those copies can't change without direct action. Its less trouble to setup static analysis, address sanitizer, and similar tools for a C project than it would be to manage local copies of thousands of dependencies for a Rust project. | | |
| ▲ | nostrademons a day ago | parent | next [-] | | There's nothing stopping you from ignoring the ecosystem and just using Rust with the stdlib. Remember that the context for this thread is AI-generated code. If the AI is writing it all, the code is effectively free, you can write tens of thousands of lines of it with a single prompt, you can customize it all to your specific use-case, and you can throw it away and have the AI write it again instead of maintaining it. Also as manual programmers we're accustomed to programming being a team sport where you fit in gracefully into the ecosystem and build things with the maintainer and rest of the team in mind, but in the AI world, you can ignore the ecosystem, there is no maintainer (because you throw it away and have the AI write something else when the requirements change), and the rest of the team has all been laid off. There's a bunch of threads going on simultaneously on HN now about how people often misuse AI by applying rules of thumb learned from doing things as a professional to what they prompt the AI to do, rather than just asking it directly for what you want. This is one of those cases. Many of the rules of thumb of professional programming no longer hold under the radically different economics of AI-driven development. | | |
| ▲ | joshheitzman a day ago | parent | next [-] | | > If the AI is writing it all, the code is effectively free Its not even close to free in either $, your own personal time, or calendar time. | |
| ▲ | uecker 21 hours ago | parent | prev [-] | | My assumption is that people are productive in Rust mainly because of the ecosystem, just like Python programmers are because they can download so many ready-to-use parts. The great mashup languages. | | |
| ▲ | nostrademons 10 hours ago | parent [-] | | The context of this thread is AI-assisted code. There's no "people" involved, the AI can reconstruct just the parts of the ecosystem that it needs as easily as it can use the ecosystem. That's one of the big sea changes with AI: a lot of the best practices we've developed for coding really focus on creating good user interfaces and abstraction boundaries for coders so we can work in teams and have reasonable PL ergonomics, but when there is no team and no human, many of those considerations disappear. |
|
| |
| ▲ | steveklabnik a day ago | parent | prev [-] | | > Its less trouble to setup static analysis, address sanitizer, and similar tools for a C project than it would be to manage local copies of thousands of dependencies for a Rust project. It is trivial with Rust to set up asan and friends. You just $ RUSTFLAGS=-Zsanitizer=address cargo build -Zbuild-std --target x86_64-unknown-linux-gnu
And you’re off to the races.This works for your dependencies too. This isn’t C, you don’t need to manage all of those builds individually. That’s what the build system is for. |
|
| |
| ▲ | a day ago | parent | prev [-] | | [deleted] |
| |
| ▲ | hollowonepl 20 hours ago | parent | prev | next [-] | | Rust comes with dependency hell comparable to NodeJs, and sorting out memory issues is experience not platform choice. Simplicity of C versus complexity of Rust plus Rust being a new “java” religion to solve C++ ain’t convincing to everybody. We had this religion already. Every new generation comes with an idea to fix C/C++ while some still prefer to stay disciplined in the first one and let it fix itself. | | |
| ▲ | nostrademons 10 hours ago | parent [-] | | The context of this thread is AI-assisted code. You are writing the app in English, and all of these religions about C vs. Rust vs. Java vs. C++ are irrelevant because we're all going to be out of a job. The sole advantage of Rust over C or C++ is that the borrow-checker provides a set of guardrails for the AI so that certain classes of bugs become impossible to generate, and then the compiler error will feed back to the AI so that it knows it's gone off the rails. This is a common failure mode for AI: frequently it does what you tell it to, but then its attention mechanism isn't on things like security or robustness and so it unknowingly introduces a crash or memory safety violation. The sole advantage over Java is that it generates faster code, which is normally something you have to prompt the AI to do. All the stuff about programmer ergonomics or ecosystem health is meaningless, because there are no programmers. | | |
| ▲ | hollowonepl 9 hours ago | parent [-] | | I understand advantages of rust as they are sales pitched but I also see disadvantages which even experienced rust developers start pitching too. My point is that rust is not ultimate answer to every programming issue regardless of AI being used or not. I also disagree that even if you vibe code in natural language (English or any other), platform selection still matters and it’s naturally a preference and experience related reflection of a vibe coder who positions himself as architect, product owner and analyst more than a single platform choice zealot. In such case selection of modern C/C++ is equally revenant as religiously pitching about a single rust feature as differentiator here. It simply reflects the ability to control author’s vision of the outcome and ability to control it. |
|
| |
| ▲ | cozzyd a day ago | parent | prev [-] | | supply chain, compile times, binary size | | |
| ▲ | nostrademons a day ago | parent [-] | | Not huge problems for a web app, where you are controlling deployment yourself. |
|
|