1. 37

  2. 7

    I wrote about it in frustration a month ago is that it doesn’t take a little longer to be effective in Rust compared to other languages, it takes 10 to 20 times longer

    I head that and mostly interpret it as “learning a different paradigm” takes just longer. When I started I used to think that languages are very different from each other but actually the differences between Python and Ruby and Perl are mostly syntactical, switching between C# and Java is for the biggest part dominated by knowing the APIs and where to look for things. Whereas going from Java to Rust ist… a bigger leap. But the leap is roughly the same when learning Haskell, OCaml or becoming proficient in Prolog, APL/Factor etc. This time it is a different way to think about the problem instead of where to put the squiggly parens.

    1. 2

      This matches my experience. I’m many months and at least two books worth of reading into my rust journey and I’m still struggling a lot. I think the language actually requires such an enormous change in how I plan my program, which tools I use, and how a program is coded that I might need to just start over and not assume anything. The actual coding process I use in other languages, which is write an iota of code, run it, rinse repeat doesn’t seem to be viable in rust and I need to figure out what the fluent rust coders actually do at an expression-by-expression level of detail.

      1. 1

        I’m not a “fluent Rust coder”, but from the Rust I have coded a Haskellish strategy seems to work: write an iota of code, try to compile it, rinse repeat (eventually run when it compiles. sometimes.)

        1. 1

          I get into trouble a few minutes later when I realize I used the wrong type for something (like I used String but whoops I should have used Path). Now all of a sudden I’ve got tons of unused import warnings and like 0% of the string API overlaps with the Path API and I have to basically start a fresh project and port the code over based on the dependency graph bit by bit.