2012-02-10 12 views
1

私はこのフォーラムで質問を提出するのは初めてです。 一般的な質問を投稿しています。私は特定の目的のためにアプリケーションを開発する必要はありません。実行時 で清掃変数/値またはオブジェクトの高性能ランタイム

  1. メモリ割り当て(:私はまだ言語/ランタイム/スクリプトエンジン/これらの5つの要件を満たす仮想マシンを見つけていない「グーグル」の多くの後 例えば、C言語でキーワードdeleteまたはfreeを使用するla C++)
  2. 言語(結果的にはプログラム)はスクリプトまたは のメインコード オペレーティングシステム(windows、linux、*)上でポータブルでなければならないラ・バイトコードを疑似コンパイルしたものです。 bsd、solaris)&プラットフォーム(32/64bit)
  3. マルチコア(エンジン/ランタイム)
  4. このエンジン上のネットワーク

アプリケーションを構築するためのプログラミング言語のためのヒープ使用

  • ライブラリおよびその実行には制限が(パラダイムが重要ではない)指向とらわれないです。 私はこの投稿が聖戦を呼び起こさないことを願っていますが、私はプログラムの実行中にエンジンの動作に焦点を当てたいと思います。

    私の悪い英語のために申し訳ありません。

    ルーク

  • +0

    なぜC++が動作しないのか分かりません。 [RAII](http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)についてお読みになりましたか?失敗した場合、スマートポインタも別のオプションです。 'new'や' delete'を使う必要があることは非常にまれです。 –

    +0

    @CodyGray彼は2番目の要件で "バイナリレベルの移植性"と言います。 –

    +0

    @ user1202456、あなたは最初の要件を正当化できますか?なぜあなたはそれを必要としますか? –

    答えて

    0

    私はErlangのはあなたの条件に合うかもしれないと思う:

    1. ほとんどのデータのローカルスコープに割り当てられたため、使用後すぐに削除されたりETSのようなライブラリー搭載の永久記憶装置に含まれる、DETSされますか、またはMnesia。しかし、ガベージコレクションがありますが、言語のパラダイムがそれほど重要ではありません。
    2. ErlangコンパイラはソースコードをBEAM仮想マシンのバイトコードにコンパイルします。これはJavaとは異なり、レジスタベースであり、はるかに高速です。 VMが利用可能です:(64ビットを含む)
      • Solarisの
      • BSD
      • Linuxの
      • OSX
      • TRU64
      • のWindows NT/2000/2003/XP/Vistaの/ 7
      • VxWorks
    3. Erlangは、分散システム、並行性と信頼性のために設計されています
    4. Erlangのヒープは、あなたの要求に伴って成長しますが、当初は制限されて自動的に拡張されています(VM単位でこれを設定するためのさまざまな調整があります)。
    5. Erlangはネットワーキングの背景から来て、 IPから上位プロトコルへのライブラリ
    +0

    ありがとう!唯一の疑問:「第1日からの信頼性」はどういう意味ですか? – user1202456

    +0

    これらの機能は基本的な設計基準であり、他の言語/システムと同様に後で追加される機能ではありません。 – jupp0r