いま、開発言語といえば、Pythonだよね。というかPythonしか選択肢ないんじゃないかな。ないよね。
Pythonをしばらく使ってみての、個人的な感想。
- 最初は、強制インデントが不思議な気がするけど、すぐ慣れる。C言語やJavaとかでも、インデント間違ってソース書いたりしないよね。インデントが間違ってたら、単なる書き間違いなのか、バグじゃないのか、調べる必要があることになる。それを、Pythonの場合には、コンパイラがチェックしてくれると思えばいい。いまでは、ほかの言語にインデントチェック機能がないのが、不便だと感じている。
- オブジェクト指向じゃない感じでも書けるので、クラスを作らないで書き始める。それが、だんだん大きくなってきて、あとで、「この部分はクラスにしないとね」と気づいてオブジェクト指向的に設計しなおして、クラスに書き直しになることが多い。個人的には、たいていの場合にそうなる。
- Javaの場合、ファイル名とクラス名を同じにするというしばりがある。ファイル名ばかりではなく、ディレクトリ構造をパッケージと一致させる必要がある。これに慣れていると、Pythonのクラス名に関係なくファイル名を決めていいのは、不安な気がする。Pythonが普通で、Javaのようなしばりがあるのが特殊なんだけどね。
- 実行速度は、Pythonがスクリプト言語なので大したことはないはずだが、自分の用途には全く問題ない。いま作っているのは、ファイルを読み込んで、少し加工して書き出す、というもので、ファイルの大きさも1Mbytes程度までなので、もともと速度が問題になるようなことはないはず。だいたい2,3秒ぐらいであっという間に終わる。
- 速度が問題になるようなプログラムの場合には、CythonとかNumbaとか、ちょっと書き直す必要はあるけど、速度向上のための方法が用意されている。
- Deep Learningとか、画像処理などの用途の場合、速度が問題になる部分は、Pythonから呼び出されるライブラリ(たいていC言語で作ってある)が処理する。データ処理にはPandas(とNumpy)がある。
- Version 3.xへの移行には、手間取った印象があるけど、もうVersion 2.xのことは、気にしなくてもいいよね。
つぎは、Pythonのインストールについて書く予定。