3 ms·
To be fair to the C++ version, you need to give as many guarantees from your code as C++ does from compiling. To me, in this case this is mainly the output form
by snovv_crash 7y ago
To be fair to the C++ version, you need to give as many guarantees from your code as C++ does from compiling. To me, in this case this is mainly the output formatting. Python won't tell you until runtime that you have a malformatted string, so add in some unit tests to make sure your string formatting won't crash, and you'll be at a similar number of lines of code as the C++ or Rust version.
- joshuamorton 7y ago> Python won't tell you until runtime that you have a malformatted string Neither will C++, as far as I know, or do you mean that the compiler will validate the formatting of the string literal (python has linters that will validate this too!). Hell, even with statically verifiable types, the python is shorter.
- jcelerier 7y ago> Neither will C++, as far as I know, or do you mean that the compiler will validate the formatting of the string literal. With iostreams there are no format strings so there is nothing to validate. Libraries such as https://github.com/fmtlib/fmt https://github.com/fmtlib/fmt are allow to do compile-time parsing of the string though.