[解決済み] ラムダ言語とは?
2023-03-11 11:33:57
質問
JavaScriptを読んでいます。The Good Parts"を読んでいて、著者はJavaScriptがラムダ言語の中で最初に立ち上げられた言語であることに触れています。
JavaScriptの関数は、(ほとんど)レキシカルスコープを持つファーストクラスオブジェクトです。JavaScriptは最初の ラムダ言語 が主流になりました。JavaScriptは、JavaよりもLispやSchemeと共通点が多い。C言語の皮を被ったLispなのです。そのため、JavaScriptは非常に強力な言語なのです。
ラムダ言語とは何なのか、よくわかりませんでした。また、Java、C、C++、PHPなどの言語とどのように違うのでしょうか?
どのように解決するのですか?
ラムダ言語という言葉を使う人は聞いたことがありませんし、もっともらしい定義といえば、JavaScriptを「最初の."」として除外することくらいしか思いつきません。
とはいえ、私は彼がどちらかを意味するのではないかと思っています。
- 関数型言語:計算が(おそらく高階の)関数のステートレス合成としてモデル化される(またはされうる)言語のクラスです。LISP、Scheme、ML、Haskell などはよくこのクラスに分類されますが、これらのいくつかはより適切に混合パラダイムまたは関数型オプション言語であると言えます。Javascriptは間違いなく、プログラミングのquot;functional style"を可能にするために必要な機能を含んでいます。
-
無名関数の作成が可能な言語 (
function
の構文で、JavaScriptではlambda
と書かれているため、ラムダ言語と呼ばれることもあります。
両方の用法は、アロンゾ・チャーチによって考案され、関数型プログラミングの基礎となった計算のモデルであるラムダ計算において、関数の抽象化を示すためにギリシャ文字のラムダを使用することに由来しています。
編集:Googleブックスの結果を見てみると---"first to go mainstream"まあ、これは議論の余地がありますね。私は、LISP は少なくともある時点では合理的な主流であったと主張します。JavaScriptのセマンティクスはSchemeに直接触発されたものであり、同様の主張をする他のどの言語よりも多くの読者を獲得していることは確かだ。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] リスト内包とラムダ+フィルタの比較
-
[解決済み] クロージャ」と「ラムダ」の違いは何ですか?
-
[解決済み] ラムダ(関数)とは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み】C++11のラムダ式って何?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] なぜ "use strict "はパフォーマンスを10倍向上させるのか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] jQueryで入力ファイルが空かどうかをチェックする方法
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] jQueryのバージョン1、バージョン2、バージョン3の違いは何ですか?[クローズド]
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ