【IT】能力の高いプログラマーほど数学力より言語能力が高いという研究結果




1: 名無しの民 2020/03/06(金) 16:23:31.22 ID:CAP_USER
→プログラミングに必要な素質は数学力よりも言語能力という研究結果
→プログラミングの学習は第2外国語の学習と同じ脳の場所を使う

プログラミングに馴染みのない人にとって、プログラム言語は非常に厄介に感じるものです。

特にこれまでの通説では「プログラミングは数学力に通じる」とされており、文系出身者にとっては、より一層の苦手意識を感じさせる要素になっていました。

しかし今回、アメリカの研究者らによって行われた研究によって、プログラム言語の学習効率は主として言語能力に依存していることがわかりました。

数学の専門知識や計算能力の介在する余地は想像より遥かに少なかったのです。

小説や詩の文面にキラリと光るセンスを感じ取る能力がある人は、プログラマー適性があるかもしれません。

しかし研究者たちは、どのようにプログラミング適性と言語能力の相関関係をみつけだしたのでしょうか?

研究内容はシアトルにあるワシントン大学のシャンテルS.プラット氏らによってまとめられ、3月2日に学術雑誌「nature」に掲載されました。

Relating Natural Language Aptitude to Individual Differences in Learning Programming Languages
Chantel S. Prat, Tara M. Madhyastha, Malayka J. Mottar
https://www.nature.com/articles/s41598-020-60661-8

■言語能力とプログラミング学習効率は相関関係にあった

実験に先立って、研究者たちは「プログラミングは第2の言語である」という仮説をたてました。
https://i1.wp.com/nazology.net/wp-content/uploads/2020/03/171214aef4eaa3824a076c20ed7cf89e.png

そしてまず36人のプログラミング初心者を集め、彼らの言語能力、計算能力、推論能力、作業メモリ(短期記憶)などを測定しました。

次に彼らに45分間の「Python」と呼ばれるプログラム言語の講義を10回受けてもらいました。

Pythonは機械学習需要の高まりとともに、現在利用者が増えているプログラム言語です。

プログラミングの講義が終わった後は、各個人に対してどれほどプログラミングが身についているかのテストが行われました。

結果、プログラミング言語の成績と最も強い相関関係があったのは、意外にも言語能力でした。

その影響は圧倒的で、プログラミングの学習速度における個人差の70%以上を決める要因になっていました。

一方、計算能力、推論能力も残りの30%の範囲で、プログラミングの学習効率に関連してはいましたが、俗説とは異なり、言語能力にくらべて少ない相関にありました。

ただプログラムの正確性に関しては、言語能力よりも認識能力(推論、短期記憶)のほうが重要という結果が出ています。

続きはソースで

https://nazology.net/archives/53469

26: 名無しの民 2020/03/06(金) 17:08:55.37 ID:AI+J4OOt
>>1
プログラマなら文系出身でも出来るのは確か。
PoCとか新しいアルゴリズムを作れるのは理数系のみ

49: 名無しの民 2020/03/06(金) 18:08:06.69 ID:im2Tc9yk
>>1
こんなの当たり前じゃねえか
どんな言語でもセンスある奴のプログラムは美しい

69: 名無しの民 2020/03/06(金) 20:10:44.07 ID:P1v2VsDU
>>1
>ただプログラムの正確性に関しては、言語能力よりも認識能力

だめじゃん文系

71: 名無しの民 2020/03/06(金) 20:26:43.92 ID:8JnEFEXF
>>1
能力の高いプログラマーではないやん
プログラミング初心者やんww

83: 名無しの民 2020/03/07(土) 01:38:23.13 ID:9mDsB5iG
>>1
> ただプログラムの正確性に関しては、言語能力よりも認識能力(推論、短期記憶)のほうが重要という結果が出ています。

ダメじゃん

2: 名無しの民 2020/03/06(金) 16:26:04.74 ID:65zB9PnP
しかし数学能力が無ければ書けないプログラムも多い。

3: 名無しの民 2020/03/06(金) 16:31:29.66 ID:giTnuvoj
正確性のないプログラムって
肥大化するだけで炎上待ったなしな気が

4: 名無しの民 2020/03/06(金) 16:34:41.77 ID:pwTSlgTB
優秀な人材は、両方高いんだろう
まんべんなく能力が高い
天才ってヤツかな

40: 名無しの民 2020/03/06(金) 17:47:01.89 ID:3M4xJWNP
>>6
同意。本当に頭良い奴は数学も国語も英語もできる

でもな、実は収入と一番強い相関があるのは数学なんだってさ

7: 名無しの民 2020/03/06(金) 16:36:08.95 ID:Sht5B8QW
ちゃんとした日本語の文章書けん奴はプログラミングも出来へん

8: 名無しの民 2020/03/06(金) 16:36:55.68 ID:65zB9PnP
悪いプログラマーは、バグが多い、書くのが遅い、効率が悪い・・・、
が全部一緒に起こっている。良いプログラマーは、その逆。
100倍以上の差がある。

10: 名無しの民 2020/03/06(金) 16:39:56.30 ID:65zB9PnP
>>8 つづき
しかし給料の差は、大してない。
悪いプログラマーは残業するので、手取りが多かったりする。

12: 名無しの民 2020/03/06(金) 16:42:56.58 ID:65zB9PnP
>>10 つづき
プログラマーとしては劣悪だけど、チームをまとめるのは上手かったり、
他部署との渉外が上手かったりすると、昇進が早かったりする。

9: 名無しの民 2020/03/06(金) 16:38:22.66 ID:pwTSlgTB
しかし表面的な検査ではなく、ニッチ化していくと結果は違うかもな
偏ったヤツに歩がありそうではある

11: 名無しの民 2020/03/06(金) 16:40:32.82 ID:NdoAPY0L
大半のプログラムは文字処理ばっかり。

高度な数値計算なんてほとんどない。

61: 名無しの民 2020/03/06(金) 19:35:51.90 ID:SQDy2ujb
>>11
perl5が引退してきたのだから他も要求されてきたという現実があるのでは?

13: 名無しの民 2020/03/06(金) 16:47:44.19 ID:Wqhth1Y6
競技ブログラミングで問題文を理解できないことがよくある

14: 名無しの民 2020/03/06(金) 16:49:02.75 ID:jDtXseFn
俺はAPLしか書けんわ。

15: 名無しの民 2020/03/06(金) 16:50:04.24 ID:asSTU8I2
プログラムは起承転結だからな

16: 名無しの民 2020/03/06(金) 16:51:11.95 ID:L7UJ5Va+
莫大なCPUとメモリを食って何時間も計算させるのと
数学的な解法に基づいたアルゴルズムで数秒で処理を終えるのとではどちらがいいのか

18: 名無しの民 2020/03/06(金) 17:00:17.88 ID:o0uIxEC7
そら言語て言うぐらいやしな

19: 名無しの民 2020/03/06(金) 17:00:31.53 ID:IkY7LIWo
むしろプログラミング初歩の学習速度と、その人材の将来的な実用性の相関をまず確認しろ

22: 名無しの民 2020/03/06(金) 17:02:37.24 ID:65zB9PnP
世間でのプログラマーの呼称は曖昧。
コーディングよりアルゴリズム設計が重要だが、どちらをしても
プログラマーと呼ばれることがある。

24: 名無しの民 2020/03/06(金) 17:05:51.30 ID:GWVc7boU
作文と同じでストーリーが破綻してないコードを
書けるからじゃね?、きっとメール文も簡潔で読みやすく伝えて易いものを送っている

27: 名無しの民 2020/03/06(金) 17:12:17.83 ID:juQgBniq
オブジェクト指向のプログラ民具の話だろ

28: 名無しの民 2020/03/06(金) 17:12:20.88 ID:TvHsADrH
>数学力より言語能力が高い

違うな。
アルゴリズムに対する創造力だよwww

38: 名無しの民 2020/03/06(金) 17:40:29.93 ID:V3N4zUkS
>>28
論理学
哲学

この辺りだな

オブジェクト指向の出来るヤツは現象学ができるヤツ

数学や言語はそのうちの一部にすぎない

29: 名無しの民 2020/03/06(金) 17:14:09.15 ID:+AI5PcQr
>プログラム言語の学習効率は主として言語能力に依存

>ただプログラムの正確性に関しては、言語能力よりも認識能力(推論、短期記憶)のほうが重要という結果

32: 名無しの民 2020/03/06(金) 17:26:52.60 ID:XpHm80o6
言語能力てなに?
伝える能力なのか認識する能力なのか
非言語を言語にする能力なのか
曖昧過ぎなのでは

35: 名無しの民 2020/03/06(金) 17:31:54.90 ID:XlbSb64T
数学も言語の1つだと思うけどな。

国語力のある子は証明問題の理解が早い。
証明問題ができるようになると国語力も伸びる。

36: 名無しの民 2020/03/06(金) 17:32:44.96 ID:o93w2C7o
Perlの復活だ!

37: 名無しの民 2020/03/06(金) 17:36:54.55 ID:65zB9PnP
ウォーターフォール型の開発だと、各プロセスは分業で、コーディングを
やる奴が狭義のプログラマーと呼ばれる。外注されることが多い。

実際には、即コーディングできる仕様書を書ける設計者は少ないので、
プログラマー(コーダー)と相談してる。下手するとコーダーのが有能。

39: 名無しの民 2020/03/06(金) 17:43:47.56 ID:3M4xJWNP
Webアプリみたいなのだったら言語能力だけでも何とかなるが
物理エンジンやグラフ理論使うような奴は数学力ないとダメだろ

言語力と言ってもバカ私大のウェーイ的なものじゃないからな

41: 名無しの民 2020/03/06(金) 17:48:52.32 ID:rJgJ3pMQ
極めて狭い範囲では間違ってはいないw

43: 名無しの民 2020/03/06(金) 17:52:00.65 ID:y5e4YL3p
英米では「言語能力=プログラミング言語能力」ってのは分かるな

日本語はちょっと違う

45: 名無しの民 2020/03/06(金) 17:54:46.95 ID:7fE87eI/
数学と言語はつながってるからな
勉強方法が間違ってたせいで数学苦手とかいうやつでもやれば理解早い人多いだろ
逆に人見知りだし話下手です、なんていう人ほど意外と話の組み立て方上手い

48: 名無しの民 2020/03/06(金) 18:06:59.26 ID:lFMXvLmJ
文系脳ですごいプログラマーにあったことがない

52: 名無しの民 2020/03/06(金) 18:28:02.44 ID:MYiCYDt0
そりゃ数学力に対しプログラミング能力が伴わない人間の言語能力は低いだろうな。
プログラミング能力が高い人間における数学力と言語能力の大小関係は、数学しかできない人間よりも言語能力優位になって当然。

53: 名無しの民 2020/03/06(金) 18:48:47.74 ID:1rIGGXCo
ある意味当たり前なのかもね
コンピューター言語と言われるくらいだし

伝えたいことをわかりやすく文章化するのと
行いたいことを効率良くプログラムするのは同じようなものなんだろうな

57: 名無しの民 2020/03/06(金) 19:06:05.24 ID:RcIIz/QJ
「プログラミング言語の習得が早い」と「良いプログラムが書ける」とは別もんだろ。
プログラミング言語の知識というのは良いプログラムを書くための必要条件でしかない。

60: 名無しの民 2020/03/06(金) 19:22:17.30 ID:LfS+Oy6x
大学にC文学科作らんと

63: 名無しの民 2020/03/06(金) 19:47:48.72 ID:hkA6LhYW
数学が出来る人より文系の人が
日本では出来ると言われて
社内外で評価されてるってだけの話では?

それが問題だと、ずっと言われてるじゃん。

そうなってしまってるっていう事の
裏付けでしかないと思う。

推薦入試で入った学生の方が一般入試で入った学生より
学内で優秀な成績であると言うのと
同じ理屈。

要するに得体の知れないコミュ力で
点数が付けられてる。

64: 名無しの民 2020/03/06(金) 19:48:52.07 ID:qsIwgdgB
うちの子、プログラムが趣味な小学生だったけど
塾に通わんでも英語ができるようになっとった
なんでも、プログラミング言語の構文は英語と同じだとかなんとか
ほんま?

65: 名無しの民 2020/03/06(金) 19:50:45.17 ID:Y9Hw19aH
数学ができることがセンスであって、
それよりも工学の方が重要だよ。
全てではないが設計するには工学の知識が必要となる。
工学の知識が必要でない簡単なものなら良いが。。。

66: 名無しの民 2020/03/06(金) 20:00:49.69 ID:KvfUCt90
コンプ気味な奴が自由な解釈して自尊心を保つスレ

74: 名無しの民 2020/03/06(金) 20:40:58.49 ID:+3lnJgGH
リファレンスを使うだけのプログラマなら小学校の算数程度だもん
マジで

76: 名無しの民 2020/03/06(金) 22:13:39.10 ID:l4eEm5vE
マジか
俺、学生時代、文系、外来語系さっぱりだったわ
こんな俺でもゲーム会社入ってプログラマーしてます

77: 名無しの民 2020/03/06(金) 23:30:20.33 ID:/fS2SCun
要するに数学のできるプログラマは万能。

78: 名無しの民 2020/03/06(金) 23:53:26.96 ID:FV++tuop
他人の書いたコードなんて、意地の悪い引っかけ問題だもんなw
社会人なんだから、後から読む人のことを考えてコードを書けよ、といつも思う

85: 名無しの民 2020/03/07(土) 01:46:27.81 ID:sqAKZ+pH
「目の前に小さな機械部品がある。特定の呼び方は無い。その形状を簡潔明瞭正確に記せ。」

この問題でいい解答ができるようなら、プログラミングに通ずる言語能力アリだな

89: 名無しの民 2020/03/07(土) 02:36:04.18 ID:hRB0MGKe
数学全くダメでもプログラムをバリバリ書く人は居る。
でも、そういう人のプログラムは、論理は明快だが、
実直で、数学的に優れたアルゴリズムをまったく
使っていなかったりする。機能を満たすプログラムを
力任せに書いてしまうだけだったりする。
 それでも良いのならそれでも良いわけです。

90: 名無しの民 2020/03/07(土) 02:57:58.36 ID:hRB0MGKe
プログラミングは具体的、操作的、構成的で、直接的な手順の表現。

現代の数学は、ずっと抽象的で、証明的で、しばしば非構成的で、存在を肯定あるいは
否定する形で積み上げる。

論理は数学的帰納法を使えば、(可算)で限度の無いステップを記述としては
短い1行で済ませることができる。しかし、プログラムは再帰的に処理を書けても、
限度の無いステップ数を実行させるとそれなりの時間が掛かるので、プログラムが
かけても実際には計算が現実的には終わらず実用にならないことはいくらでもある。
数学は可算無限よりもずっと大きい無限もいくらでも論理としては扱えるが、
計算機ではそれは無理。人間の数学証明と同様に論理で解決(証明)する可能性は
あるが、一般的に命題を証明するあるいは証明不可能であることを示すための
アルゴリズムは存在しないので、解ける問題を「発見」して積み上げて行くし、
解けない問題を「発見」して積み上げて行くしかない。

 いつの日にか、機械が人間が行うよりもうまく早く証明を行えるような
時代が来るだろうか?

91: 名無しの民 2020/03/07(土) 04:02:44.58 ID:hEfD4ZDG
pythonはプログラム能力が低くても作れるようにしてるからな

92: 名無しの民 2020/03/07(土) 06:14:47.45 ID:hb1D1zvR
AI「どっちもないとあかんが結論

94: 名無しの民 2020/03/07(土) 07:16:58.50 ID:5B3AHeYC
まあ文系もプログラミングやれと
そもそも文系でも数Ⅱもあるし論理も本来文系てもきっちりやる
普通の高校、大学なら
今は知らん

95: 名無しの民 2020/03/07(土) 07:37:27.22 ID:itCApTQJ
やりたいことを言語化できなければコードに落とせないからな

97: 名無しの民 2020/03/07(土) 08:50:03.82 ID:1C85pX5m
未知の「言語」の初期取得能力だろ
当たり前じゃないか

>古典的には、言語を担当する脳は左脳とされてきましたが、今回の研究でも固定概念が覆されたことになります。

初期学習は主に右脳 固定化されて左に移る 従来の見解通り

>プログラミングの技能が一定のラインを超えると、最も必要な素質は問題解決力や柔軟な発想になるとも言われています。
プログラミング言語の学習能力は、プログラミングの能力そのものとは微妙に異なるのです。

さすがに当たり前のことを補足まがいに最後に付け足してある

99: 名無しの民 2020/03/07(土) 09:08:19.44 ID:EDLubgyZ
> しかしプログラミングの技能が一定のラインを超えると、最も必要な素質は問題解決力や柔軟な発想になるとも言われています。
> プログラミング言語の学習能力は、プログラミング能力そのものとは微妙に異なるのです。

ソースにもこう書いてあるけど、結局は問題解決力や柔軟な発想のほうが大切だよね

100: 名無しの民 2020/03/07(土) 09:24:41.74 ID:99PyDJWM
言語能力っていうかロジック能力、論理能力でしょ
そんなのプログラミングじゃなくてもどの分野でも同じじゃないの?


引用元

https://egg.5ch.net/test/read.cgi/scienceplus/1583479411/-100




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です