Coda

論文メモ Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?

July 4, 2020

既知のプログラミング言語の知識は新しい言語を覚える役に立つ。 一方で、新しい言語の学習の妨げにもなることをStack Overflowの質問とプログラマへのインタビューで明らかにした。

二つの言語タグのついたStack Overflowの質問450件を調査し、うち276件(61%)に既知の言語にもとづく誤った前提がみられた。 一例をあげると、Rで次のように書ける処理をPythonで同様に書けるか尋ねるために誤ったPythonの文を使って説明した質問がある。

# R
data[data$x > value, y] <- 1
# Python
data['y'][data['x'] > value] = 1

また、16人のプログラマに、新しい言語の学習方法と学習で戸惑うことについてアンケートをとった。 独学で必要な機能を必要に応じて学び、構文や概念を覚えるときは既知の言語のものと関連づけて覚えるプログラマが目立った。 他方、既知の言語と関連づけて学ぶために、既知の言語に由来する誤解をしたり、逆に、既知の言語にない構文や概念の理解に苦労したりする。 言語に関する文書の調査や関連するツールの使い方の学習にも苦労するという回答も目立った。