開発環境 Python(その1)

【連載】

にわか管理者のためのLinux運用入門

【第162回】開発環境 Python(その1)

[2019/01/22 10:05]後藤大地 ブックマーク ブックマーク

サーバ/ストレージ

プログラミング言語 Python

これまで6回に渡ってLinuxでC言語のプログラムを書いて利用する方法を紹介してきた。最初にC言語を取り上げたのは、Linuxカーネルやユーザランドの多くがC言語で開発されているためだ。これはつまり、C言語が利用できると、OSが提供している機能をフルに利用できることを意味している。知っていればそれだけ得ということである。

しかし、C言語は挫折するユーザーが多いプログラミング言語でもある。ざっくり作ってもそれなりに高速に動作するソフトウエアが開発できる言語なのだが、適当に作りすぎるとメモリ管理系のバグでものすごく苦労する言語でもある。さまざまなプログラミング言語が登場している今となっては、ハードルが低いとは言い難い言語となっているのは間違いないだろう。

そこで今回からは、今最も取り組むのが手軽なプログラミング言語の1つとして「Python」を取り上げようと思う。毎月プログラミング言語の人気ランキングを掲載している「TIOBE Software」は、2018年に最もインデックス値を増やしたプログラミング言語として、Pythonに2018年のプログラミング言語・オブ・ザ・イヤーを贈った。

さらに2019年1月、PythonはTIOBE IndexでJavaとC言語に続いて3位のインデックス値を実現。集計方法の違いはあるものの、類似のランキング系サイトの多くがPythonの成長を示しており、勢いがあって今後も利用されるシーンの増加が見込まれているプログラミング言語だと目されている。

TIOBE Programming Community Index 2001年〜2019年 - 資料提供: TIOBE Software

Pythonは誰が書いても同じようなソースコードになるように設計されており、「コードが書きやすく読みやすい」点がメリットだとされている。特にインデントが定められている点が特徴的で、C言語などが奇っ怪な書き方が可能なのに対して、Pythonではもともとそうした書き方ができないような仕組みになっている。

こうした特徴から大学などで初めに学ぶプログラミング言語として、近年はPythonが利用されることが多い。ただしPythonの利用は学習に留まらず、現在ではビッグデータ処理や人工知能技術開発やその利用、組み込みデバイスでの利用、WebサービスやWebアプリケーションなどさまざまなシーンでPythonが利用されるようになっている。低い学習コストと高い効率が、こうした利用シーンの増加を後押ししていると考えられる。

Pythonそのものはシンプルな構造で必要最低限の機能だけを提供しており、それ以外の機能に関してはサードパーティ製のライブラリを使う仕組みになっている。この仕組みがサードパーティ製ライブラリの開発を推し進める原動力となり、利用シーンが広がっていったものと見られる。

導入が簡単!

Linuxディストリビューションには、Pythonがデフォルトでインストールされていることが多い。最初からインストールされているため、利用するのが簡単で(もちろん、後からパッケージでインストールすることも容易だ)、最初のハードルが低い。C言語と違ってインタプリタ言語なのでコンパイルする必要もなく、インタラクティブに実行することも可能だ。こうした導入の手軽さもPythonの利用が進む1つの要因だろう。

Ubuntu 18.04 / WSL

LinuxディストリビューションにはPython 2系とPython 3系の両方がインストールされていることが多いように思う。

LinuxディストリビューションにインストールされているPyythonの実行環境

「python」というコマンドがPython 2系で、「python3」がPython 3系だ。バージョン番号を含んだpython2.7やpython3.6というコマンドでも利用できる。このコマンドはスクリプトを実行する実行環境としても機能するし、インタラクティブに利用するシェルとしても利用することができる。要するに、このコマンドが入っていればPythonが利用できるということだ。

pythonインタプリタからバージョン情報を確認

Python 2系とPython 3系は似ているものの、一部後方互換性が失われている。どちらも読めればそれに越したことはないが、これからPythonを学習するのであれば、Python 3の学習を開始すればよいと思う。理由はいくつかあるが、最大の理由はPython 2系はそろそろサポートの終了が予定されているためだ。Python 2系で開発されたソフトウエアは多いのだが、これから利用しようというのであれば、とりあえずPython 3系について学んでいけばよいだろう。

便利な機能を初めから用意

Pythonに限らず後発のインタプリタ言語(スクリプト言語)に共通して言えることだが、便利な機能が初めから用意されていることが多く、また、頭を使う必要があるようなコーディングがなるべく発生しない仕組みになっていることが多い。

例えば、C言語の学習だと「ポインタ」と「参照」という仕組みについて理解を求められる辺りで脱落していくケースをよく見かけるが、インタプリタ言語(スクリプト言語)ではそうした仕組みは持っていないか、ユーザーは意識する必要がないように設計されている。

また、コンパイルする必要がなく、その場ですぐに試すことができるので、最初に学ぶ言語として学習しやすい。ある程度Pythonが使えるようになってくると、日常的に”楽”をするためのツールを作る基盤として便利に利用できるだろう。

まだベータ版の段階だが、Windows版のPython3がMicrosoftストアに登録されるなど、Windows 10での導入もしやすくなりそうだ。Windows 10で簡単にPythonを導入できるようになれば、Pythonを学ぶことでWindows 10、macOS、Linuxのどれでも通用する強力なスキルが手に入ることになる。これはなかなか魅力的だ。

次回からは、数回に分けてPythonの使い方を紹介していこうと思う。この連載はプログラミング言語そのものを解説するものではないので、細かい説明については適宜端折っていくが、「どういったことができるのか」「どんな風に使えるのか」といった辺りを感じてもらいたい。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

なぜ今、統合システムなのか? 押さえておくべき「3つのインパクト」

なぜ今、統合システムなのか? 押さえておくべき「3つのインパクト」

ガートナー ジャパンは10月31日~11月2日、都内で「Gartner Symposium/ITxpo 2017」を開催。11月1日には同社 主席アナリストの青山浩子氏が登壇し「CIOが理解すべき統合システムの3大インパクト」と題する講演を行った。本稿では、講演の内容をダイジェストでお届けする。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
ソフトウェア開発自動化入門
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る