Pythonは簡単?

記事
IT・テクノロジー

Pythonは簡単?

最近はいろいろな用途で Python が利用できるケースが多く、たくさんのアプリが Python で書かれています。果たして Python は簡単なプログラミング言語なのでしょうか?


よく利用されるプログラミング言語
最近のソフトウエア開発では、Python や Javascript は良く利用されるプログラミング言語です。 特に、OS などに依存しない言語で、どの PC でも利用できるのは大きな魅力です。少し前は同じような理由で Java が広く使われた時もありました。日本では、Ruby なども良く利用されていますが、この辺りのプログラミング言語は、初心者の学習でも最初に選ばれる事も多く、これらのプログラミング言語を利用した仕事も多くなっています。

実際に、Python や Javascript でプログラムを書くと比較的短時間で大抵のプログラムを開発できます。そう考えると、Python や Javascript は簡単な言語と言えそうです。

比較の対象は、C 言語や C++
これに対してよく比較される言語が、C 言語や C++になります。 いろいろな人に話を聞くと、C 言語や C++は「難しい」「難しそう」というイメージを持っている人が多いようです。 Java はこれらの中間に位置する感じになります。

しかし、実際のコードを見てみると、基本的な書き方はほとんど同じです。 プログラムの基本は、「繰り返し処理(ループ)」「条件分岐」です。あとは、変数の型と演算です。 一番古い部類に入る C 言語の書き方と、見た目上は大きな違いはありません。新しい、プログラミング言語の場合は少し違ったスタイルの書き方も追加されている感じになっています。


プログラミング言語は英語圏で発達した背景があるので、基本的には簡単な英語で書くようになっているため、見かけ上は大きな違いはないのが普通です。「for xxx」とか、「if xxx」のような書き方はどのプログラミング言語でもサポートされている記述方法です。

つまり、実際のプログラムのコードを見るだけでは、意外に大きな差がない事がわかります。

簡単に感じる理由は?
しかし、実際にプログラムを書いてみると、確かに Python や Javascript で書いた方が効率的に書けると感じるのも事実です。

そうなんです!違いは確実にあります!

では、その違いは何かという事になりますが、これは標準ライブラリの中身です。 これの差が、書かなければいけないコード量に関係してくるので感覚的に大変か、そうでないかという所でプログラミング言語の難易度として感じる部分が大きくなっていると考えられます。

例えば、C 言語で文字列の処理をする場合、基本的な機能はサポートされていますが、細かい処理は結構大きな差があります。 文字列で、カンマで区切られている個々の要素を取り出すような処理は、Javascirpt や Python の文字列のクラスでは標準的にサポートされていますが、C 言語の場合は、基本的に自分でその処理を書く必要があります。つまり、基本的な処理のために別の関数などを容易必要があるので、当然コード量が多くなるので時間もかかります。


一方で、Javascript や Python の場合には、標準でそうした機能が用意されているので、改めてコーディングする必要はありません。

これはその一例ですが、Javascript や Python の場合には、そうしたよく利用される処理が予め用意されているので、プログラムを書く人が全て自分で用意しなくても良いという利点があります。

文字列の処理は一つの例ですが、あとはファイルの処理や、データのリスト構造なども C 言語の場合は自分である程度の部分を記述する必要がある場合が結構あります。

資産がある人はあまり変わらない
初心者が感じる、プログラミング言語の難易度の多くはコーディング量と自分で書くプログラムの量が多いか少ないかで大きく感覚が変わってきます。実際の基本的な構造自体は、プログラミング言語間での違いは非常に小さな物です。 しかし、標準で準備されている「よく利用する機能」に結構差があります。最近のプログラミング言語は、文字列やファイルの処理は結構細かい機能まで標準でサポートされているので、かなりの部分を自分でプログラムを作成する必要性は少なくなっています。これ d 絶対的なコード量を減らす事ができるので、実際は「簡単に感じる」だけです。

逆に言うと、C 言語などでプログラムを開発していると、そうした機能はよく利用するので、自分でプライベートなライブラリとしてまとめておけば次回以降はプログラムを全部書き直す必要がなくなります。つまり、ある程度長くその言語で開発していると、その差は殆どなくなるという事です。

ただ、大きな違いはプログラムの実行環境にあります。C 言語や C++の場合は、コンパイルして実行する必要があるため、OS や CPU が違うと別の実行形式のファイルが必要になります。一方で、Python などはインタープリタを利用して、ソースコードを読みながら実行するので、実行環境さえインストールされていれば同じソースコードをどの OS /CPU でも実行できるという別の魅力があります。また、問題のある場所を特定するのも容易でデバッグも比較的簡単にできる場合が多くなっています。こちらの方は、Python などが有利という事になります。

結論としては、使い慣れてしまえば大きな差はないと言う事になります。

まとめ
Python や Javascript は用意されている標準ライブラリも豊富で、最低限のコードを書けばほとんどの機能を実現できるので、簡単に感じます。しかし、慣れてしまえばプログラムの構造は似ているので大きな差はありません。

初心が学習する場合、自分で書くコードが必要最低限で済むことを考えると、学習コストは、明らかに Javascript や Python の方が低くなります。しかし一方で、自分で書く事によってよく利用する処理の中身まで学習できることは学習の時間はかかりますが、メリットと考える事もできます。プログラミングのより深い部分を理解するには、こうした細部の学習も必要と考える場合も多く、学習に時間を書けることができる大学などでは、いまだに C 言語や C++を教えるケースが多いようです。(最近のアメリカの大学での話です)

個人的には、まずよく利用する機会の多い、Javascript や Python をまず学習して、実際のプログラムを作る方を初心者にはお勧めします。その上で余裕があれば、C 言語や C++など古くから使われている言語を学習するとより深いプログラミングの世界を理解することができます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す