アカウント名:
パスワード:
しかし、やはり入門者にはあまり優しくないと思う。非常に丁寧なチュートリアルがあって入門自体は容易なのだが、そこから一歩踏み出すと急に突き放された気分になる。
致命的なのがドキュメントが検索しづらく読みにくい上に情報が(まだ)あまりない。それにも関係するが、多くの言語なら(準)標準ライブラリに入っているようなものが、個別のコミュニティでメンテナンスされている。開発サイクルを考えるとそれ自体は悪いことではないのだが、情報が分断されてしまっている。
標準ライブラリが「薄い」点はC言語も似た
あとエラーメッセージもあまり親切でないね。何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない。
まぁ、例えばC++のテンプレートのエラーも似たようなもんだけど、大抵は、エラーの箇所を適当にコメントアウトしたり、スタブに置き換えたりして、作業を進めながら原因究明ができる。
Rustの場合、そういった一時的な取り繕いが他のエラーにどんどん波及していくので、前から順番に問題解決していくことを暗に強いられる。安全性とのトレードオフあるいはランタイムエラーとの格闘に対する先行投資ではあるのだけれど、壁にぶち当たった時の時間の浪費感が半端ない。
>何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない。かなり初期の段階でエラーメッセージに答えそのものを載せるようになったし、今は該当仕様のドキュメントのリンクも載せる。逆にエラーメッセージがbloat起こして煩わしいよ。
だからまさにそれが「何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない」ってことでしょ。
https://doc.rust-lang.org/edition-guide/rust-2018/the-compiler/improve... [rust-lang.org]これ読んで、「そういうことじゃねーよ」って思わない?
>これ読んで、「そういうことじゃねーよ」って思わない?思うけど、今はドキュメントのリンクも載せるって言ってるじゃん。
そのドキュメントが何が起こったかを多少丁寧に説明するだけでないの?
エラーはそれ自体が原因であることも多いが、別の問題の結果であることもあり、厄介なのは後者。同じエラーでもコンテキストに応じてメッセージを変えるのが「親切」。「丁寧」とはまた違う。
勿論、他の言語でもエラーメッセージが不親切な例はいくらでもあるが、Rustのドキュメントの質と到達可能な情報量、歪な丁寧さが問題を際立たせている。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
Rustの言語設計自体は好き (スコア:5, 興味深い)
しかし、やはり入門者にはあまり優しくないと思う。
非常に丁寧なチュートリアルがあって入門自体は容易なのだが、そこから一歩踏み出すと急に突き放された気分になる。
致命的なのがドキュメントが検索しづらく読みにくい上に情報が(まだ)あまりない。
それにも関係するが、多くの言語なら(準)標準ライブラリに入っているようなものが、個別のコミュニティでメンテナンスされている。
開発サイクルを考えるとそれ自体は悪いことではないのだが、情報が分断されてしまっている。
標準ライブラリが「薄い」点はC言語も似た
Re: (スコア:0)
あとエラーメッセージもあまり親切でないね。
何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない。
まぁ、例えばC++のテンプレートのエラーも似たようなもんだけど、
大抵は、エラーの箇所を適当にコメントアウトしたり、スタブに置き換えたりして、
作業を進めながら原因究明ができる。
Rustの場合、そういった一時的な取り繕いが他のエラーにどんどん波及していくので、
前から順番に問題解決していくことを暗に強いられる。
安全性とのトレードオフあるいはランタイムエラーとの格闘に対する先行投資ではあるのだけれど、
壁にぶち当たった時の時間の浪費感が半端ない。
Re: (スコア:0)
>何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない。
かなり初期の段階でエラーメッセージに答えそのものを載せるようになったし、
今は該当仕様のドキュメントのリンクも載せる。
逆にエラーメッセージがbloat起こして煩わしいよ。
Re:Rustの言語設計自体は好き (スコア:0)
だからまさにそれが「何が起こったかは分かるけど、何故そうなったか(何を直せばいいか)をほとんど教えてくれない」ってことでしょ。
https://doc.rust-lang.org/edition-guide/rust-2018/the-compiler/improve... [rust-lang.org]
これ読んで、「そういうことじゃねーよ」って思わない?
Re: (スコア:0)
>これ読んで、「そういうことじゃねーよ」って思わない?
思うけど、今はドキュメントのリンクも載せるって言ってるじゃん。
Re: (スコア:0)
そのドキュメントが何が起こったかを多少丁寧に説明するだけでないの?
エラーはそれ自体が原因であることも多いが、別の問題の結果であることもあり、厄介なのは後者。
同じエラーでもコンテキストに応じてメッセージを変えるのが「親切」。「丁寧」とはまた違う。
勿論、他の言語でもエラーメッセージが不親切な例はいくらでもあるが、
Rustのドキュメントの質と到達可能な情報量、歪な丁寧さが問題を際立たせている。