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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

JavaScript

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

関数

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

Q&A

解決済

6回答

3499閲覧

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

aaaaaaaa

総合スコア501

PHP

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

JavaScript

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

関数

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

1グッド

0クリップ

投稿2016/07/22 11:18

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

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

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

maisumakun👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2016/07/22 12:06

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

2016/07/22 12:37

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

回答6

0

ベストアンサー

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

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

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

投稿2016/07/22 13:20

nob.

総合スコア711

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/07/25 08:22

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

2016/07/25 12:06

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

2016/07/26 03:12

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

2016/07/26 05:34

式が演算(計算)を要求するものであれば、評価結果とは演算の結果です。 上のコメントで言おうとしたのは、「演算(計算)をしなくても結果を求めることができる式(単項式のことです)もある」ということです。 ですから、「評価結果とは、演算の結果である」の言い方は微妙です。 上のコメントで 「評価結果とは演算の結果ではありません。」と書いたように、評価結果を指しています。 「評価結果」と「演算の結果」は同値ではない、という意味です。 「演算をしない評価」も存在するのですから「評価結果」の方が「演算結果」より広い意味になります。 但し、プログラミング言語の規定(文法)上、単項式の評価を「演算」と呼ぶ場合があるかどうかは 熟知していません。 これまで「演算」と言ってきているのは四則演算のような物を指しています。
aaaaaaaa

2016/07/26 09:37

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

0

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

投稿2016/07/22 11:36

Zuishin

総合スコア28660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/07/22 11:41

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

2016/07/22 12:00

参考 http://www.dictionary.com/browse/evaluate 3. Mathematics. to determine or calculate the numerical value of (a formula, function, relation, etc.). function も evaluate も元々は数学用語です。日本語ではそれを「関数」「評価」と訳します。
aaaaaaaa

2016/07/25 08:14

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

2016/07/25 08:22

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

0

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

投稿2016/07/22 13:04

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

"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 13:55

matobaa

総合スコア2493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2016/07/22 14:12

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

2016/07/22 14:30

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

2016/07/25 08:38

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

0

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

JavaScript

11; // 1 2(1).toString(); // "1" 3Number('1'); // 1 4 5(function () {} ()); // undefined (返り値を指定しない関数の評価値は undefined となる) 6['a', 'b', 'c'].push('d'); // 4 7 81, 2, 3; // 3 (カンマ演算子の評価値は最後の式である) 9var i = 1 + 2; // 3 (var宣言は右辺の評価値を代入する。var宣言の評価値は代入した値となる。) 10while (i < 9) { i++; } // 8 (while は評価値を持たない。8 は i++ の評価値。)

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

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

Re: aaaaaaaa さん

投稿2016/07/26 03:42

編集2016/07/26 03:56
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/07/26 09:39

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

0

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

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

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

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

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

投稿2016/07/22 12:38

LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aaaaaaaa

2016/07/25 08:12

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問