今まで使っていた開発言語(C++)に少し飽きてしまったので,何か新しいプログラム言語を学んでみたいと思った.自分に厳しく言うのであれば,一つの言語を極めもしないで新しい開発言語に手を出してしまうのは誠にけしからんことの気もする.この記事ではそんな筆者の Python を習うことにした苦し紛れの言い訳素晴らしい理由を挙げてみたいと思う.
ちなみに,筆者はプログラムの専門家ではないので,「パソコンを少しかじったことのある人が,そのレベルの視点で Python がいいと思った理由」といったタイトルがより正確であろう.専門用語も使っていない幼稚な文であると思うが容赦していただきたい.
単なる好奇心で,新しい言語に触れたかった
Python を選んだ理由とは少しかけ離れてしまうが,まず C++ を離れる大前提として,好奇心のせいだということを最初に書いておきたい.「C++ なら,今使っている環境で GUI に拡張して開発できるじゃん」という意見には自分も納得なのだが,事をめんどくさせる根本的原因の好奇心のせいで今まで習っていない新しいプログラム言語を書きたいと思った.
GUI アプリを作れるクロスプラットフォーム
C++ で開発をしていると CUI のうちは全く問題なのだが,GUI のアプリを作成しようと思ったときにいくつか気になってしまう点があった.その中でも個人的に嫌だったのは,作ったプログラムを GUI として出力する際の方法が多く,プラットフォーム依存の問題にぶち当たったことだ.とはいっても,「Qt」というフレームワークを使えば C++ でもクロスプラットフォームな開発ができるのでこの理由は言い訳かもしれない.プラットフォーム依存を極力なくせるよういろいろ調べた末に選んだ選択が「Python(+ Kivy)」という環境だった.
ここまで読んで「java でもいいじゃん」と思われた方もいると思うが,そう思われた方はぜひ次の項目にあるリンク先を読んでいただきたい.
Google vs Oracle の Android に関する著作権問題に顔をなるべく出さない
筆者は Android の携帯端末を持っているため,クロスプラットフォームというからには Android でも動いてほしいので,”Write once, run anywhere” という精神に基づいている java がドンピシャかと思った.
が,Android と java の問題について次の記事を読んで心が一転した.パソコン初心者である自分もすらっと読めるほど丁寧に書いてくださっているので,是非一度読んでいただきたいと思う.
Java API 訴訟の件で私が Google よりも Oracle の肩を持つ理由 – Qiita
この記事を見て java を使おうとする気持ちに急ブレーキがかかった.日本人特有(?)の「事なかれ主義」的な気持ちがどこかにあるのか,「これは java つかわないのが自分の哲学的,精神的に得策」という判断に至った(至って単純な思考回路であることが誠に恥ずかしい).
半面「Python + Kivy」という環境は,著作権的にも個人利用と商用利用,どちらもオッケーだ.この制限のない感じがかなり気に入ってしまった.
Google, Youtube, Yahoo! など,長いものには巻かれとく
自分の中の世俗的な一面がチラリ.これについては語るだけ自分がみじめになるので,やめておこう...つまりそういうことです.
日本においては機械学習や自然言語処理で主流のよう
調べてみると,Python は最近の流行りである機械学習や自然言語処理の分野でよく用いられているようだった.高速処理を求めるのであればコンパイラが多言語である C++ で続けるのが確かにいいかもしれないが,今の自分はそもそも機械学習や自然言語処理について無知なので高速化の段階を考えなくてもいいと考えた.自分が日本語で調べている範囲では,独断にはなってしまうが,Python は「今流行りのプログラム言語」という印象を受けた.自分も機械学習や自然言語処理はどんなものか興味があるので,ここは流行りに乗ってみようと決めた.
ざっとこんな感じになります.ググるとほかにも Python を使うメリットは調べればたくさん出てくるので,この記事では割と自分中心的に Python を使うに至った経緯を説明しました.しばらくは Python で試行錯誤して勉強したいと思ってます.記事を読んでくださった皆様でまだ Python を使ったことのない方は,ぜひ気軽に Python をインストールして使ってみてほしいです.