1: しじみ ★ 2020/06/10(水) 03:58:19.18 ID:CAP_USER
→プログラミング時にプログラマーの脳は会話音声に反応している
→プログラミング時に特異的に活性化するのは音声理解能力だった
→プログラマーの脳を研究することで認知プロセスの解明につながる

一般の人にとって、プログラマーの持つ知識と技術は別世界のもののように感じられます。

海外の研究者にとってもプログラマーの持つ特殊技能は興味の対象であったようで、古くは1980年代から、心理学的手法を使ったプログラマーの「特別な脳」の分析が行われてきました。

そんな中、近年の急速な神経科学の発展により、MRI(核磁気共鳴)やEEG(脳波測定)を用いて脳活動を可視化することが可能になってきました。

しかし、これまでの研究で可視化した脳領域は、読書やゲームといった日常生活時にも使われる汎用的な領域であり、プログラム時にだけ働く特異的な領域ではありませんでした。

そこで今回、ドイツのケムニッツ工科大学の研究者たちは、プログラム時にだけ働く「プログラム脳」の特定に挑戦。結果は、予測とは大きく異なるものとなりました。

なんと、プログラム時に働く脳機能は数学的能力や論理的推察力ではなく、会話時における相手の声を理解する機能であることが判明したのです。

神秘的なプログラミング能力の源が、会話能力であったという事実は、研究者を大いに驚かせました。

■プログラム脳の場所をMRI画像の引き算でみつけだす

no title

プログラム時にだけ働く脳領域を調べるために研究者が考案した方法は「引き算」でした。

具体的には、MRIにプログラマーが入り、プログラムを理解する作業と、日常的な雑多な業務の2種類の作業を行ってもらったとのこと。

もしプログラム時にだけ活動する「プログラム脳」があるならば、プログラム理解時に活性化した部分から、日常業務時に活性化していた部分を引き算で取り除くことで、場所が判明するからです。

結果、上の図のように、左脳のいくつかの場所が浮き上がりました。

ですがこれらの場所は数学的や論理的思考が行われる場所ではなく、主に会話時において音声理解を担当する場所だったのです。

プログラミング全体において言語機能が重要であることは最新の研究でも示唆されている他、有名なオランダのコンピューター科学者であるダイクストラによって1980年代から示唆されていました。

しかしプログラム時に特異的に働くコア機能が、音声理解であったという事実は研究者たちにも予想外だったようです。

また当然ながら、実験は外部からの干渉を極力排して行われているので、プログラマーの脳が聞いていた声は、プログラマーの内部から発せられたものになります。

有名な小説家の多くが「自分は脳内のキャラの会話を書き写す書記に過ぎない」と語っているそうです。

もしかしたら小説家の「キャラが勝手に動き出す」現象に似た何かが、プログラマーの内部で仕事の遂行を後押ししているのかもしれません。

続きはソースで

https://nazology.net/archives/62001

2: 名無しのひみつ(東京MX) 2020/06/10(水) 03:59:23.77 ID:OUs0tnC0
神の声なら聴いているけど…

124: 名無しのひみつ 2020/06/11(木) 01:18:14.32 ID:ILMZDYid
>>2
まさに今日、マルチスレッドで大量アクセスがある時だけ発生するヌルポをデバッグしている時に神の声を聞いた。
このノードのインスタンス変数書き換えがコンフリクトの原因だ、と。
シンクロさせて解決した。

132: 名無しのひみつ 2020/06/11(木) 20:29:03.48 ID:NuxRY5ki
>>124
もはやノイローゼだな

3: 名無しのひみつ 2020/06/10(水) 04:05:40.69 ID:Pw2ej/MM
俺プログラミングしてるときそんななってたのか・・・

いやいやいや、これ特殊な例なんじゃないの?

5: 名無しのひみつ 2020/06/10(水) 04:17:20.45 ID:82W33+i/
実験者の使用してる言語はおそらく今風の高級言語だろ。
いちどアセンブリ言語で同じ結果が出るか調べてほしい。
この結果はプログラム言語を自然言語に近づけたことが原因な気がする。

14: 名無しのひみつ 2020/06/10(水) 04:28:25.26 ID:Pw2ej/MM
>>5
プロジェクトすべてを俯瞰してつくるようなプログラムじゃないとこの実験みたいな結果は出ないんじゃないかな
アセンブリはミクロな部品づくりに向いてるけど、何もかもアセンブリでやるとか気が遠くなる

39: 名無しのひみつ 2020/06/10(水) 06:48:14.95 ID:NKrg3zIU
>>5
多分違うと思う

50: 名無しのひみつ 2020/06/10(水) 07:57:50.62 ID:BLqUP/hL
>>5 今時のアセンブラってマクロとかで自然言語的に書けるんじゃないの?
そもそも可読性ってどんな言語のプログラミングでも一番大事だし

53: 名無しのひみつ 2020/06/10(水) 08:02:48.88 ID:RZPxG5PO
>>50
16ビットCPUぐらいなら二モニック以前にマシン語直接書くねん
この時は明らかに会話脳とは違う場所を使ってる気がする

118: 名無しのひみつ 2020/06/10(水) 22:41:16.43 ID:OFYH6CcT
>>50
今時はRISCなので言うなればCPU側の可読性重視 人間が読むには似たような構文ばっかりでわかりにくい マクロで済むようなレベルじゃない

85: 名無しのひみつ 2020/06/10(水) 13:17:21.50 ID:2laMaphs
>>5
アセンブリ言語を直接書けるってのはすごいと思うけど
それって日本人が外人に向かって英語を話そうとしてる状況に似てるのでは

90: 名無しのひみつ 2020/06/10(水) 14:04:10.82 ID:Z9Y0SjHp
>>85

アセンブリ言語は、そんな難しくねえだろ?
昔は、マシン語を16進数とか8進数で
直接読んだり書いたりできるプログラマーが
たくさん居たぞ。 

恐ろしく生産性の悪い作業だがな。モールス信号を聞いて
言葉に即時通訳するようなもんだわな。 それかな?

6: 名無しのひみつ 2020/06/10(水) 04:17:49.49 ID:wtDHWh8T
それデスマーチとかで壊れてるだけやでw

7: 名無しのひみつ 2020/06/10(水) 04:19:23.00 ID:FSiDX2WY
アルミホイル巻かないと

8: 名無しのひみつ 2020/06/10(水) 04:23:17.37 ID:11NSp7/2
論理的思考は左脳。アナログは右脳。
ネイティブ言語は右脳領域だから同時進行できる。
これ常識

9: 名無しのひみつ 2020/06/10(水) 04:23:31.13 ID:Abs4i6vu
自分の言葉をコードに変換する感じになるから確かに納得できる部分はある

10: 名無しのひみつ 2020/06/10(水) 04:23:47.68 ID:11NSp7/2
深夜放送ききながら数学やるのと一緒やろ。
歳取るとできんが・・・

12: 名無しのひみつ 2020/06/10(水) 04:28:19.85 ID:SKIljThF
プログラミングというかアルゴリズムを最初に理解する時は論理力を特に使う必要があるけど、
一度理解したアルゴリズムのパターンを使う時においては、論理力というより単語や文法を使うような形になる。
単に組み合わせていくだけだから、英作文する時の感覚に近いかなと思う。
逆にデバッグする時なんかは論理的思考力が強く働いていると感じる。

15: 名無しのひみつ 2020/06/10(水) 04:35:53.28 ID:6SGq/+Wu
まあ、というか大概の現代のプログラミング新しく出てきたフレームワークを短期間で
だいたい理解して、あとは調べ調べやっていくって感じなので文章を短期間で理解する
ような能力が必要だよね。

16: 名無しのひみつ 2020/06/10(水) 04:38:36.01 ID:RrRgApS5
昔のc言語のポインタを理解するところまで脳内で組み立てる能力を要求された頃に比べて
今の言語はそこまで数学的素養を要求されなくなった。
なんだかんだいって、プログラミング能力が高い人は理系でさらに数学科が何気に多い。
googleが東大数理系から多く採用している事実は揺らがない。

もっとも、フロントエンドのwebプログラマはスクリプト言語ばかりでAPIやノウハウを沢山吸収して使い分けるだけで慣れればいいだけだけど

63: 名無しのひみつ 2020/06/10(水) 10:02:00.14 ID:U4mQdwx4
>>16
C言語のポインタなんて低級言語の特徴じゃん
アセンブリを書いたことも最近の高級言語も書いたこともない中途半端なエンジニアかよ

20: 名無しのひみつ 2020/06/10(水) 04:46:41.89 ID:gaeObqPp
頭の中の誰かに説明しながら組んでる

25: 名無しのひみつ 2020/06/10(水) 05:03:06.46 ID:+29HwhHr
プログラムテストしながら画面に話し掛けてる奴の事か。

27: 名無しのひみつ 2020/06/10(水) 05:05:32.05 ID:p2/Asd86
>>25
声に出さずともやってるなそれw頭の中で
これの元データはなんなの?ああ、これか…じゃあこれは?ああ、これね
みたいなwww
確かにそう考えると音声理解っぽい感じはするな

26: 名無しのひみつ 2020/06/10(水) 05:05:01.32 ID:d62WIMAK
プログラミング言語だからな
同じことをしゃべるのに伝えるのがうまい人と下手な人がいる
プログラミングも一緒

167: 名無しのひみつ 2020/06/15(月) 06:15:15.73 ID:VuKxk+Xd
>>26
ではない。
頭の中に変数名、関数名、OSコールの名前や引数並びが店を広げてるんだよ。
ノッてる時、「あれをやるのは…」→OSコールがすぐ頭に浮かぶ。
しばらくコーディングから離れてると「なんだったかなぁ」と思い出そうとしたり、リファレンス引いたりで作業が遅々として進まずうんざりする。

28: 名無しのひみつ 2020/06/10(水) 05:07:45.12 ID:dvb55BQ0
そりゃ言語だからな

32: 名無しのひみつ 2020/06/10(水) 05:20:06.91 ID:oK/IJ6Uu
お題を出されて開始から終了までを調べたら結果が変わってきそう

33: 名無しのひみつ 2020/06/10(水) 05:28:11.89 ID:NAbvnLEk
プログラマーの脳は作業中に”誰かの声”を聞いている

締切り間際、3日くらい不眠不休で作業してるプログラマを対象に
研究すればこんな結論が出てもおかしくないんじゃないか。
などとケムニッツ巻いてみる。

それはともかく、プログラミングとは処理すべき内容を
コンピュータという他者に説明する行為だと考えれば納得できるでしょ。

36: 名無しのひみつ 2020/06/10(水) 05:34:28.79 ID:NOBWnWJB
プログラムっていうのはさ…
コンピュータとの"対話"なんだよ…
そこんところ理解してほしいね

37: 名無しのひみつ 2020/06/10(水) 05:54:14.74 ID:dT68v61k
プログラミングしてるときは、
めっちゃ独り言するんだが・・・

誰かとの会話だったか ^^;

43: 名無しのひみつ 2020/06/10(水) 06:54:58.23 ID:NKrg3zIU
>>37
其れはIQが高い人だからですwww

38: 名無しのひみつ 2020/06/10(水) 06:22:53.31 ID:mtnNIpZY
コードは盗めと上司の声がする。

41: 名無しのひみつ 2020/06/10(水) 06:50:12.35 ID:NKrg3zIU
コンピューターにひたすら命令している訳だしw
外国語と同じ

44: 名無しのひみつ 2020/06/10(水) 07:19:12.23 ID:kCJNdslB
まあ、お願いね~と心で言いながら関数呼んでたかも

45: 名無しのひみつ 2020/06/10(水) 07:19:55.24 ID:BjeQ8I91
「誰かの声が聞こえる!」って仕事中に言ってるやつ居たら怖いよ

46: 名無しのひみつ 2020/06/10(水) 07:22:19.13 ID:XDTNqhJ8
「コメント書くのさぼるな。きちんと構造化しろ。変数に適当な名前付けるな。ネスト深くすんな。書きながら設計するのやめろ」
聞こえたけど無視してスマン

54: 名無しのひみつ 2020/06/10(水) 08:09:52.78 ID:IncZ6WFp
トランス状態なんだ

64: 名無しのひみつ 2020/06/10(水) 10:12:04.86 ID:yHH467i9
読みやすいコードの書き方
これは最早コミュニケーションなんだよな

65: 名無しのひみつ 2020/06/10(水) 10:14:25.78 ID:FH9gPfdS
成人しての段階では、プログラム業務に携わる以前に
数学力がないというのは文章読み書きできない事に相当する
無能な話だと思うんだけど

75: 名無しのひみつ 2020/06/10(水) 12:09:49.65 ID:/1CqV8Ih
>>65
数学、物理のセンスは全てを網羅
ここから逃げた奴は他人のコピーから逸脱出来ないまま人生を終える
文系の無様さ

87: 名無しのひみつ 2020/06/10(水) 13:28:52.95 ID:i6Jl2/C0
>>65
一般企業もそこに気付いて、SPI非言語分野を導入したんだろ
数学というと語弊があるから名称を隠して

69: 名無しのひみつ 2020/06/10(水) 11:16:48.33 ID:nfGwfqQG
プログラムは言語だからな
コマンドは単語だからな
計算ではない
プログラムは詩なんだよ

73: 名無しのひみつ 2020/06/10(水) 11:59:55.22 ID:bzYfVS2X
空間認識能力に長けてないとだめ

86: 名無しのひみつ 2020/06/10(水) 13:27:41.92 ID:3O9YtSM3
それならなんでコミュ障なの?

92: 名無しのひみつ 2020/06/10(水) 14:47:36.83 ID:PSp8KKBT
アセンブリもそうだが
おそらく画家でも同じ結果が出てくる
脳最深部で発生した自前のメタ言語を解釈して作業してる

96: 名無しのひみつ 2020/06/10(水) 15:25:29.54 ID:WpmyGQA5
まあみんな薄々分かってたことだよね。
プログラミングに必要なのは論理だもの。
数学はそれを補完するものに過ぎないよ。
ちょっと前に流行ったディープラーニングなんかでは微積や行列の知識が必要だけど,そういうプログラミングをしたい場合に数学の知識が必要と言うだけ。

161: 名無しのひみつ 2020/06/14(日) 22:35:08.68 ID:gAvPsei8
>>96
数学こそ言語なのだけれど…

97: 名無しのひみつ 2020/06/10(水) 15:38:22.57 ID:QKLAJA1c
プログラマーだけど、なんとなく分からんでもない

98: 名無しのひみつ 2020/06/10(水) 15:48:30.25 ID:oxpUbTj5
エクセルのマクロ書いてるけど、なんとなく分からんでもない

105: 名無しのひみつ 2020/06/10(水) 18:29:32.40 ID:DQbr5hJw
まずimportするライブラリ選んで
これとこれと

変数はこの辺のとこの辺のを使うかなあ
この言語だと変数型も決めとかないと
この変数は初期化しないとヤバいなあ

この変数にこの値を代入して、
それからこのライブラリのオブジェクトを作って
それがこの変数を引数にするようにして、

そしてこれをこの配列の成分数だけ繰り返すなあ
for文で、この言語はforeachの方が使いまわし良いな

この繰り返し中にこの条件を満たしたら別の配列変数にaddしてやって
満たさなかったらおっとcontinueだぞbreakだとそこで終わっちまうぞ

106: 名無しのひみつ 2020/06/10(水) 18:33:14.00 ID:DQbr5hJw
>>105
さて出来た配列をこっちに回してと

何かこの操作自体何回もやるなあ
これも関数化しとくか

最後にmainで呼び出す仕組みにしてと
出力先はこのファイルとこっちに送信もするのね

よしこれで動くかな
あれエラーだぞ?

ああ、この配列ってヌル値も含んでたのね
じゃあ条件変更で

よし動いた。成果物はあそこに上げてと

お疲れさまでした

107: 名無しのひみつ 2020/06/10(水) 18:38:09.55 ID:32UYJLTB
作業をするときのBGMとして、楽器音のみの曲を鳴らしている分にはあまり影響ないが、
声やセリフの入っている曲は、思考の妨げになるというのが自分の経験から
わかる(別にプログラミングに限った話では無い。読書でも証明などでもそうだ)。

この記事の「研究」をプログラミング作業者だけでなくて、読書している人間、
文章を書いている人間、数学作業をしている人間などにも条件を揃えて比較
してみると良い。結局どの場合も「言語野」が使われているという結論が
出てしまうのではないか? 実際には、高度で(肉体的な対応とは直接関係無い)
抽象的な思考を行うための脳の部位全般が言語野とされているだけのことなの
じゃないだろうか?

111: 名無しのひみつ 2020/06/10(水) 19:33:09.25 ID:NKrg3zIU
>>107
意外と帰国子女とか後天的に第二外国語で獲得した人は言語野で日本語領域と外国語領域が分離しているから
思考している言語と聞いている言語が違えば記憶ベースの作業でなければそうでもない気もする

112: 名無しのひみつ 2020/06/10(水) 19:34:57.41 ID:NKrg3zIU
>>111訂正
意外と帰国子女とかではなくて後天的に第二外国語で獲得した人は言語野で日本語領域と外国語領域が分離しているから
思考している言語と聞いている言語が違えば記憶ベースの作業でなければそうでもない気もする

思考が飛んでたw

129: 名無しのひみつ 2020/06/11(木) 08:37:09.63 ID:rzERGAJC
仕事してるとオレの嫁が「今夜は早く帰ってきてね」と囁くんだよ

140: 名無しのひみつ 2020/06/12(金) 00:25:39.85 ID:HGeC0/3p
俺はBASICから初めてアセンブラ、機械語マイクロコードからシーケンサーとALUのハード設計からLSI設計までしてきたんで、コード書くとCPUのチップの中をbit単位で信号のレベルが動いてるとこまでイメージが溢れてくる

141: 名無しのひみつ 2020/06/12(金) 00:28:19.84 ID:u98r39pz
プログラミング言語はまるで言語のようだ

142: 名無しのひみつ 2020/06/12(金) 04:27:52.24 ID:U5kDrh5O
やってること翻訳だしな

184: 名無しのひみつ 2020/06/17(水) 14:02:03.76 ID:+ejmRPpX
PGの設計の部分は魔術回路の術式を組み上げていくようなものだから
どこかおかしいところはないかコード追うときに詠唱しているような気はする

189: 名無しのひみつ 2020/06/17(水) 23:39:40.00 ID:/ReSUyvr
プログラミングは将棋だよ。
大局を見るときは論理的には考えないけど、コーディングをするとき(詰将棋をするとき)には論理的に考えなければならない。

195: 名無しのひみつ 2020/06/19(金) 08:15:00.02 ID:FvXFEAxj
>>189
ぎゃくだな~おれは。
上位工程は、仕組みがうまく効率よく回るように、いくつかの設計手法つかいながら、練りに練って作り上げるけど、コーディングはほとんどの処理パターンが刻み込まれてるから、滅多に頭使わん。

196: 名無しのひみつ 2020/06/19(金) 15:52:09.90 ID:4nktllMr
>>195
お前の言うコーディングって
設計段階で定数名、関数名、引数、フローチャートまで完成した上でのコーディングだろ。

天才のコーディングはそう言うのは書いた瞬間に決定する。

逆に、全く新しい仕組みや開発環境では上位工程はとりあえず作ってみてうまく動くことを確認してから肉付けしていく。
そうじゃないと、机上の空論になりかねない。

あべこべなのが面白いよね。

190: 名無しのひみつ 2020/06/18(木) 15:08:10.63 ID:MUcvWkcA
プログラミングは、当然ながら考え事をしているようなもので、
独り言を心の中で声に出さずに言っているのと同じようなものだろ。

191: 名無しのひみつ 2020/06/18(木) 17:58:16.35 ID:sjdleE03
いや、大抵は声に出してブツブツ言ってるだろw

197: 名無しのひみつ 2020/06/19(金) 22:49:39.66 ID:CtXh5TXt
天才テレビのプログラマーは、プログラムを書きながらどうやれば
解決できるかなどと考えたりしない。
書き始める前に考えて方法を決定したら、後はそれを実現するための
コードを具体的に既にそこにあったかのように、なぞるように、
コードを書き並べていってできあがる。
だからサラサラと書いていって迷わない。
おそらく出来上がりのプログラムが頭の中に見えているのを
その通りにファイルに突っ込むだけのことなのだ。
まるでタイピングの練習をしているように。
そんなプログラマにはとうてい適わない。

198: 名無しのひみつ 2020/06/19(金) 23:01:28.95 ID:4nktllMr
>>197
外見上はタイピングしてるようにしか見えないかもしれないけど
考えてないってのは間違い。

それは漫画家が何も考えてなくて絵を描いてると言ってるのと同じ。

199: 名無しのひみつ 2020/06/19(金) 23:34:55.09 ID:3t9gMFJl
最近、他の人(他社)が作ったコードを修正しているんだが、こいつは会話できてなかったんだな。
形だけそれっぽいけど、全然ダメなんだもん。
頭の中でコードを実行できないと、こんな感じのコードになるのかと、怒りを覚える毎日です。

202: 名無しのひみつ 2020/06/22(月) 01:54:37.84 ID:yQaCGJOV
今に、AIが多数のプログラムコードの例を機械学習して、
それに基づいて、異常なパターンのコーディングや、
タイプミスなどによるバグの可能性のある箇所、
などを警告してくれるようになるだろう。

また、人間の侵しがちなバグのパターンのソースコード事例を機械学習して、
それに基づいて、ソースコードをレビューして、ここの箇所は
バグっている可能性が85%あります、というような診断をソースコードに
対して下して呉れるようになるに違いない。

 それにより、コーディング上の単純な誤りはかなりの割合で取り除けるように
なる可能性がある。これは文法エラーでコンパイラがはねるのよりも、
一段階進んだ、コードの意味に少しだけ踏み込んだエラーの可能性の検出になる。

もちろん、AIが「ここ変じゃないですか?」と警告したものが、エラーでも
バグでもなんでもない可能性もあるだろう。特にあまり事例のない新規の
コーディングや特に新しいアルゴリズムやその表現であれば、学習サンプルには
あまり手がかりがないので、疑われても当然であろうか。

207: 名無しのひみつ 2020/06/22(月) 16:41:51.33 ID:IjfmRpaD
ダーウィンズゲームの解析屋ちゃんが、脳内世界に入り込むようなもんか

208: 名無しのひみつ 2020/06/22(月) 18:21:48.58 ID:CXxivHH2
コピペしかできないプログラマのそれは音声理解力が重要だが、
自分でコードを0から作り出す創作能力には数学力が重要なのは明白だろ。

どんだけフレームワークやら言語やらAPIに頼っているんだ。
低レベルIOとか一度も使ったことがないPGの発想は、
より簡単に記述できる、それは細かい記述を独自にはやらないという意味だ。
そこにアルゴリズムを理解する能力など不要ってこと。

213: 名無しのひみつ 2020/06/23(火) 07:07:47.68 ID:o8SD+jvW
写真に色を塗っているんじゃかね?
あるいは写真を絵画化するソフトはあるよ。

218: 名無しのひみつ 2020/06/23(火) 14:11:02.60 ID:ZhR5RKCM
神の声でも聞こえるのか そりゃすごい
でも世間じゃ幻聴というんだよw

227: 名無しのひみつ 2020/06/24(水) 00:42:17.59 ID:XKBiFYxb
どういうプログラム組んでるかにもよるんじゃないの?これ




引用元:https://egg.5ch.net/test/read.cgi/scienceplus/1591729099/