差し迫った2.8リリースで予定されているScala コレクション ライブラリの再実装を検討し始めたところです。2.7 からのライブラリに精通している人は、ライブラリが使用の観点からほとんど変わっていないことに気付くでしょう。例えば...
> List("Paris", "London").map(_.length)
res0: List[Int] List(5, 6)
...どちらのバージョンでも動作します。このライブラリは非常に使いやすく、実際、素晴らしいものです。ただし、これまで Scala に慣れておらず、言語の感触をつかもうとしている人は、次のようなメソッド シグネチャを理解する必要があります。
def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That
このような単純な機能の場合、これは困難な署名であり、理解するのに苦労しています。Scala が次の Java (または /C/C++/C#) になる可能性があったとは思いません。その作成者がその市場を狙っていたとは思いませんが、Scala が Java になることは確かに実現可能であると思います。次の Ruby または Python (つまり、重要な商用ユーザー ベースを獲得するため)
- これは、人々が Scala に来るのを遠ざけるのでしょうか?
- これは、熱心な博士課程の学生だけが理解できるアカデミックな遊び道具として、商用の世界で Scala に悪い評判を与えることになるのでしょうか? CTOやソフトウェアの責任者は怖がるでしょうか?
- ライブラリの再設計は賢明なアイデアでしたか?
- Scala を商業的に使用している場合、これについて心配していますか? 2.8 をすぐに採用する予定ですか、それとも何が起こるかを待つ予定ですか?
Steve Yegge はかつて Scala を攻撃しました (私の意見では間違っていました)。誰かがこの API を使ってFUDを広めるフィールド デイを開催するのではないかと心配しています (Josh Blochが Java にクロージャを追加することからJCPを怖がらせたのと同様に)。
注-ジョシュア ブロッホが BGGA 閉鎖提案の却下に影響を与えたと私は信じていますが、これは提案が誤りであるという彼の正直な信念以外の何物でもないことを明確にしておく必要があります。
妻や同僚が何を言おうと、私は馬鹿だとは思いません: 私はオックスフォード大学で数学の学位を取得しており、ほぼ 12 年間商用プログラミングを行っており、Scalaで約 1年間プログラミングを行ってきました。年間(商業的にも)。
扇動的な件名は、1980 年代初頭の英国の政党のマニフェストについての引用であることに注意してください。この質問は主観的なものですが、本物の質問です。私はそれを CW にしました。この件について意見をお願いします。