|
|
|
|
|
by alpaca128
1966 days ago
|
|
> 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. |
|
If I know how the external system will behave then yes Rust is better, obviously. However I was talking on the case of figuring out, as the article says. Sometimes you are not even there, you integrate with an external (legacy? undocumented? buggy?) system and you need to understand what's going on. In these cases a dynamic language is so much more productive than Rust and any Rust-like language.