質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.45%

  • PHP

    24621questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    21054questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • 関数

    267questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

評価という言葉そのものの意味

解決済

回答 6

投稿

  • 評価
  • クリップ 0
  • VIEW 826

aaaaaaaa

score 471

プログラム内で使われる「評価」という言葉は、変数や定数、関数内の値を計算するときも使われるし、
関数に指定していた引数を利用するときも使われるし、多義的で個人的に言うとふわふわしていて、
なんどか質問してみたものの中々整理つかない単語であります。評価という言葉を利用しているときもいまいち意味を噛みしめて使っているかというと疑問が残ります。

なぜ評価という単語は、色々な意味を含有するのでしょうか。演算なら「演算」、引数を利用するのなら「引数を利用する」と説明するのは、いけないことなのでしょうか。
評価という言葉は、とても汎用的なので使われたときは、文脈で察して含有している意味を選ぶ必要があります。

ここで質問ですが演算だったり引数を利用してみたり色々な意味を含有する評価という言葉自体を説明するとどうなりますか。それとも文脈で察するべきなのでしょうか。
またこの言葉に関連して「評価値」という言葉の意味も教えてください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • think49

    2016/07/22 21:06

    過去に同様の質問をして回答もついてますよね。
    https://teratail.com/questions/38967
    新しく質問をするなら過去の質問を閉じてから過去に回答頂いた内容を踏まえた上での質問をするのが回答者への礼儀だと思います。
    経験上、過去の回答を理解してないと思われる質問をされると残念な気持ちになります。
    上記スレッドでraccyさんが短絡評価と遅延評価について説明していますが、https://teratail.com/questions/41847 でも同じような質問をしているんですよね…。

    キャンセル

  • Zuishin

    2016/07/22 21:37

    見てみました。本当にちゃんと説明されてますね。これはさすがに。

    キャンセル

回答 6

+4

演算の結果を出すことを評価と言います。引数を利用することではありません。引数は評価してから利用するのです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/22 20:41

    評価(evaluate)というのは、価値を定めるという意味です。価値というのは評価値つまり演算の結果得られる値のことです。

    キャンセル

  • 2016/07/22 21:00

    参考 http://www.dictionary.com/browse/evaluate
    3. Mathematics. to determine or calculate the numerical value of (a formula, function, relation, etc.).

    function も evaluate も元々は数学用語です。日本語ではそれを「関数」「評価」と訳します。

    キャンセル

  • 2016/07/25 17:14

    ご回答有難うございました。
    つまり、価値を定めるまでが演算、定めると評価、評価値が演算の結果になるのですね。

    キャンセル

  • 2016/07/25 17:22

    「演算する」と「評価する」は別の段階ではありません。ニュアンスが多少違いますが、ほぼ同じ意味だと思っておけばいいと思います。

    キャンセル

checkベストアンサー

+3

Zuishinさんがすでに「ベスト」を書かれているので、余計かも知れませんが……。

「評価する」とは、「式の値を求める」ことです。
変数そのものも「式」です。つまり、
a = b;
は「bを評価し、結果をaに代入する」と
読みます。
関数を呼び出すことも「式」です。
a = f(); は
「関数f()の評価結果をaに代入する」です。

「評価」という語に曖昧なところはありません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 17:22

    ご回答有難うございます。
    今までの回答をもとにすると、評価というのは、演算の結果の意味合いが強いみたいです。変数aに代入されるbを評価するということはbも演算しているということでしょうか。
    右辺に演算子がありませんが、javascript内部で何かしらの計算をしており、何の計算かは分かりませんが計算するということは、結果が伴うので評価という言葉の意味も理解できます。いったいbは、何の演算をしているのでしょうか。

    キャンセル

  • 2016/07/25 21:06

    普通の意味での演算(計算)はしていません。
    右辺はbという1個の変数からなる式です。演算子の無い、変数だけでも「式」なのです。この場合式の値はbの値そのものです。ですから、右辺の式の値を求めるとはbの値を求めることです。
    つまり、
    単項式を評価するとは、単項の値を求めることで、評価結果は単項の値そのものです。

    「なんの演算をしているのか?」と
    言われれば、「何もしていません」
    評価結果とは演算の結果ではありません。式の値です。単項式の値は、変数の値そのものですから、演算をしなくても、式の値を求めることができます。

    キャンセル

  • 2016/07/26 12:12

    ご回答有難うございました。

    >>評価結果とは演算の結果ではありません。式の値です。単項式の値は、変数の値そのものですから、演算をしなくても、式の値を求めることができます。
    私の読解力の問題かもしれませんが、過去の回答で評価は、演算の結果であると認識を得てしまったのですがこれは間違いであるとの認識で合っておりますか。
    演算結果ではなく式の値とのことですが、この言葉は、計算結果のことを指していますか?

    キャンセル

  • 2016/07/26 14:34

    式が演算(計算)を要求するものであれば、評価結果とは演算の結果です。
    上のコメントで言おうとしたのは、「演算(計算)をしなくても結果を求めることができる式(単項式のことです)もある」ということです。
    ですから、「評価結果とは、演算の結果である」の言い方は微妙です。
    上のコメントで
    「評価結果とは演算の結果ではありません。」と書いたように、評価結果を指しています。
    「評価結果」と「演算の結果」は同値ではない、という意味です。
    「演算をしない評価」も存在するのですから「評価結果」の方が「演算結果」より広い意味になります。

    但し、プログラミング言語の規定(文法)上、単項式の評価を「演算」と呼ぶ場合があるかどうかは
    熟知していません。
    これまで「演算」と言ってきているのは四則演算のような物を指しています。

    キャンセル

  • 2016/07/26 18:37

    ご回答有難うございました。
    とても勉強になりました。

    キャンセル

+3

厳密な定義の意味を知りたいのであればStructure and Interpretation of Computer Programs(通称:SICP、邦題:計算機プログラムの構造と解釈)を読むと良いでしょう。日本語訳のPDFがありますので、リンクを張っておきます。
https://github.com/minghai/sicp-pdf
他にも、最初のリンクであるWikipediaに他の日本語訳のリンクがありますので、参考にしてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+2

"Evaluate" を翻訳したのが「評価」です。「演算の結果を出す」という意味でしょうか。

「関数に指定していた引数を利用するとき」にも「評価」と言うことがあるのは、それが「演算の結果を出す」に当てはまるからです。


多くのプログラミング言語において、「定数だけ」「引数だけ」も「式」です。

たとえば javascript ES7 の仕様書では以下のように: (日本語はいま適当に選びました間違ってるかもしれません)

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-comma-operator

「式」とは 「代入式」または「式, 代入式」という形
「代入式」とは「条件式」または「Yield式」または「アロー式」または「左辺式 = 代入式」または「左辺式 代入演算子 代入式」という形
「条件式」とは「論理和式」または「論理和式 ? 代入式 : 代入式」という形
「論理和式」とは「論理積式」または「論理和式 || 論理積式」という形
「論理積式」とは「ビットOR式」または「論理積式 && ビットOR式」という形
「ビットOR式」とは「ビットXOR式」または「ビットOR式 | ビットXOR式」という形
「ビットXOR式」とは「ビットAND式」または「ビットXOR式 ^ ビットAND式」
「ビットAND式」とは「比較式」または「ビットAND式 & 比較式」
「比較式」とは「シフト式」または「比較式 < シフト式」または「比較式 > シフト式」……
「シフト式」とは「加減式」または「シフト式 << 加減式」……
「加減式」とは「剰余式」または「加減式 + 剰余式」または「加減式 - 剰余式」
「剰余式」とは「べき乗式」または「剰余式 乗除演算子 べき乗式」
「べき乗式」とは「単項式」または「更新式 ** 単項式」
「単項式」とは「更新式」または……「+ 単項式」または「- 単項式」……
「更新式」とは「左辺式 ++」または「左辺式 --
「左辺式」とは「new式」または「Call式」
「new式」とは「Member式」または「new new式」
「Member式」とは「Primary式」または「Member式」[]」または 「Member式.識別名」……
「Primary式」とは「this」または「識別子参照」または「定数」……
「識別子参照」とは「識別子」または yield
「識別子」とは「識別名」ただし予約語でない

http://www.ecma-international.org/ecma-262/7.0/index.html#sec-identifiers-runtime-semantics-evaluation

識別子参照を評価すると、その参照の値を返す (つまり、変数や引数の値を返す)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/22 23:12

    引数(parameter)が式である言語があるのですか?

    キャンセル

  • 2016/07/22 23:30

    すみません。パラメータリストと勘違いしました。

    キャンセル

  • 2016/07/25 17:38

    ご回答有難うございました。
    今まで頂いた回答をもとにすると、演算の結果の意味合いが強いですね。

    >>「関数に指定していた引数を利用するとき」にも「評価」と言うことがあるのは、そ>>れが「演算の結果を出す」に当てはまるからです。
    >>多くのプログラミング言語において、「定数だけ」「引数だけ」も「式」です。
    引数や、定数を評価するという言葉を見かけるたびに疑問符が浮かんでおりましたが漸く理解できました。定数や引数だけを記述しても式になるので、式になればもちろん計算することになるし、計算すれば結果も伴うので「評価」というのですね。

    キャンセル

+1

「演算」と「評価」は似た意味ですが、
前者は過程、後者は結果に重点を置いた表現です。

いろいろなプログラミング言語に「eval」という関数(メソッド)があり、
これは「evalで評価する」と「評価」の表現が慣習的に使われています。

それまで足したり削ったり、文字列を演算してきたけれど、
文字列としていったん確定して、プログラムとして「評価」する。

これをたとえると、こういう気持ちだろうと思います。
家で食器として使ってきた皿が、じつは由緒あると聞き、
鑑定士に美術品として「評価」してもらう……。

つまり、過去から進行してきた「演算」の流れをいったん完了させ、
確定した結果に注目するとき、「評価」という言葉を使います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 17:12

    ご回答有難うございました。
    なるほど、演算は、計算とその結果を含有するのかと思っておりましたが、
    どちらかというと計算結果を出すまでの意味合いが強く、評価だと計算の結果の意味合いが強くなるのですね。

    例え話だと、鑑定士に評価される寸前までが演算、結果が評価となるのですね。

    キャンセル

+1

「評価する」とは「評価値を出す」事です。
「一部の文」と「全ての式」には評価値が設定されており、ブラウザの開発者ツールでコンソールを開いてコードを1行ずつ実行すれば評価値が返ってきます。

1;              // 1
(1).toString(); // "1"
Number('1');    // 1

(function () {} ());        // undefined (返り値を指定しない関数の評価値は undefined となる)
['a', 'b', 'c'].push('d');  // 4

1, 2, 3;                // 3 (カンマ演算子の評価値は最後の式である)
var i = 1 + 2;          // 3 (var宣言は右辺の評価値を代入する。var宣言の評価値は代入した値となる。)
while (i < 9) { i++; }  // 8 (while は評価値を持たない。8 は i++ の評価値。)

私の読解力の問題かもしれませんが、過去の回答で評価は、演算の結果であると認識を得てしまったのですがこれは間違いであるとの認識で合っておりますか。

「評価」と「演算」は別の概念です。
「関数の返り値」「代入文の評価値」など、演算しなくても評価する場合があります。

Re: aaaaaaaa さん

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/26 18:39

    ご回答有難うございました。演算より広い意味を持つのが評価なので概念が別なのですね。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.45%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • PHP

    24621questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    21054questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • 関数

    267questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

閲覧数の多いPHPの質問