なぜ私が【Python】を選んだのか
今回は、私が Python を学習するきっかけ、なぜ Python を選んだのか?どういう成果があったか?今後 Python ってどうなの?といったところを書いていこうと思います。
Python との出会い
私は大学の情報系の学部に所属していました。大学の必須授業で学習したのは、C, C++, Processing でした。周りはその他の言語を学習するわけでもなく、だいたい C か C++ で卒業研究まで乗り切っている感じでした。
私は大学院に進学したかった、かつとても C が嫌いだったため他の言語を使えるようになりたいと思いました。
大学院にかけて使っていくプログラミング言語として Python を選んだ理由は以下の通りです。
1 : 評価が良かった
当時は深層学習や人工知能がかなり注目され始めたこともあり、ネット検索すると Python がかなり持て囃されていました。私はとくにそのあたりの研究をするわけでもなかったですが、だいたいなんでもできる言語というのが魅力に感じました。
2 : 資料が豊富
Python に関する本やネット記事が豊富にあったことも選んだ理由の1つです。自分のやりたいことに関する情報や、遭遇したエラーを解決するヒントが多いことが勉強する上でも挫折しにくいと考えていたからです。
Python で何をしたか
そんなこんなで勉強を始めた Python ですが、最初はオライリー本から始めたこともあり、具体的に何かを作成するには時間がかかりました。大学のゼミで何かを制作するときは Python を使うようにして、実際に作りたいものを作りながら使い方を覚えていきました。
スクレイピング
最初にやったことはスクレイピング(Web ページから欲しい情報を抜き出すこと)でした。地域の ISP の AS 番号とピア関係を調べて、ネットワークの接続関係を地理的に表現したものを作りました。
仮想通貨(ブロックチェーン)ネットワークシミュレータ
学部の卒業研究として、仮想通貨ネットワークのシミュレータを作りました。これは、大学院でも続けて作成したものです。簡単に言うと、ブロックチェーンを作るノードを仮想環境で動かして、その中でさまざまな実験を行なったというものです。https://github.com/FikaStudio-code/Fika
画像処理(入門程度)
これは YouTube の企画として画像処理をやろうとしていたため、取り組んだ内容になります。やってて結構楽しいですね。笑
https://youtu.be/cciY_xqzPFY
Web アプリ
Python で動く Web アプリケーションフレームワーク Django というものがあります。これを使って、Web アプリを作りました。Web まわりと、DB の両面の設計の仕方を学ぶことができました。
今後の Python
さぁ、今後の Python ですが、まだまだ衰退はしないと思いますが、他の魅力的な言語も登場しています。そのため、Python が最もおすすめとは言いませんが、学習する言語の候補としては全然ありだと思います。
最近だと、Go とか Rust なんか使ってる人増えてるイメージがありますね。
Python はだいたいのことができますが、なんでも適しているとは言えません。例えば、Python はスマホアプリを作ることもできますが、その機能性はあまりよくありません。アプリに必要な UI を1から作る必要があるので、非常に面倒です。スマホアプリを作るなら、専用のプログラミング言語で作った方が圧倒的に効率的です。
やりたいことに合わせて、あう言語を選択しましょう。