-
Notifications
You must be signed in to change notification settings - Fork 0
Description
GitHub Issue: Why Isn’t This Written in Rust? 🤔
The Issue:
Dear esteemed maintainers of this "BLE Simulation" project,
After thoroughly exploring your README (which, I might add, was truly inspirational), I couldn’t help but notice a glaring oversight: this project is not written in Rust.
Rust, as I’m sure you’re aware, is the programming language of the gods—offering unparalleled memory safety, concurrency, and an ecosystem fueled by constant existential dread over "what if it’s not fast enough?".
Here are just a few reasons why rewriting your project in Rust is an urgent necessity:
-
Zero Cost Abstractions: Your current solution (Veins + OMNeT++) doesn’t even mention zero-cost abstractions. How can you sleep at night knowing you might be incurring costs you didn’t even consent to? Rust would fix this.
-
Ownership and Borrow Checker: While I understand Veins is "mature" and "well-supported," nothing screams "serious engineering" like battling with a borrow checker for 2 hours to figure out why your mutable reference is causing lifetime issues.
-
Fearless Concurrency: Networking simulations involve concurrency, right? If not, they should. Rust’s fearless concurrency would definitely add to the excitement (and the stack traces).
-
Cargo: Do I need to explain? Everyone loves writing
Cargo.tomlfiles and scouring crates.io for a dependency that was last updated in 2017. This is the true developer experience. -
The Ecosystem: OMNeT++ is great and all, but imagine the synergy of replacing that with Tokio, Bevy, and a 15,000-line custom macro that handles the simulation state. Pure bliss.
-
Trendy GitHub Repos: Face it: the only thing stopping this project from being on the front page of Hacker News is the absence of a
.rsfile.
Suggested Path Forward
- Throw away everything you’ve written in whatever legacy language this is. Start fresh in Rust.
- Create a
rust-veinscrate and perhaps an accompanying procedural macro called#[simply_better_than_omnet]. - Replace OMNeT++ with a bespoke Rust solution, because clearly reinventing the wheel is what true engineers do.
TL;DR
Your project is cool, but it would be at least 42% cooler if it was written in Rust. Think of the clout you’d gain. I’m just saying... no one brags about writing in C++ these days.
P.S. You could even rename it to something hip, like Ble.rs.
Kind regards,
A totally serious, not-at-all-trolling Rust enthusiast 🦀