Comments (3)
Thanks for your point. ping
deserve complete rewrite (the code is very old, hard to maintain). That's why it's IMHO good opportunity to at least think about other alternatives to C, but of course we can endup with keeping C. Rust is far from being perfect, but it it cannot be ignored that it's will be sooner or later safer C alternative.
And even if the rewrite will be in C, it would be a separate project (e.g. ping2
) and the original ping
will be maintained until the new project is mature enough. This would be for sure the same even if it's written in Rust (e.g. rping
).
from iputils.
This was previously discussed in #96. The primary issue raised there was about architecture support; Rust does not necessarily support all architectures supported by Linux. So this means that the C version would still need to be supported for some time either way. Though I suspect Linux and Rust to converge on a single set of supported architectures over time.
from iputils.
downside of rust is lack of
from my subjective view on rewritting in Rust:
C language is simple and efficient with consistent ABI and easy integrable with different build systems. Replacement of a working tool rewritting it in a busybox style with a way more complex language for sake of ???, IDK if that worths it even for C++ or new projects.
from iputils.
Related Issues (20)
- Add JSON output
- 'pipe N' line description
- Add an errno return HOT 1
- cross compile error:meson.build:92:0: ERROR: C shared or static library 'm' not found HOT 1
- Capability issue with ping -m HOT 11
- vrf_exec ping sends packets ignoring port gateway HOT 1
- Consider restoring rarpd for booting sparc machines
- actual ping interval value HOT 5
- Patch submission to fix ping interval. HOT 7
- ping: Received an icmp_reply which was not sent by this progress HOT 1
- Ping: Does not show receiving multicast replies HOT 2
- IDEA: -x option to define exit conditions for scripting HOT 5
- ping: potential wrong exit code ? HOT 2
- Unable to build man pages HOT 3
- [RFC] Disable reverse DNS resolution (PTR lookup) HOT 12
- Unsolicited arping exit delayed 1s since "arping: use signalfd() and timerfd() rather than signals" HOT 4
- Cannot run multiple arping simultaneously HOT 11
- Possible integer overflow with -s arg HOT 4
- arping: send_pack() return code is ignored, errno value lost
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iputils.