JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド
僕は今、プログラマーとしての幸福感に満たされている。遅延評価を習得できたと思えるからだ。 遅延評価 なぜ関数プログラミングは重要かには、遅延評価の利点を以下のように説明している。 停止条件はループの本体とは切離すことができ、強力なモジュール化が可能となる。 例として載っている「ニュートン-ラプソン法による平方根」は、若干難しいので、簡単な別例を示そう。Haskell には、第一引数の数だけ、第二引数を繰り返す関数 replicate がある。 > replicate 3 'a' → "aaa" これを普通に実装するとこうなる。 replicate 0 c = [] replicate n c = c : replicate (n-1) c Haskell 以外で実装する場合、きっとループを使うだろう。ただ、ここでは再帰かループかは問題ではない。 問題は、「結果を作る仕事」と「終了条件を判断
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く