【IT】能力の高いプログラマーほど数学力より言語能力が高いという研究結果
■ このスレッドは過去ログ倉庫に格納されています
→プログラミングに必要な素質は数学力よりも言語能力という研究結果
→プログラミングの学習は第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 しかし数学能力が無ければ書けないプログラムも多い。 正確性のないプログラムって
肥大化するだけで炎上待ったなしな気が 優秀な人材は、両方高いんだろう
まんべんなく能力が高い
天才ってヤツかな ハッキリ言おう
できる理系は数学も語学も流して余裕でできるから
できないなら文系で就活してろ ちゃんとした日本語の文章書けん奴はプログラミングも出来へん 悪いプログラマーは、バグが多い、書くのが遅い、効率が悪い・・・、
が全部一緒に起こっている。良いプログラマーは、その逆。
100倍以上の差がある。 しかし表面的な検査ではなく、ニッチ化していくと結果は違うかもな
偏ったヤツに歩がありそうではある >>8 つづき
しかし給料の差は、大してない。
悪いプログラマーは残業するので、手取りが多かったりする。 大半のプログラムは文字処理ばっかり。
高度な数値計算なんてほとんどない。 >>10 つづき
プログラマーとしては劣悪だけど、チームをまとめるのは上手かったり、
他部署との渉外が上手かったりすると、昇進が早かったりする。 競技ブログラミングで問題文を理解できないことがよくある 莫大なCPUとメモリを食って何時間も計算させるのと
数学的な解法に基づいたアルゴルズムで数秒で処理を終えるのとではどちらがいいのか 発達はロジカルに話すからな
実は合理的でわかりやすい むしろプログラミング初歩の学習速度と、その人材の将来的な実用性の相関をまず確認しろ 語彙力という意味での言語能力は必須
ウンコ捏ね回したような作文するような奴(例:日本の公務員)にプログラミングは無理 世間でのプログラマーの呼称は曖昧。
コーディングよりアルゴリズム設計が重要だが、どちらをしても
プログラマーと呼ばれることがある。 高級言語ならそうかも知れないけど、アセンブリ言語でバグの少ないロジックを、
がしがし書ける人の場合、また違った才能があるからな。 作文と同じでストーリーが破綻してないコードを
書けるからじゃね?、きっとメール文も簡潔で読みやすく伝えて易いものを送っている 前から思ってた。
色んな言語使えるのと1つ2つしか使えんのいるもん。 >>1
プログラマなら文系出身でも出来るのは確か。
PoCとか新しいアルゴリズムを作れるのは理数系のみ >数学力より言語能力が高い
違うな。
アルゴリズムに対する創造力だよwww >プログラム言語の学習効率は主として言語能力に依存
>ただプログラムの正確性に関しては、言語能力よりも認識能力(推論、短期記憶)のほうが重要という結果 口八丁で他人の成果を横取りしたり他人に面倒ごとを丸投げという面もあるだろ プログラミング言語の習得自体にはそりゃ言語能力が必要だわ 言語能力てなに?
伝える能力なのか認識する能力なのか
非言語を言語にする能力なのか
曖昧過ぎなのでは 数学も言語の1つだと思うけどな。
国語力のある子は証明問題の理解が早い。
証明問題ができるようになると国語力も伸びる。 ウォーターフォール型の開発だと、各プロセスは分業で、コーディングを
やる奴が狭義のプログラマーと呼ばれる。外注されることが多い。
実際には、即コーディングできる仕様書を書ける設計者は少ないので、
プログラマー(コーダー)と相談してる。下手するとコーダーのが有能。 >>28
論理学
哲学
この辺りだな
オブジェクト指向の出来るヤツは現象学ができるヤツ
数学や言語はそのうちの一部にすぎない Webアプリみたいなのだったら言語能力だけでも何とかなるが
物理エンジンやグラフ理論使うような奴は数学力ないとダメだろ
言語力と言ってもバカ私大のウェーイ的なものじゃないからな >>6
同意。本当に頭良い奴は数学も国語も英語もできる
でもな、実は収入と一番強い相関があるのは数学なんだってさ 小中高校生を見ればわかること
国語は学力の基本だから、これができる子には勉強の遅れはほぼない
国語能力のどこかに欠陥があると、勉強に不自由になる
医学科いく生徒の国語能力が文系以上に高いことは珍しくない 英米では「言語能力=プログラミング言語能力」ってのは分かるな
日本語はちょっと違う 日本はこんな事ばっかり言って
数学出来る人にケチつけて
冷遇してきたから
衰退してるんだよ。 数学と言語はつながってるからな
勉強方法が間違ってたせいで数学苦手とかいうやつでもやれば理解早い人多いだろ
逆に人見知りだし話下手です、なんていう人ほど意外と話の組み立て方上手い 国内の文系は、理系の出来損ない
海外とはまったく事情が異なるので混同しないようにw >>1
こんなの当たり前じゃねえか
どんな言語でもセンスある奴のプログラムは美しい 数学と工学が分からないと結局、言われたことしかできない。
それって能力が高いと言えるの? そりゃ数学力に対しプログラミング能力が伴わない人間の言語能力は低いだろうな。
プログラミング能力が高い人間における数学力と言語能力の大小関係は、数学しかできない人間よりも言語能力優位になって当然。 ある意味当たり前なのかもね
コンピューター言語と言われるくらいだし
伝えたいことをわかりやすく文章化するのと
行いたいことを効率良くプログラムするのは同じようなものなんだろうな プログラミング能力で会社経営はできない
これが理系が出世しない理由 数学力<言語力
なお、数学力の偏差値は70以上である 「プログラミング言語の習得が早い」と「良いプログラムが書ける」とは別もんだろ。
プログラミング言語の知識というのは良いプログラムを書くための必要条件でしかない。 言語能力って何を指すの?
センターの国語の問題が解ける人ってことでいい? >>11
perl5が引退してきたのだから他も要求されてきたという現実があるのでは? >>1
これ、なんとなくそんな気がしてた
理数系出身でも大したことないってのが多いから 数学が出来る人より文系の人が
日本では出来ると言われて
社内外で評価されてるってだけの話では?
それが問題だと、ずっと言われてるじゃん。
そうなってしまってるっていう事の
裏付けでしかないと思う。
推薦入試で入った学生の方が一般入試で入った学生より
学内で優秀な成績であると言うのと
同じ理屈。
要するに得体の知れないコミュ力で
点数が付けられてる。 うちの子、プログラムが趣味な小学生だったけど
塾に通わんでも英語ができるようになっとった
なんでも、プログラミング言語の構文は英語と同じだとかなんとか
ほんま? 数学ができることがセンスであって、
それよりも工学の方が重要だよ。
全てではないが設計するには工学の知識が必要となる。
工学の知識が必要でない簡単なものなら良いが。。。 >プログラム言語の講義を10回受けてもらいました
まったくの初心者が講義を理解するには、まず言語力が必要だろうな
基本的なことを学んでその先となると、どうだかね >>1
>ただプログラムの正確性に関しては、言語能力よりも認識能力
だめじゃん文系 話が上手いだけの奴と組まされると泣きを見る。
両方あるに越したことはないけどさ。 >>1
能力の高いプログラマーではないやん
プログラミング初心者やんww リカチョン、どれも駄目w
オヤジ在チョソ枠東夷大だが、プログラムなど全く分からず出来ず理解せず
パソコン改造程度も出来ずにパソコン通信にエッセイ渡航 >>62
駅弁理系は理系と威張ってる割には大して頭はよくない
旧帝一工筑神早慶の文系のほうが出来る リファレンスを使うだけのプログラマなら小学校の算数程度だもん
マジで マジか
俺、学生時代、文系、外来語系さっぱりだったわ
こんな俺でもゲーム会社入ってプログラマーしてます 他人の書いたコードなんて、意地の悪い引っかけ問題だもんなw
社会人なんだから、後から読む人のことを考えてコードを書けよ、といつも思う >>1
> ただプログラムの正確性に関しては、言語能力よりも認識能力(推論、短期記憶)のほうが重要という結果が出ています。
ダメじゃん 理解して書き出すまではそうだと思うけど数式を操るときはまた別だよな 「目の前に小さな機械部品がある。特定の呼び方は無い。その形状を簡潔明瞭正確に記せ。」
この問題でいい解答ができるようなら、プログラミングに通ずる言語能力アリだな このアメリカの研究者は数学が言葉の学問だという事が分かってないようだ … そして文系だと思っていてもただのおさる系であることがすごく多いことも
群れないパワハラのスキルを文系とは言わないだろ 昔っから数学なんて不要だろ
むしろ論理で、これ長くなると言語に近くなる
もっとも最近はカッチカチじゃなくてもいいから「能力の高い」の意味が昔とは全然違うんだろうけど 数学全くダメでもプログラムをバリバリ書く人は居る。
でも、そういう人のプログラムは、論理は明快だが、
実直で、数学的に優れたアルゴリズムをまったく
使っていなかったりする。機能を満たすプログラムを
力任せに書いてしまうだけだったりする。
それでも良いのならそれでも良いわけです。 プログラミングは具体的、操作的、構成的で、直接的な手順の表現。
現代の数学は、ずっと抽象的で、証明的で、しばしば非構成的で、存在を肯定あるいは
否定する形で積み上げる。
論理は数学的帰納法を使えば、(可算)で限度の無いステップを記述としては
短い1行で済ませることができる。しかし、プログラムは再帰的に処理を書けても、
限度の無いステップ数を実行させるとそれなりの時間が掛かるので、プログラムが
かけても実際には計算が現実的には終わらず実用にならないことはいくらでもある。
数学は可算無限よりもずっと大きい無限もいくらでも論理としては扱えるが、
計算機ではそれは無理。人間の数学証明と同様に論理で解決(証明)する可能性は
あるが、一般的に命題を証明するあるいは証明不可能であることを示すための
アルゴリズムは存在しないので、解ける問題を「発見」して積み上げて行くし、
解けない問題を「発見」して積み上げて行くしかない。
いつの日にか、機械が人間が行うよりもうまく早く証明を行えるような
時代が来るだろうか? pythonはプログラム能力が低くても作れるようにしてるからな まあ文系もプログラミングやれと
そもそも文系でも数Uもあるし論理も本来文系てもきっちりやる
普通の高校、大学なら
今は知らん やりたいことを言語化できなければコードに落とせないからな その割りには、プログラマにはコミュ障ぽい人が多い。
なんで? 未知の「言語」の初期取得能力だろ
当たり前じゃないか
>古典的には、言語を担当する脳は左脳とされてきましたが、今回の研究でも固定概念が覆されたことになります。
初期学習は主に右脳 固定化されて左に移る 従来の見解通り
>プログラミングの技能が一定のラインを超えると、最も必要な素質は問題解決力や柔軟な発想になるとも言われています。
プログラミング言語の学習能力は、プログラミングの能力そのものとは微妙に異なるのです。
さすがに当たり前のことを補足まがいに最後に付け足してある >>96
そりゃプログラミングできるような人間って
他に適職がいくつもあるし
その中で土方PGにしかつけないのがコミュ障多いだけ > しかしプログラミングの技能が一定のラインを超えると、最も必要な素質は問題解決力や柔軟な発想になるとも言われています。
> プログラミング言語の学習能力は、プログラミング能力そのものとは微妙に異なるのです。
ソースにもこう書いてあるけど、結局は問題解決力や柔軟な発想のほうが大切だよね 言語能力っていうかロジック能力、論理能力でしょ
そんなのプログラミングじゃなくてもどの分野でも同じじゃないの? ■ このスレッドは過去ログ倉庫に格納されています