「所有権のせいで、多数派言語の設計パターンがほとんど通じないという壁にぶつかる」

こういうことを自分は言わなくなったなぁと思ってしみじみとした

  • 他人Aが進む方向に壁があると自分の未来予測が告げている場合に、それを他人Aに言うかどうか、という話
  • 今の僕は:
    • するかも: 一言可能性を示唆する
    • するかも: 示唆したことを記録に残す
    • しない: 相手がその可能性に納得しない場合に説得を試みる
  • 結局のところ未来予測は主観であって、説得は困難
    • 特に利害関係者でない場合には説得する意味がない
    • Aさんは先に進んで壁にぶつかれば良い
    • もしかするとぶつからないかも知れない
    • Aさんが壁にたどり着くまでの間に、Aさんより早く壁にぶつかった人たちが壁に穴を開けるかも知れない
      • その場合もAさんにとっては壁がないのと変わらない
  • Rustの所有権概念によって、Javaを中心とする言語のデザインパターンが実現不可能になったり、有益でなくなったりする
    • この未来予測はほぼ間違いないだろうと思う
    • Javaが普及し出したときにCなどからやってきて、新しい概念に適応できなくてstaticメソッドばかり使う人が出てきてstaticおじさんと呼ばれて揶揄された

わからん… なんで Scala が流行らなかったのに Rust が流行るって思える人がいるのか image

tanakahisateru これ、どちらが良い言語かといったつまらない話だと思われるとこまる。あんな複雑な言語なんてなくていいと、ヌルポにヒヤヒヤし続けた業界のきこりのジレンマ状態を考えたら、いま Rust に良い印象を持っている人たちも本当は、Hello World しかやってないエアプなんじゃないかって疑いがある話

tanakahisateru 実際に「評判がいいらしいから採用しよう」で、何も考えてない上の鶴の一声で、いま他の言語で動いてるのをそのまま移行できるだろうとやると、所有権のせいで、多数派言語の設計パターンがほとんど通じないという壁にぶつかると思うんですよ。まあ、よけい可燃性を高める発言なんですけどね、これ

tanakahisateru 僕が着目している点は、Java から Scala はかなり地続きなほうで、本当に 猫も杓子もで Rust を使おうとし出すと、Scala みたいな漸進的なやり方では、避けることができない必ず出てくる問題に関わる言語機能ばかりなので、多くの人がもっと激しいアレルギー反応を起こすだろうに、というところです

tanakahisateru var と mutable と例外を書くとコンパイルエラーになる Scala が出て、変数と四則演算のあたりから根本的に分岐せざるをえなくなって、全てをリアクティブなフレームワークに乗せなければ、なんてやってたらどうだったのかな