はじめに
Pythonの特徴についてまとめてみました。
フリーのオープンソースソフトウェアである
Pythonは、無料で使える。しかも、そのソースまでもが公開されている(Python自体が、どのように作られているのかが公開されている)。そのため、Pythonを使ってプログラムを作るだけでなく、Python自身の中身まで調べたり学習したり出来る。
マルチプラットフォームである
MS-Windows、macOS、Linuxなど、多くの環境で動作する。
各種ドキュメントが豊富
チュートリアルを含むドキュメントがインターネット上で公開されている。
幅広い分野に適用出来る汎用言語である
全てのプログラミング言語が、あらゆる分野に適用出来るわけではない。数値計算が得意な言語、事務処理やデータベースが得意な言語、といった具合で、言語ごとに得意分野がある。
その意味で、Pythonはオールラウンドプレーヤー的な存在である。
**機械学習、ディープラーニングなどのAI(人工知能)分野、データ解析、科学技術計算、Webアプリケーション、GUI(Graphical User Interface)**など、極めて多くの分野を得意としている。
しかも、他の言語で開発したプログラムとの組合せが容易な"グルー言語(接着剤のような言語という意味)"としての性格を持つので、Pythonが不得意な分野では、それを得意とする他の言語で開発したプログラムと組み合わせて開発する、といったことも可能である。
なお、教育の現場でも、学習すべきプログラミング言語として採用が増えつつある。
多くのプログラミングパラダイムに対応している
プログラムには、その根本となる思想・発想法・開発法を表す各種のパラダイムがある。
Pythonは、命令型プログラミング、手続き型プログラミング、関数型プログラミング、オブジェクト指向プログラミングといった、複数のプログラミングパラダイムに対応する。すなわち、極めて懐が深い言語である。
Pythonを学習すれば、上記のプログラミングパラダイムに精通出来る。また、作成者が得意とするプログラミング技術や、作成するプログラムの性格などに応じて、採用するプログラミングパラダイム(や、その比率)を自由に変えることが出来る。
スクリプト言語である
スクリプト言語とは、プログラムの作成・実行・テストなどを行いやすい、比較的小規模な体系を持つプログラミング言語である。Pythonには、次のような特徴がある。
・記述性が高い。他の言語よりも数割ほど短く記述出来る。
・可読性が高い。プログラムが読みやすい。
・インタプリタ形式である。プログラムを対話的に1行ずつ実行出来て、試行錯誤しやすい。
ライブラリが豊富である
多くのプログラミング言語がそうであるが、言語自体で行えることは限られている。グラフィック、ネットワークといった処理は、ライブラリ(処理を行うための部品が集められたもの)に任せる。
Pythonは、急速な普及とともに、幅広い分野のライブラリが充実している。
プログラムの実行が高速ではない
インタプリタ形式であること(さらに、動的な型付け言語であることなど、いくつかの理由から)Pythonのプログラムは、決して高速には動作しない。
ただし、「高速な技術計算のライブラリを利用する」といった感じで、処理の主要部分を高速なライブラリなどに委ねることで、それなりの速度でプログラムを実行出来る。
習得は決して容易ではない
Pythonは習得が容易、と宣伝されるが、そうではない。記述性が高い、ということは、短い記述の中に、多くの深い意図が潜んでいるということである。また、Pythonには、いわゆる(習得が難しいといわれる)「ポインタ」は表面的にはないが、その内部はポインタ(参照)だらけである。学習においては、一つ一つの式や文の意味を正しく理解していく必要がある。
おわりに
ここまで読んでいただきありがとうございます!
参考文献
・新・明解Python入門 (新・明解シリーズ) 単行本 – 2019/5/23
柴田 望洋 (著)
p.3,4