DESIGNMAP

  1. TOP
  2. その他
  3. プログラミング入門に適した言語はPythonであるひとつの理由

プログラミング入門に適した言語はPythonであるひとつの理由

プログラミングを学んでみたい人に向いている言語は何か、というお題がある。
言語によって得意分野が違うので、何を作りたいかによっておすすめする言語はかわってくる。

であるが、教育用の言語としては筆者の結論はPythonである。

理由はPythonの言語仕様がシンプルでコンパクトだから。
Pythonを選ぶと実践的なコードを書くまでの学習コストが少なくて済む。
言語仕様が分厚い言語を選んでしまうと、勉強はつらくなる。

Pythonはif文で丸括弧や波括弧を書く必要がない。条件分岐にswitch文がない。繰り返し処理にdo while文がない。forループはイテレーターを使ったモダンなforループしかない。変数の宣言はなにも記号をつけない。関数の仕様もシンプルである。データ型は100%オブジェクトなので、説明がすっきり。

このようなシンプルなPythonの設計思想に共鳴する。
一言で言うとPythonは仕様がコンパクトで美しい。

Pythonは1991年に登場しJavaよりも歴史が古い。なのに言語仕様がコンパクトさを保っている。

多くの言語は歴史とともに機能が増えて、言語仕様が複雑になっていき、マニア化してゆく。ついでにコミュニティもマニア化していき、面倒くさいセンパイが増えてくる。

そのマニア化してゆく一例としてあげられるのがJavaScriptである。

現在のJavaScriptの言語仕様は一言でいうと、入り組んだ迷宮のようである。

JavaScriptは他の言語と違い、ブロックスコープ、関数のデフォルト引数、モジュールがサポートされたのが遅かった。そのためトリッキーな書き方、イディオムが独自進化してしまった。そこに加えてECMAScript2015で大幅に機能が増えてしまった。

条件分岐はswitchもあるし、whileはdo whileもある。forループはクラシックなforループから勉強して、イテレーターを使ったfor ofループを勉強しないといけない。var宣言をした変数が巻き上げられたり、関数の引数の仕様(実引数が多い場合、足らない場合の仕様)も独特である。

関数は通常の関数宣言だけでなく、関数式やコンストラクタ関数、アロー関数も学ばねばいけない。

通常の言語ではエラーになる書き方が、JavaScriptではエラーにならない。データ型は100%オブジェクトではないので、プリミティブラッパーの説明もしなくてはいけない。

とにかくややこしい。
JavaScriptは言語経験者でさえ困惑させる仕様に満ちている。
JavaScriptは勉強していてつらい。

ということで、プログラミング初心者の方が最初に学ぶ言語としてPythonをおすすめしたい。

JavaScriptはWebでは避けて通れない言語なので、もし必要であればPythonで基礎を固めてから挑戦をすればよいだろう。

スポンサーリンク

プロフィール

DESIGNMAP
制作ディレクター
ON VISITINGを運営。
お問い合わせ