クロージャがimmutablesをどう扱うかについての私の理解の大部分は、thisから来ます。これは私にとって本当に賢いようです。 1つの値をコピーしたり変更したり、コレクションの最後に新しい値を加えるなど、変更可能なオブジェクトの場合とほぼ同じくらい迅速に処理します。しかし、私が理解しているところでは、immutablesに大きく依存する他の多くの言語は、この種の構造(Haskell、Scalaなど)を使用しません。何故ですか?そのような木構造に欠点があるのか、それとも比較的最近の考えですか?なぜClojuresのような不変モデルを使用する言語は多くありませんか?
答えて
あなたのご理解は間違いです。あなたが参照しているデータ構造の種類は、という永続的なと呼ばれています。ほとんどの関数型プログラミング言語は、ScalaやHaskellを含め、少なくとも数十年前から多用されています。
まだ使用されていない主な命令言語では、後で考えられる機能プログラミングも行います。そのため、これらの言語で「不変」にしようとすると、多くの場合、主に関数型言語よりも効率が低下します。
これは知っておくと良いですが、永続的なことは本当に一般的な言葉です。それらのデータ構造をもっと見てみるにはどうすればいいですか? –
"永続的なデータ構造"のグーグルリングは良い結果をもたらします。クリス・オカサキは、その主題に関する正式な本を書いた。 –
"は、後で考えられる" < - 'として機能します。これは、そのようなことについて主張する多くの言語を記述するのに最適なフレーズです。 –
- 1. なぜ多くのプログラミング言語がありますか?
- 2. SQL言語でIS NULLを使用するのはなぜですか= NULLではなくIS NOT NULLであるかNULLではありませんか?
- 3. 多くの言語で動作するMavenのようなツールはありますか?
- 4. javascriptのような他の言語はありますか?
- 5. WooCommerce:get_current_screenは多言語対応ではありません
- 6. なぜこの多型ではありませんか?
- 7. なぜこのSPARQLクエリには多くの結果がありませんか?
- 8. 私のreduxストアはなぜ不変ではありませんか?
- 9. C言語 - scanf多くの入力がありますが、入力の数は分かりません
- 10. Spark Naive Bayesモデル - そのようなメソッドエラーはありません
- 11. グローバル変数のないプログラミング言語はありますか?
- 12. なぜJSONを使用したSOAPはありませんか?
- 13. デルファイのためのよいスクリプト言語のパスカルのような言語はありますか?
- 14. なぜグラフ処理フレームワークほど多くのグラフデータベースがありませんか?
- 15. なぜ多くのプログラミング言語は変数名の後に*型を置くのですか?
- 16. なぜ:Cocoapodsを使用している場合、そのようなモジュール 'SCRecorder'はありませんか?
- 17. IETF言語コードにはどのようなデータ型を使用する必要がありますか?
- 18. なぜ多くのプログラミング言語では、 "continue" inループ文は "next"と呼ばれていません
- 19. C言語で多言語を使用するには
- 20. C#のようなイベントがDプログラミング言語にあります
- 21. なぜ@NotFunctionalInterfaceはありませんか?
- 22. なぜボトルリターンリストはありませんか?
- 23. なぜPHPはありませんか?
- 24. お問い合わせフォーム7多言語対応ではありません
- 25. プログラミング言語を別の言語に変換するツールはありますか?
- 26. コードテンプレートを使用する言語はありますか?
- 27. Geditユーザーインターフェイスの言語が英語ではありません。どうすれば変更できますか?
- 28. Swiftの拡張機能のような他の言語はありますか?
- 29. Angular2 Dartの多言語ウェブサイトの例はありますか?
- 30. なぜUDPサーバはスレッドを使用する必要はありませんか?
良い質問ですが、話題になっているかどうかわからないので、私はアップウォートに躊躇します。 –
私はPythonでこれを望んでいました。 Pythonでコードを書く方法を根本的に変えるだろう。 –
この質問に何かを追加して、あなたが求めているものに対して答えが「正しい」かどうかを簡単に伝えることを検討できますか? –