これまで、インフラエンジニアとして活動してきたのですが、システム運用で使用するbatch,shellは作成したことはありますが
プログラミング言語と呼ばれるものは、使ったことはありませんでした。
これからは必要になるという思いそのなかで、Python(パイソン)を勉強してみようと思い調べてみました。
Python(パイソン)とは
人工知能ソフトの開発やビッグデータのデータ解析、 IoTのソフト開発の現場でよく使われるプログラミング言語です 。
実際どのように使われているの
「YouTube」や「Dropbox」「Instagram」 といったインターネットサービス、 ソフトバンクCMなどででお馴染みの「Pepper」 のアプリケーション、
NASAの研究開発や、 ディズニー映画作品を作成しているPixer社のCGといった身 近な製品にも多く使われている言語となっています。
どのくらい使われているの?
2017年に世界で最も使用されたプログラミング言語( IEEE(米国電気電子学会)発表) であると言われているくらい、世界的に普及している言語です。
プログラミング教育が盛んなシンガポールでは、 19もの中学校でPythonを学習課程に盛り込むことを発表されています。
これは、特徴でも記載しておりますが、Pythonがわかりやすく、 習得しやすい、また、可読性が高い( 他の人が書いたソースも見やすい)といった
特徴がら選定されていると考えられます。また、 公共の教育以外でもシンガポールでは、 子供向けコーディングスクールやプログラミング・ブートキャンプなどが多く開催されており、 ほぼすべてでPythonを教えるコースが提供されています。
日本では日本発のプログラミング言語である「Ruby」 というプログラミング言語が人気があるようです。
これは、日本語での情報も充実している、 最新情報も手に入りやすいといった点があり学習しやすいといった 利点もあるためであります。
※「Ruby」は、日本発のプログラミング言語で「 まつもとゆきひろ」氏により設計された言語です。
最も重視しているのはストレスなくプログラミングを楽しむことで きることがコンセプトとなっているようです。
身近なものでは、「Cookpad(クックパッド)」や「 食べログ」といったものが開発されています。
Wiki Ruby
Pythonの特徴
・コンパイル不要
メリットとしては、気軽に使用できる、デメリットとしては、 動作が多少重いといった点となります。
初心者の私としては、 気軽に使用できるというのはありがたく思います。
・構造をインデントで表現する
他のプログラミング言語でよく使用されているカッコで囲むといっ た記述はせず、インデント(文章頭の空白の数)で表現します。
そのため、 ソースが見やすいといった利点があります。
ちなみに、Pythonではお勧めのコードスタイルというのが、 「PEP8」というもので規定されており「インデントは空白スペース4つ」となっております。
・$や;のような記号が特殊な記号がほとんどない
英文のように読むことができるため、これも読みやすい理由のひとつとなっています。
・サードパーティライブラリが充実している
これにより幅広いプログラムの作成が可能になっております。
※ライブラリとは
他のプログラムから利用されることを前提としたプログラムの集ま りのこと
インターネットから情報取得のためのライブラリ・ 解析や画像処理のためのライブラリなどがあります。
・バージョンアップの予定が決まっている
明確に将来の予定が定義されていいます。 Pythonはバージョン2系とバージョン3系があり基本的には 互換性はありません。
そして、2系については、2020年にてEOL(サポート終了) が決まっております。
Wiki Python
これからプログラムを始めるなら
簡単でわかりやすい、しかも高度なプログラムも可能である。
AIやデータ分析、 Iotといった今後も需要のある分野にも強いといった点からも
これから学ぶには、 Pythonはお勧めの言語だと思っております。
食べるのにも困らなそうですね
もし、学ばれる方がいるようでしたら、2. x系に関してはEOLも決まっていることから、3.x系を学ばれることをお勧めします。
2.x系の方が、2. 0が2000年にリリースされていることもあり情報は、 たくさん見つかると思います。
同じコードが使えることもあると思いますが、 基本的には互換性はないと思ったほうがよいでしょう。
ただ、コードは似ているため情報確認の際は、 バージョンがどちらかといったことを確認する必要があると思います。
インフラエンジニアが始めるにも
インフラエンジニアでもプログラム需要は確実に高まっていると考 えられます。
クラウドサービス需要も高まってきていることもあり、 ITインフラの構成をコード化するといった業務もどんどん拡大していくと考えられます。
用途としては、サーバ構築の自動化や運用、 監視の自動化といったところに利用されることでしょう。
コメントを残す