プログラミングの型は同じ!

記事
IT・テクノロジー

プログラミングの型は同じ!


プログラミング言語はいろいろな物がありますが、実際のプログラミングの型(スタイル)は殆ど同じです。これが二つ目以降のプログラミング言語の習得は簡単だと言われる理由です。プログラミング学習で大切なのはこの「型」の使い方をマスターする所にあります。

プログラミングの型とは?

プログラミングの「型」とは、基本的なプログラムの書き方です。

いろいろなプログラミング言語がありますが、この書き方の基本は似ています。 もう少し詳しく書くと、プログラムの「流れ」を決める書き方と、プログラムの中で利用するデータの形は余りプログラミング言語による大きな違いはありません。

プログラミング学習の「本質」は実はこの二つの型(スタイル)を理解して使いこなす事にあります。従って、特定のプログラミング言語に固執して学習する必要はないのですが、一つプログラミング言語を選んで実際にプログラムを書いて、実行することで理解を深める方が効率が良いので、基本はプログラミング言語を選んで学習するケースが多くなっています。

プログラムの流れ

プログラムは基本的に、上に書かれた記述から下に向かって順番に実行されます。

ただし、処理によっては、条件によって実行する内容を変えたり、同じ処理を繰り返したりする必要があります。最近のプログラミングの言語の場合、以下に上げるような3種類の流れでプログラムを書きます。

* 上から下に
* 条件によって処理を変える
* 繰り返し(ループ)
実際には、特定の場所にジャンプ(go to)すると言う流れがありますが、プログラムの見通しを悪くしたり、流れを追跡するのが面倒になるので基本的には使わないと言うのが、最近のプログラムの書き方の流れになっています。

「上から下に」は、普通にプログラムを上から下に処理の順番に従って書くという一番基本の流れです。「条件によって処理を変える」と言うのは、「if/else if/else」と言う形で処理を分けて書く場合と、「switch」で各条件の処理を記述すると言うスタイルが一般的です。繰り返しは、「for」と「while」を使う場合が多くなっています。細かい記述の方法は、プログラミング言語によって微妙に違いますが、概ね同じような記述を使っています。

そう考えると、利用するプログラミング言語によって細かい書き方が違うだけで基本的なプログラムの流れは同じ様な方法で決めているので、別のプログラミング言語で書き直してもそれほど難しくはありません。

データの形

次がデータの形の話ですが、基本的なデータの形も似ています。

基本は、

* 整数
* 実数
* 文字・文字列
になっていて、それぞれ同じ形のデータをまとめた「配列(array)」と言う形をサポートしているプログラミング言語が多くなっています。これに加えて、自分で新い形を作ったりもできる仕組みを用意しています。(C 系の言語の struct や、オブジェクト指向型の言語のクラスなど)

データの形はプログラムの流れよりは、言語による違いが大きくなっていますが、基本はやはり似ています。最近の言語では、文字列の基本的な処理を予め提供している言語が多く、基本的な処理は、自分でプログラムを書かなくても処理する仕組みが提供されています。

例えば、特定の文字(文字列)の位置を見つけたり、特定の文字で文字列を分割したりなど、テキスト形式のデータを扱うのに便利な機能が、Javascript や Python などでは予め用意されていて、それを呼び出す事で簡単に処理できるようになっています。

まとめ
プログラミング言語は、基本的には英語に近い記述方法で、プログラムの処理の順番やデータを表せるように作られています。従って、英語がわかる人には、プログラミング言語を知らなくても、比較的簡単にプログラムが書けるようになります。日本人の場合、日本語とはかなり違う書き方なので、分かりにくい部分もあります。しかし、書き方の「パターン」を覚えてしまえば、後はプログラミング言語による差は余りないので、違うプログラミング言語の習得は余り難しくはありません。

逆に考えると、プログラミング言語を習得する事はプログラミング学習の本質ではなく、大切なのはプログラムで行う処理の流れや、どのような形でデータを扱うかが一番重要な部分です。

極端な話をすれば、「if/else 文」「for 文」に加えて基本的なデータの型が分かればプログラムを書くことができます。そう考えると、プログラム記述の基本は1週間程度あれば一応マスター可能という事になります。時間がかかるのは、これらをどの様に組み合わせたら必要な処理ができるかを理解する部分です。こちらも、いくつかのパターンがわかると、殆どの処理はできる様になります。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す