問題
Pythonに関する記述として、最も適切なものはどれか。
AIなどの進展を背景に最近よく使われるようになっているPythonの問題です。Pythonはわかりやすい言語でシンプルですが、汎用性の高さが特徴です。
まず、プログラム言語は手続き型言語、関数型言語、オブジェクト指向に分かれます。
手続き型言語はコンピュータの処理を順番に記載していくプログラムです。CやFortranなどがあります。比較的理解しやすく、短い処理等を行うには扱いやすい言語ですが、一方で対応が複数にもわたるような複雑な処理では使いにくくなります。
手続き型言語の欠点を補うように出てきたのがオブジェクト指向です。手続き型言語やオブジェクト指向といったものは、プログラムのパラダイム(考え方のようなもの)と呼ばれ、およそプログラム言語はどこかのパラダイムになりますが、問題のPythonは関数型でもあり、オブジェクト型でもあるマルチパラダイム言語と呼ばれています。(よって2は誤り)
手続き型とオブジェクト指向を比較した例を挙げます。例えば犬が曲がり角では吠えて、直線では走るというプログラムがあったとします。単純にこれだけであれば、犬→曲がり角→吠える、犬→直線→走るだけですので、手続き型の方が簡単な分適しています。ただ、ここに猫、ライオンが加わり、坂道では歩くといったオプションまで加わると複雑になってしまいます。その場合は、動物名の塊、アクションの塊で分けて、状況に応じてプログラムを呼び出せれば動物名の塊×アクションの塊となってわかりやすくなります。また、それぞれの塊で開発できますので、複数人でも対応できます。これがオブジェクト指向になります。
関数型はプログラムが関数を主軸とするプログラムになります。関数型では一定の値を関数に与えると、必ず同じ値を返します。他のパラダイムでは時に別の値を返す場合があり、この点が大きく異なります。
その他の選択肢です。1はPhytonは2.Xのバージョンから抜本的に改善を加え、3.Xになっています。よって、2.Xは3.Xでは動作しない場合があることが特徴です(よって1は誤り)。
3はPhytonのプログラムの書き方の特徴になります。インデント(頭の段落の位置)でプログラムを区切るのが特徴です(3は正解)。
4はSQLなどデータベースを扱うための言語です。少しプログラム言語とは異なります。(よって4は誤り)
5の論理プログラミング言語とは、論理式を組み合わせてプログラムを作る言語になります。Pythonはオブジェクト指向、関数型のプログラム言語になります。(よって5は誤り)
1.Python 3.0では、Python 2の頃に書かれたスクリプトの多くはそのままでは動きません。言語仕様や組み込み型、標準ライブラリにメスが入り、ドラスティックな仕様変更が行われているからです。
2.Pythonはスクリプト言語であり、コードがシンプルで扱いやすく少ないコード行数で書くことができます。汎用性が高く数値計算ライブラリが充実しています。
3.正しい。
4.Pythonはスクリプト言語であり、アプリケーション開発の補助に用いられる比較的簡素な文法体系を持っています。
5.Pythonはスクリプト言語です。