2012年12月8日土曜日

複数の言語を学ぶということ

私はプログラミング言語を20言語くらい学んできました。
その主な理由は、自分の成長のため、新たな考え方や技術を学びたい、というものです。
そしてそのほかの理由として、「自分の偏った考えを改善したい」「他言語のユーザーと対話してお互いにさらに上を目指したい」というものもあります。


私はプログラミングをC++からはじめて、数年はC++ばかりを学んでいました。そしてブログをはじめて多くの人とコメントやトラックバックでやりとりするようになり、たまに揉め事なんかも起こしました。その揉め事の原因の一つが、「考えが偏っている」でした。正しい知識を持っていないのに意固地になっている場合もありましたが、自分がやってきたことを信じたいがために、他の考え方が許容できなかった場合もありました。
そういった経緯から、いろんな言語を学び、考え方を学び、ユーザーと話したりして、徐々に偏った考え方を直していくことができたつもりです。


それと、私と同じように、自分が使ってる言語の考え方に寄ってる人が大勢いることもわかったので、ここ数年は、自分が普段使っている技術の勉強会だけではなく、全然関係ないジャンルの勉強会にも顔を出すようにしています。そういった勉強会で参加者と「自分の言語ではこうなんだよ。このあいだ学んだ言語ではこうだったよ。そしてこの勉強会で話されている言語はこうだと思うんだ」というような話をしています。そして、自分の言語のコミュニティに戻って、他言語の話をするようになりました。
これによって、お互いのコミュニティがお互いから学ぶための、いくつかの土壌が作れたと自負しています。これはもちろん私だけの力ではなく、相手のコミュニティの人たちも同じ動機を持ってくれたことが大きなところだったと思っています。
たとえば、私が主催しているBoost.勉強会では、過去に私が出席した別のジャンルの勉強会出席者や、別な言語のユーザーが何度か来てくれています。

こういったお互いを知る努力を行うことによって、互いのいいところを知り、なぜそうなってきたのかを知った上で、お互いがさらに先に進めるようになります。勉強会のみならず、Twitterもいろんな言語のユーザー同士が気づいたらフォローしあって気軽に話し合うようになっていました。Twitterや勉強会がこれほど普及する前までは、各言語のユーザーは自分たちのコミュニティが運営するメーリングリストやフォーラム、自分のブログから出てきて知らない言語のユーザーと話すことはほとんどなかったと思います。

ここからは、お互いを知ったユーザーがこれから何をしていくのか。どういった成果を出していくのか、が求められる時代だと思っています。
そのための試みのひとつが『プログラミングの魔導書』だったりするのですが、もっと他の何かも模索したいですね。