プログラミングを始めるときに入門書を使うべきか、使わないべきか

シェアする

「プログラミングをはじめたいのですが、入門書はどれがよいですか?」

「学生が使っているプログラミングの入門書はどれですか?」

といった質問をよくいただきます。実は、金子研でオススメのプログラミング入門書があるわけではなく、学生に入門書を使うように言っているわけでもありません。どんなコトにもメリットとデメリットがある!、が口癖でして、プログラミングの入門書にもメリットとデメリットがあると思います。このあたりの説明をします。

まず、プログラミングは手段という位置づけでして、目的は別にあります。たとえば 「化学データや化学工学データを用いて、データ解析や機械学習をすること」 です。なので、データ解析や機械学習をメインにして、本を出版したり、

[無料公開] 「化学のための Pythonによるデータ解析・機械学習入門」 の “はじめに” と目次の詳細
2019 年 10 月 23 日に、金子弘昌著の「化学のための Pythonによるデータ解析・機械学習入門」が発売になりました。 オー...

連載をしたりしています。

プログラミング未経験者のためのデータ解析・機械学習、連載スタート!
化学工学会の会誌で、Python でデータ解析・機械学習をおこなうための連載が始まりました。 〔連載〕プログラミング未経験者の...

目的が 「化学データや化学工学データを用いて、データ解析や機械学習をすること」 あれば、上の本や連載を大いにオススメします!(そのために書きました!)

ただ、金子研の学生の目的は少し違います。「化学データや化学工学データを用いた、データ解析や機械学習の新たな手法を開発すること」 です。データ解析や機械学習をするだけではないのですね。なんらかの手法を提案したあと、それを実現するためのアルゴリズムを考えたり、アルゴリズムに基づいてプログラミングしたりする必要があります。

プログラミングのボトルネックは、プログラミングではないところにあり!
金子研では学生もわたしも、プログラミング言語は基本的に Python を使っています。文法はシンプルでわかりやすいですし、ライブラリも豊富で...

“新たな” 手法ですので、これまでに例はなく、自分で考えてプログラミングするわけです。そのためのプログラミングのスキル、研究者としてのスキルが必要です。特に、自分で仮説を立てて、プログラミングしてみて、自分で考えた結果になるか検証して、それに基づいてまた仮説を立てて、、、といった試行錯誤が大事です。

もちろん、「データ解析や機械学習をすること」 を目的にしたとき、上のような入門書を使うことで早く目的を達成できると思います。Hello World! を表示させたり、データを読み込んだり保存したり、基礎統計量を計算したり、といったことはすぐにできるようになると思います。しかし、「データ解析や機械学習の新たな手法を開発すること」 まで道のりは遠いです。本を使わないことで、「データ解析や機械学習をする」 までは時間がかかっても、その過程でのプログラミングにおいて、試行錯誤したほうが 「データ解析や機械学習の新たな手法を開発すること」 のためのスキルが身についたりします。データを読み込んで、基礎統計量を計算して、それを保存するには、どのようなアルゴリズムにしればよいのか、それをどうプログラミングしたらよいのか、ここで試行錯誤のトレーニングができるわけです。急がば回れ、ですね。

研究者としての急がば回れ
研究者としては、 なるべく早く研究成果を得たい! という思いの人がほとんどと思います。ただ、研究においても、場合によっては 急がば回れ ...

まとめると、入門書にはそこに書かれていることをできるようになるまでを早くなるというメリットがありますが、試行錯誤する機会を失ってしまうというデメリットがあります。そのため、「データ解析や機械学習をすること」 を目的にしたときには入門書は有効ですが、「データ解析や機械学習の新たな手法を開発すること」 を目的にしたときには、そうではなく仮説と検証の試行錯誤を繰り返したほうがよいと思います。

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

シェアする

フォローする