研究に使うソフトウェアやプログラムについて
software and programs for research work

私の研究室には、専用の特別なソフトウェアはありません。基本的に、どんな簡単なものでも自分でプログラムを組んでいきます。
これまでプログラムを組んだことのない人達にとって、プログラミングは大きな心配の1つだと思います。だけど、プログラムなんて何とかなるとか、プログラミングなんて簡単に出来るとか、PythonR がちょっと使えれば大丈夫だとか、そんな気休めを言う気はありません。しかし、プログラミングの経験がない人でも、またはプログラミングが苦手だと思っている人でも、出来ないなりに半年ほど真面目にプログラミングに取り組んでいたら、プログラミングの感覚が少しは身に付きます。ですから、最初の半年は苦労すると思っておいてください。違う言い方をすれば、半年くらいは苦労することを覚悟しておいてください。
学生さんが使うプログラム言語は、基本的に自由です。私は主に C言語 を使い、たまに MATLAB を使っています。誤解を恐れずに言うと、Microsoft Excel で自分のアイデアが十分試せるのならば、Microsoft Excel で十分です。私の研究にとってソフトウェアやプログラムとは、自分のアイデアを試す道具です。正しい計算をしてくれるのであれば、どんなプログラム言語でも良いですし、下手なプログラムでも構いません。

データ解析では大量のデータを扱ったり様々な計算をしたりするため、手計算では追いつかずコンピュータで計算させることになります。そのため、ソフトウェアが必ず必要となります。しかし、どんなことにも対応できる万能なソフトウェアなんてものは存在しません。ソフトウェアは、ある特定の計算をする目的で作られています。もし自分が行いたいことや知りたいことにピッタリと合うソフトウェアがあれば、それを使います。しかし、そんなことは非常に稀です。従って、自分でプログラムを作ることが必要となります。誰も思いつかなかったアイデアが浮かんで、そのアイデアが上手くいくかどうか確認しようと思ったとき、誰かがそのソフトウェアを作ってくれるのを待っているわけにはいきません。もちろん、お金を出してソフトウェア会社に作ってもらうことはできますが、その費用は決して安くありません。お金に余裕のある大企業で働くようになると、秘匿性の低いものに関しては外注して作ってもらうことはあります。しかし、私の研究室は大企業のようなわけにはいきません。やはり、自分でプログラムを作るしかありません。自分でプログラムを組めない人に良く起こる問題があります。手に入れたソフトウェアを使って、自分の調べたいことが調べられている間は問題ありません。しかし、その調査が終わったときに問題が起こります。その問題とは、自分が次にやるべきことを考えないで、そのソフトウェアで出来ることを探し始めてしまうことです。もちろん、それが本当に自分が知りたことであったのならば、問題ありません。しかし、そんなことがずっと続くはずはありません。

私は自分でプログラムを組みますが、プログラミングは得意ではありません。自分が学生だったときなんて、それはそれはひどいものでした。プログラミングのことが本当に分かっていなかったため、友人や先輩方に助けてもらうと言うよりは、プログラムを組んでもらっていたという方が正しいくらいです。それでも、今は下手なりに自分でプログラムを組みます。分からない時は本やインターネットで調べたり、プログラミングが得意な友人や同僚に聞いて教えてもらったりしています。プログラムを組むには、自分が使うプログラム言語のことだけではなく、計算に必要な非常に細かい様々なことも理解しておかなければなりません。そのため、プログラムが完成するまでに長い時間がかかる時もありますし、その労力も馬鹿になりません。さらに、苦労して作ったプログラムが、正しく動くとは限りません。大抵は、(特に最初に作った)プログラムには、いくつもの間違い(バグ)があります。プログラム作りには、色んな苦労が付きまといます。しかし、自分でプログラムを作らなければ、自分のアイデアを試すことは出来ません。

個人的な経験からいうと、講義などでプログラミングを習ったとしても、すぐに自分の思い通りにプログラムが作れることありません。“なんで動かないんだよっ!!”と時には叫んだりイライラしたりしながら、少しずつ上達していくものだと思ってます。上手な人が組んだプログラムを見せてもらって、良いプログラムとはどういったものかを知ることも、プログラミングの上達には大切です。そういった経験を積んでいくと、いつのまにかプログラムが上手に組めるようになっていきます。私はプログラミングが今も苦手ですし、好きではありません。プログラムを組まないで済むなら、その方が良いとすら思っているくらいです。でも、プログラムの重要性と必要性も分かっているつもりです。そんな私ですから、プログラミングに不安を感じる気持ちは良く分かります。だから、プログラミングで分からないことや気になることがあったとき、プログラムが思うように動かないときなど、いつでも気軽に相談してください。