プログラミング⑥ 続々々・プログラミングの約束事

プログラミング

最後に「Python言語」で書いてみます。

GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++
Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++...

右上の「Language」から「Python 3」を選択し、以下のコードを入力します。

hello = "Hello"
print(hello)

実行結果は以下のようになります。

凄まじくシンプルです。まさに、極限まで自動化した言語になっています。
とても記述が楽なので、慣れてくると効率的にプログラムを書くことができます。

ですが…計算結果の数値などを代入しているときに、何の型の値がメモリ上に記録されたのかが見えにくくなっています。(もちろん、Pythonでも型の指定は可能ですが、それでは本来のPythonの利便性が犠牲になってしまいます。)

他の言語で、型の種類や、メモリー管理などを経験したうえで、分かりきったことを省略して記述する言語が、Pythonだと思います。

ところで、Python の強みは、記述の簡略化だけではありません。
Python の特徴は、非常に強力な外部関数の取り込み機能にあります。
つまり、「C/C++言語」の「#include」や、「C#言語」の「using」を強力にしたものです。

以下のコードを入力して、実行してください。

import numpy as np

num = np.asarray([1,2,3])
print(num)

[1 2 3]の数字が出力されたと思います。
「numpy」は数字を扱う機能を持ったプログラムです。
それを「import」を使って取り込みました。

この、「import」を使った、「他人の作ったプログラムを取り込む能力」が非常に強力なのがPythonです。他の言語では、取り込むときに諸々の設定が必要になることが多いのですが、それらをすべて省略できます。

Pythonは、強力な取り込み機能と記述の簡略化機能がありますが、あまりに簡略化されすぎているために、何をしているのか見えにくくなることがあります。記述していないところはすべてコンピュータが補っています。何をコンピュータが補ってくれていて、何を記述しなければならないのかを適切に判断できるようになるために、過去の言語を知ることは大事です。

コメント