プログラミングが苦手な理由は「日本人」だから?~カギは「is a関係」



Warning: Trying to access array offset on value of type bool in /home/willcom7/will-kishin.com/public_html/wp-content/plugins/wp-word-count/public/class-wpwc-public.php on line 123

Warning: Undefined array key 2 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 91

Warning: Undefined array key 3 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 94

Warning: Undefined array key 4 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 97

Warning: Undefined array key 5 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 100

Warning: Undefined array key 6 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 103

Warning: Undefined array key 7 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 106

Warning: Undefined array key 8 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 109

Warning: Undefined array key 9 in /home/willcom7/will-kishin.com/public_html/wp-content/themes/jstork_custom/functions.php on line 112
きしん
こんにちは、ウィルときしんきしんです

プログラミングスクール「リナックスアカデミー」に通っています。

今日はOCJ-PというJavaの技能試験対策講座の最終講座でした。

その講座の中で、先生に聞いた話が面白かったのでご共有したいと思います。




 

【現代の必須アイテム】
まだの人、必ず買ってください (導入してない人は、時代遅れ)

 

① PCスタンド【疲れ目・猫背解消】

まだ、無理な角度で画面見てるの?

>PCスタンドで正しい姿勢 → 疲れ目&猫背解消

PCスタンドを導入してる友人は多いはず。あなたも、イマこの瞬間に揃えよう!

 

 

② ワイヤレスマウス【省スペース】

マウスを有線でつなぐ時代はとっくに終わりました!

>これからは、ワイヤレスマウスで「スペース節約」

※有線だと、持ち運びの際にコードが絡まって邪魔。

日本人はなぜプログラミングが苦手なのか

ヒントは「is a関係」

先生がいきなりそんなことを言い始めたのです。

正直、別に日本人が苦手という感覚はなかったので、意外に思ったのです。

 

そこで先生から聞いたのが次のような話です。

Javaでは抽象的な入れ物(クラス)の中に具体的なデータを格納して実体化したもの(インスタンス)に変えることがよくある。

このクラスとインスタンスの関係は「is a関係」と呼ばれて、「インスタンス is a クラス」という意味になる。

具体的に言うと、例えば「Yamada is a person.」と言ったときに、personは抽象的な概念で、そこに「Yamada」という具体的なデータを入れて実体のあるものにするということが起きる。

この例ならば分かりやすいが、例えば「This is a tree.」というような言い方をしたときはどうだろうか。

「tree」は抽象的で、クラスだと分かるだろうが、実は「a tree」という不定冠詞の「a」を付けたものは個別の何かを差すため、「a treeはインスタンス」だと言える。

ここで、日本語と英語の違いが関係してくる。

is a関係は英語では必ず意識されることだが、日本語にはない概念なので、日本人は平気で「This is tree.」と誤った表現をする。

このことから、日本人はインスタンスとクラスの区別をつけづらい、ひいては日本人はプログラミングが苦手な環境にあると言えるんです。

こんな話でした。

聞いてみて確かに…と思いました。

上記のような例なら分かりやすいですが、実際のプログラムの中ではたくさんの「入れ物」が出てきて、同じ名前だったり、遠くに書いてあるものに代入したり、上書きしたり、されなかったりということが頻繁に起きます。

これを整理して考える力がないと、ハチャメチャなプログラムになってしまうのですが、そういう人が結構多いんです。

私も整理するのは決して得意ではありません。

そして、この考え方は決してJavaだけではなく、多くのプログラミング言語で採用されているのです。

この話はリナックスアカデミーの先生が教えてくれました!

リナックスアカデミーはこちらから無料個別カウンセリングを受けられますよ。

 

そもそも全部、英語

また、当たり前のように感じるかも知れませんが、プログラムは英語を元にして作られています。

main, method, static, void, string, integer, implement, extend, exception, error…と挙げたらキリがないのですが、とにかく全部英語です。

もちろん、英語の元の意味から、Java上での意味を決めているので、英語がよく分かっているほど、上達しやすいのもうなずけます。

 

日本語のプログラミング言語も

実は、日本語プログラミング言語というのも存在はしていて、例えば「なでしこ」というものが有名です。

しかし、これはあまり流行らないんですよね。

日本人しか読めない点で不利ですし、日本語にしても結局「オン」とか「#」とか「¥」とか日本語以外の要素も使う必要があり、無理やり感が否めません。

 

日本語と英語の関係

念の為補足しておきたいのですが、「日本人は他の人種より英語が苦手」というデータがあります。

これは、日本語と英語が文法的に遠いために、このようになります。

日本語話者にとっての外国語の難易度
易しい:朝鮮語*1 トルコ語 インドネシア語 スワヒリ語等

少し難しい:イタリア語 スペイン語 ベトナム語 中国語等

難しい:フランス語 ドイツ語 ギリシャ語 チェコ語等

大変難しい:アラビア語 ヒンディ語 ロシア語 英語*

*英語はネイティブなみの能力が要求されやすいためこの難易度。ことばのしくみとしては易しい。

出典:大学書林

 

逆に、英語話者から見ると、言語は次のようになります。

英語話者にとっての外国後の難易度
易しい:ドイツ語・フランス語などヨーロッパの言語、スワヒリ語等

少し難しい:ギリシャ語 インドネシア語等

難しい:ロシア語 チェコ語 ヘブライ語 トルコ語等

大変難しい:アラビア語 中国語 日本語 朝鮮語

出典:千野 1987年

日本人から見た難易度とは逆になっています。

こちらを見て、「だから英語上達しないんだ…」と納得いただけたのではないでしょうか。

日本語と英語は、そんな残念な関係なのです。

ただし、逆に2つ習得してしまったら、2つの脳を手に入れたようなものですね!

日本語と英語の比較はこちらの本に詳しいですよ!

『英語の害毒』感想~英語はよくない?

2018年1月27日

ブロガーの私がおすすめする本~心から買ってよかったと思う26冊

2018年5月6日

 

きしん
よければ、Twitternoteも見て下さい!



コメントを残す

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください