Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
BRANK

zenn.dev
Related Topics: C++ Java Elixir
2 comments
  • 手放しに全同意とはいかないけど論点を定義してその定義内での比較をしており一定の合理性はありそう。オタクが登場して言語仕様と実装を区別しろとか言われそうだけど。

    Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
    zenn.dev/hinastory/arti…

  • ここまできれいにまとめ上げられているのはすごいと思いました。力作。

    ただ、前提のところから同意できなかったので、この記事の結論にも同意できなかった。「一つのプログラミング言語で万能ナイフのように場面を選ばず使える言語」を前提に置き、設計の目的と想定する用途が異なる言語同士を比べるのは切り口として微妙だと思う。たとえばJavaにシステムプログラミングを求めても設計上無理なものは無理。そしてこうした「設計上明らかに想定していない箇所」に対して星取り表で「×」を書くことに意義があるとは思えない。

    では「お前が思う実用性ってなんだ」って言われると難しいんですけど、普通にある特定の用途(e.g. HTTPをしゃべるサーバーサイドを実装したいとか)で利用しようとした時に、本番運用に耐えられるくらいにツールやライブラリが充実していれば、「その分野では実用的」と言ってよいのではないでしょうか。要は議論の流れが逆なんじゃないか、と感じた。

    また、たとえば記事中の表の多くが埋まっていると実用性が高いと言うことになるんだろうか?「そして○が多い方が様々な分野で利用可能な言語だと言うことが何となく分かるかもしれません。」と後ろに著者は書いており、ということは表が埋まっていればいるほど著者の言う「実用的」ということになるか。そうだとすると、インタプリタを選ぶかトランスパイラを選ぶかコンパイラを選ぶか…の話は、そもそも直交する概念で「Aと同時にBを選択できる」の関係にはないと思う。表のロジックが崩壊してしまっている気がする。