|
|
|
|
|
by vasilakisfil
1966 days ago
|
|
I use Rust everyday in the past 15 months. The programming language is just a very small part of the whole picture. Usually you integrate with many 3rd party systems that don't always provide all the guarantees they claim (so you get many edge cases) and understanding these things is not trivial. If it was only for understanding the code it would be easy. And actually having worked with both Rust and Ruby, the easiness of binding.pry and debugging is unbeatable. Rust gives you guarantees how the code behave, but when you have input from external sources (user input or external service input), it's much easier to understand what's happening (=debug) in a dynamic language. |
|
I would argue the opposite. It's easier to understand what's happening when you know at a glance what datatypes are involved, whether they're used by value or reference and how each case is handled. When I last worked with Python it was rather time consuming to fix bugs that crashed a script at some point after 10 minutes of processing, caused by code that would have thrown a clear compiler error in some languages and would have been fixed in seconds.
And when I look at e.g. a Rust function signature I immediately see what kind of data is used as arguments and what's passed back in the result. Meanwhile in JavaScript you just need to forget a symbol in a check and suddenly it won't know the difference between "false", "null" and "undefined".
You are right about integrating third-party systems, but I still prefer the approach where possible issues are discovered as early as possible.