bwdcal wrote: ↑11 Jan 2023 03:05
Hello, i2p developers.
rust / c / c++ performs better and compiles binary without external dependencies, so that it can be easily deployed on cheap vps at scale.
I found a rust implementation of i2p on github (a project called ire), but it seems to be less mature and not maintained anymore.
And rust / c / c++ can create dynamic libraries that can be called or embedded in other language platforms.
java is not well suited for a network underlay like i2p, so I hope to develop a rust version. Or merge the i2pd project to optimize the development effort and resources.
In my opinion, using C or C++ in an i2p rewrite (or any rewrite) is a horrible idea.
Yes C and C++ will be faster and much more memory efficient than Java, but they are way less secure than Java.
C and C++ are buggy languages. They are old, have design defects and lack of good easy toolchain for beginners.
Doing a Rust rewrite is a great idea. Rust have both performance and safety without sacrificing productivity.
The bad performance of Java (or any other half compiled or interpreted language) appears clearly when the application grows bigger, a clear example would be Android studio, or Android itself having some lags and not being the best thing.
I believe an i2p rewrite in Rust with a good desktop GUI app in Rust (using iced for instance) will be the perfect thing to do.