5

より強力な型システムと構文を提供しようとする、Scala に代わるものはないかと考えました。私は Haskell などの機能的な代替手段を認識していますが、たとえば、仮想クラス、完全な多重継承、より柔軟なコンストラクター構文、静的など、Scala に欠けている領域など、物事の静的 OO 側を実際に推進しているものはありますか?コントラクト チェック、より強力なパス依存性、MyTypes、フレンド修飾子、ファースト クラス インポート、または難解なタイピング ツールなど、私は考えたことも聞いたこともありません。

OO とそれほどではありませんが、Static は最近流行していないようです。しかし、最新のコンピューターの能力により、過去数十年間のコンパイラー作成者の夢をはるかに超えた静的コンパイラーの作成が可能になっていることに私は驚きました。

私は何も出くわしていないので、すぐに製品コードをノックアウトしたいという選択肢はないと思います。しかし、たとえそれらがまだ非常にアカデミックな言語であったとしても、私はそれらに目を光らせ、おそらくそれらをいじりたいと思っています. 私は特に、Scala のレフト フィールドの代替と呼ばれるものを探しています。そのため、パワーよりもシンプルさを優先しようとしている Ceylon や Kotlin ではありません。最近、エッフェルはどこにも行っていないようです。私は gBeta と Ceasar に出くわしましたが、Scala に負ける領域があるかどうかはわかりませんでした。他の可能性はありますか?

4

2 に答える 2

4

一言で言えば、いいえ。Scalaの型システムに近い人気のあるOOの選択肢はありません。必要な機能があれば、C ++、D、およびGoをよく見てみることをお勧めします。

冒険心があり、OOのアイデアに完全に執着していない場合は、TypedRacketをご覧ください。Coq、Idris、およびAgdaは、非常に興味をそそる依存型のグッズを提供しています。または、Haskell、F#、OCamlなどの人気のあるFP言語に目を向けてください。

オブジェクト指向言語が必要な特別な理由はありますか?繰り返しになりますが、Scalaは、クールな型システムとOOが必要な場合は、おそらく現在の状態と同じくらい優れています。

于 2012-06-18T20:23:43.663 に答える
1

D (具体的には、D バージョン 2、別名 D2) は、まさにあなたが探している言語です。

D、Visual D (Visual C++ 用プラグイン)、Mono-D (MonoDevelop 用プラグイン)、DDT (Eclipse 用プラグイン) などの IDE/プラグインを紹介する Youtube のビデオがあります。

dlang.org のメイン サイトには、完全なライブラリ リファレンス、言語構文、チュートリアル、初心者/上級者向けのディスカッション フォーラムなどがあります。

GUI については、GtkD を参照してください。現在、これには DMD コンパイラを使用する必要があると思います。

dsource.org と github には他にも多くのサードパーティ ライブラリ/コードがありますが、コア ライブラリには json パーサー、XML パーサーなどのすべての基本が含まれており、コア言語には構築する必要がある多くのものが含まれていることがわかります。ハッシュマップ、動的配列、契約による設計、静的に評価されるテンプレート/式など。

D2 を使用すると、C や C++ に直接リンクしたり、Python/LUA コードなどにバインドしたりできます。システム言語として機能します (必要に応じて、それを使用して OS を作成できます)。最新の言語としても機能します。高レベルで洗練された迅速なアプリケーション言語であり、同時実行の安全なコードなどをサポートします。

全体として、非常に印象的です。それに比べて Scala はメモリを大量に消費するのが遅いため、あまり普及していないのは悲しいことです ;)

于 2012-06-30T15:19:39.773 に答える