avinassh / gg-flip

Highly performant Javascript library to flip the signs
https://avi.im/gg-flip/
MIT License
190 stars 5 forks source link

Rewrite it in rust? #17

Open agauniyal opened 6 years ago

agauniyal commented 6 years ago

Writing Rust is like going to a monastery to practice the art of amazing programming. The initial curve can be brutal: you will get beaten by borrow checker for unsafe habits, you will have to recite parametric trait mantras every day and contemplate the Zen of lifetime and thread-safety. It will be painful, but it's a path to enlightenment. Even when you leave the monetary, you will be another person. You will start to appreciate safe methods, right ways of sharing data, unbreakable APIs.

In addition to that, rust also has :zero: zero-cost abstractions :zero:, 🏃move semantics 🏃, 💯 guaranteed memory safety 💯, 🏁 threads without data races 🏁, 🌪 trait-based generics 🌪, 🔄 pattern matching 🔄, 🔩 type inference 🔩, 🙅‍♂️ no runtime 🙅‍♂️ and 🔥 efficient C bindings 🔥.

PS - did I mention its ⚡️ webscale ⚡️?

avinassh commented 6 years ago

I agree with all the above, however, Rust has generics which really makes that as an unsuitable candidate for GG Flip as compared to Go. However, I will still keep this thread open for more discussions and ideas. Perhaps if someone forks Rust and compiles it without generics.

BradfordMedeiros commented 6 years ago

I have HUGE ISSUES with this. RUST is safe! Are we really willing to invoke the garbage collector? We need to remember to keep it SOLID

Besides I'm not sure if GO is really webscale like you claim it is.

BradfordMedeiros commented 6 years ago

Also we should consider adding mongo or maybe be traditional and postgres/mysql/mariadb to be able to support more sign flip types. Looks like we have an enumerated list of sign flip capabilities, but we need to be able to support every possible flip.