人気エンジニアのお話し、今回はPythonエンジニアです。
先日職場近くの公共図書館いきましたら、Python の本軒並み借りられていましたね。最近は公共図書館も本当に便利になって蔵書検索も簡単にできるのですが、Python の本は軒並み貸出&予約待ちでした。まあ素直に買った方が良いかもしれませんね。
または先日お話しした勉強会などPythonは花盛りですね。さがせば夜遅くにPython勉強会やっていますよ。私も通おうかと思いました。
本当一番多いのはPython勉強会です。
皆さんPythonがなぜいまホットなのかはご存じでしょう。ここでも何回かやりましたが、機械学習ですよね。世の中的にはML(Machine Learning)といいますが、いま機械学習はあらゆる範囲に及んでおり、AIといえば機械学習になっていますね。昔ながらの学ばない人工知能とは区別しています。
機械学習の中にディープラーニングというのがあります。なんとなくごっちゃになっている人はいますね。
やはり機械学習ではほぼ一強状態となっています。
最近情報収集手段として音声が重要になってきてまして、ラジオ放送の音声をオンデマンド化したTBSのラジオクラウドと、昔ながらのPodcastを私はよく聞いているのですが、Rebuild.fmというPodcastがありまして主にシリコンバレーで活躍されている日本のエンジニアが緩めに長時間トークするものです、
これが中々面白い。その中でAppleのSwiftを開発したクリス・ラトナーがテスラを経てグーグルにいった。そうしたらグーグルでSwiftを機械学習の言語にするとぶちあげているそうです。当然ML向けに最適化するようですけどね。
そのなかでPythonは素晴らしいが色々問題なくはない。なによりも良くないのはMLにおけるこの趙独り勝ち状態だ、これははよろしくないといったことだそうです。
こういうのが健全な考え方なのでしょうが、中々Python以外が難しいようですね。
Pythonは元々は1991年にオランダのヴァンロッサムが公開したのが最初ですね。Amoeba OS用の言語です。Amoebaでマイクロカーネルという言葉を何年ぶりに思い出しましたが、そのAmoebaです。蛇のパイソンを直接イメージしたのではなく、あのイギリスのコメディ、モンティパイソンからきているそうです。
Pythonは機械学習専用言語ではありません。特殊用途の言語として使われているだけでなく、筋の良いオブジェクト指向の初学者用スクリプト言語としても活用されていますね。日本ではつい最近までメジャーとは言えませんでしたが、世界的にはかなり前から大人気です。
最大の特長は分かりやすさですね。CとかJavaとか初学者に見せてもこの行は何、あの行は何となりますが、Pythonは直感的ですね。また難しい処理についてもやたらに一杯ライブライリーがあるので、結構高度なことが出来ます。
また同じロジックなら誰が書いても同じコードになるようにという思想があるので、
きれいにコードをかけるというかロジックに専念できるというのがあるようですね。だから機械学習に向いているのですね。
問題点というのは遅いということでしょうね。実行時間が遅いということです。
ライブラリーの処理は遅くないということですが、検索してみてください。
なぜこんなに遅いのか?とかはやくするコードの書き方など、怨嗟の声が聞こえます。
それでもありあまる長所のために使われているのですが、
誤解してはいけないのではPythonを学ぶのは簡単なので、機械学習なりの経験を積んでこそエンジニアとしての価値がでてくるということですね。それは中々独習というわけにはいかないですよね。
まずは前回ご紹介した勉強会とくにTechPlayにはずっと継続して開催情報がありますので、活用されてみては本当の初心者むけのもあります。無料ではないですが、リーズナブルな範囲です。
またどのような言語かさわってみたい方は一番簡単な方法は本を手に入れ実行環境をPCにいれて触ってみる方法でしょうか。
本、無料なのが良いという方は、図書館どうですかといいたいですが、先述の通り予約一杯です。その中でPython公式文書はその割りにに良いようです。
あと個々の環境に実行環境インストールですが、Python はフリーで助かりますね。
WindowsはAnacondaディストリビューションあたりが普通でしょうか。設定方法はネット上でTipsがやたらにでていいるから問題ないでしょう。メジャーな実装を使った方が、詰まったときにTipsが多いので楽でしょう、
それさえも面倒だという方はオンライン実行環境paizaがあります。
これは様々な言語のオンライン実行環境があり、かなり高度なこともできます。
先述しましたが、Pythonで何ができるかがエンジニアの価値です。
また、それ以前にもプログラミングやってないけどちょっと触ってみたい人、高い機能があるので遊ぶのにいい言語で、ほぼ無料か安価にできるので触ってみるのがおススメです。