技術系のブログでいきなり何だ?と思われるかもしれません。
が、IT系の技術を身につける上で欠かせないのが文の読解力と表現力です。
言語を扱うプログラマーなら尚更です。
ドキュメントを読むには読解力が必要です。
設計やコーディング、ドキュメンテーションにおいては表現力が必要です。
オブジェクト指向言語においては、オブジェクトが主語であり、メソッドが述語です。
つまり、技術力を培ったり発揮したりする基盤となるのが、文の読解力と表現力です。
その初歩となるのが主語と述語の関係を理解することです。
大学入学共通テストに出てくるような長ったらしい長文も、最悪、主語と述語を見つければ、文の主題だけは読み取れる筈です。
$me = new Person("my name");
$you = new Person("your name");
$request = $me->request($you, "あれやって")
->why(new Reason("やってくんなきゃやだ"))
->by(new DateTime("1 hour later"));
try {
if (! $you->isAcceptable($request)) {
throw new RuntimeException("だが断る");
}
while (! $you->got($request)) { // 理解するまで地獄のループ
$me->explain($you, $request);
}
return $you->process($request, ["effort" => "high"]);
} catch (\Throwable $e) {
Log::error($e->getMessage());
}
この記事のゴール
日本語の文における「主語」と「述語」の関係を正しく捉えることができるようになる。
誰に向けて書いてるの?
え、そんなの小学校で習ってて誰でも知ってるじゃん?と思うかもしれませんが、筆者の経験からすると、文の意味を正しく理解できている人というのが存外少ないのです。大人でも子供でもです。
以前、筆者は学習塾で勤務していたことがあり、多くの生徒と接してきましたが、成績優秀な生徒の中にも、文の意味は直感的にしか捉えておらず、主語も述語も理解していない生徒が多くいました。それでは文の意味を理解できていないことになります。保護者ですら理解できている人は少なかったことを記憶しています。
また、IT業界でも多くの人と接してきましたが、主語・述語・目的語・修飾語を明確に記述した指示内容を文書で渡しても、文書の内容を理解せずに成果物を上げてくる人に多く出会いました。「理解できない内容は説明するので質問してください。」と添えているにも関わらずです。
なぜこんなことになるのか考えてみたのですが、いくつかのケースが考えられます。
指示通りの成果物が上がってこない原因として考えられるケース:
▼1.そもそも読んでいない。
▼2.読んではみたが理解していない。とりあえずやってみた。
⇒(違うものができたが)まあいいや、とりあえず完了した。
▼3.読んで不明点はあったが、遠慮して質問しなかった。
⇒理解できていないので、ダメ元で完了した。
▼4.読んではみたが実は誤って理解した。がんばった。
⇒誤って理解しているので、確認して(誤った認識で)完了した。
▼5.読んで理解はしている。
⇒作業後の確認を怠り完了とした。結果、指示通りになっていない。
「理解できない内容は説明するので質問してください。」と添えているので、
「筆者の指示内容が意味不明」というケースは除外しています。
上記1と2のケースは、筆者としては「どうしようもない」と考えています。
文書を渡したところで「読む意思がない」あるいは「読んでも理解する意思がない」からです。
意思がないところに成果は生まれないと思います。
設計書を無視して感覚だけでコーディングする奴とか。
どうぞ一生やらかしてください。でもこちらには被害を及ぼさないでくださいね。
上記3のケースについては、2のケースと似ていますが、意思の点で大きな違いがあります。遠慮なく聞いてもらえるように雰囲気づくりすればOKでしょう。
上記4のケースは今後の努力で改善の見込みがあります。
上記5のケースは・・・確認を習慣づける訓練が必要です。
この記事は上記3と4のケースに対して書く内容です。
return match ($yourResult->getFailedReason()) {
"読んで不明点はあったが、遠慮して質問しなかった。" => Potential::IMPROVEMENT_EXPECTED,
"読んではみたが実は誤って理解した。がんばった。" => Potential::IMPROVEMENT_EXPECTED,
"読んで理解はしている。作業後の確認を怠った。" => Potential::TRAINING_NEEDED,
default => Potential::NO_HOPE,
};
小学校で習っているのに何で理解できていないの?
それは「学校での教え方が良くない」からだと思います。
日本人の多くが、学校の授業において、主語と述語の捉え方について、次のような(あるいは似たような)内容で教わると思います。
主語とは、「~は」「~が」に当たる言葉です。
しかし、この内容は、正しいとは言えません。
これしか教わっていないと、罠にハマります。
例えば、筆者が学習塾勤務のときに、「次の文において主語はどれですか?」
今日は私も参加します。
と生徒・保護者100人に質問したところ、正解したのは3人だけでした。
97人が「今日は」が主語だと即答したのですが、正解は、「私も」が主語です。
$sentence = "今日は私も参加します。";
$subject = $you->answerSubject($sentence); // 今日は
echo $teacher->isSubjectWright($sentence, $subject) . PHP_EOL; // No!
echo $teacher->tellMeSubject($sentence) . PHP_EOL; // 私も
疲れましたが、頑張ります。
の文では「疲れましたが」が主語ですと答えた人が90人、わからないと答えた人が6人、正解4人でした。
「主語は書かれていない(省略されている)」が正解です。
あるいは「省略されているが、敢えて言うなら『私は』が主語」とも言えなくもないです。
$sentence = "疲れましたが、頑張ります。";
$subject = $you->answerSubject($sentence); // 疲れましたが
echo $teacher->isSubjectWright($sentence, $subject) . PHP_EOL; // No!
echo $teacher->tellMeSubject($sentence) . PHP_EOL; // null
述語については、全員正解していました。
それはそれで素晴らしいです。
問題点は、「主語を正確に捉えることができていない」ことです。
じゃあ、主語って何なのさ?
主語は述語の主体(主人公)です。
主語は、述語から逆に辿ると自然にわかると思います。
述語は主語の動作や状態を表す言葉です。
述語の例としては、「書く」「走る」「むずかしい」「元気です」など。
述語が動作なら、その動作をしているのが「誰なのか」「何なのか」を考えるとわかります。
述語が状態なら、その状態にあるのが「誰なのか」「何なのか」を考えるとわかります。
例えば、前段で例示した文、
今日は私も参加します。
の述語は「参加します」ですが、「参加します」の主体は誰なのかというと
「私も」ですね。
「今日は」としてしまうと、参加するのが「今日」という人、ということになってしまい、変な意味になってしまいます。
疲れましたが、頑張ります。
の文の述語は「頑張ります」ですが、じゃあ、この頑張るのは誰なのか?
書いてないですね。つまり「主語は省略されている」が正解です。
敢えていうなら「頑張ります」と宣言した本人「私は」と言えないこともないです。
$sentence = "今日は私も参加します。";
$predicate = $you->answerPredicate($sentence); // 参加します
$subject = null;
if (Predicate::isAction($predicate)) {
$subject = $you->answerWhoDose($sentence, $predicate); // 私も
} else {
$subject = $you->answerWhoIs($sentence, $predicate);
}
何で主語と述語が大事なの?
文の存在意義について考えると、
「文は主語について述語で表現するためのツール」と言えるからだと筆者は考えています。
一部の例外はありますが。(「どひゃぁ!」などの感嘆文など。)
つまり、主語と述語を捉えないと、まず主要な意味を捉えることができないということです。
「誰が何する」「誰が何をどうする」「何がどんな状態だ」ということが判らないと、理解のしようもないし、文の書きようもありません。
逆に言うと、主語と述語さえわかれば文のおよその意味は理解できます。
また、「主語と述語をわかっていれば文は書ける」ということです。
while (! $you->isSatisfied()) {
$you->haveLunch(new Menu("ワイルドステーキ450g")); // タヒぬー
}
ただ、主語と述語のみの文では味気ない・様子が伝わりにくいとなるので、
味気や様子を盛っていくためのツールが「修飾語」や「接続語」なのです。
主語・述語の無い感嘆文のみで成り立つのはラノベのワンシーンくらいでしょう。
ただし、「どひゃー」という感嘆文も、「私は『どひゃー』と言った」と捉えれば、「私は」が主語と言えなくもないと思います。
つまり、感嘆文には隠れ主語があると言えるのではと思っています。
$me->throwException("どひゃー");
まとめ
▼IT系の技術力の基盤は文の読解力と表現力
▼主語と述語の関係をつかめれば文の意味はわかる
▼「~は」「~が」が主語というのは正しくない
▼述語はすぐわかるらしい
▼主語は述語の主体
▼述語さえわかれば主語は見つけられる
▼文は主語について述語で表現するためのツール(感嘆文を除く)
foreach ($knowledges as $knowledge) {
$result = $me->eat($knowledge);
if ($result->haveBeenMastered()) {
$mastered[] = $knowledge;
$me->increaseInIntelligence($result->getPoints());
} else {
$issues[] = $knowledge;
}
if ($me->isUpset()) {
break;
}
}
- 0
- 0
- 0
- 0


コメント