私はSteven Skienaの「The Algorithm Design Manual」を読んでおり、155ページの彼のウォーストーリーの 1つで彼は次のように述べています。
Mathematicaでは、計算の適用モデル(配列への一定時間の書き込み操作をサポートしていない)と解釈のオーバーヘッド(コンパイルではない)のため、効率はMathematicaの大きな課題です。
私はすでにSICPを読んでいるので、適用言語と通常順序言語の違いに精通しています(つまり、通常順序言語は必要になるまで手続き引数の評価を遅らせますが、適用順序言語はそれらが評価されるとすぐに評価しますプロシージャが呼び出されます)。しかし、上記のスキーナの文は、アプリケーション順言語のアイデアと、一定時間より悪い配列書き込みのアイデアとを関連付けているようです。AbelsonとSussmanが彼らのテキストでこれを言及したのを覚えていないので、これは驚きでした。
trueの場合、アプリケーション順言語が一定の時間内に配列に書き込みを行わない理由は何ですか?配列の書き込み時間を決定するときに評価の順序が重要になるのはなぜですか?
私はビッグ-Oの書き込みパフォーマンスは何も興味がある決定的な答えがありますしない限り、私はその質問をスキップしますので、この場合には、私は言語の実装に依存している想像してみてください。