現在、プログラミングは大きく分けて2種類のコーディングスタイルがあります。具体的には以下の2種類です。
- ビジュアルコーディング
- テキストコーディング
以下で、この2種類のスタイルについて紹介していきます。
ビジュアルコーディング
ビジュアルコーディングは、その名の通り、視覚的にコーディングをするスタイルです。主に教育向けのプログラミングツールに多い仕様となっており、Scratchがその代表でしょう。
ビジュアルコーディングは用意されたブロックを合体させていくことでコーディングを行います。ブロックの意味がわかれば子供でも容易にプログラミングをすることができます。
Scratchの例を見てみましょう。
以下がScratchのコーディング画面です。
左側にブロックが置いてあり、それを中央に持ってくることでコーディングを行なっていきます。

上の例では「10歩動かす」というブロックを「ねこ」のスプライト(キャラクター)に配置しました。中央に配置したブロックをクリックすると「ねこ」は右に10px(ピクセル)動きます。
では、「ねこ」をずっと動かし続け、端で折り返すようにするにはどうしたらよいでしょうか?
以下のブロックをそれぞれ探して、以下のように組み合わせてください。

すると、あら不思議!「ねこ」ちゃんがずっと動き続け、端で折り返すようになりました。しかし、よく見てみると、このコードは日本語にすることができます。プログラミングのコードを日本語にするとこうなります。
- 緑の旗が押されたら
- ずっと
- 10歩動かす
- もし端に着いたら、跳ね返る
ねこちゃんはこの通りに動いていますよね。
このように、Scratchでは「したいこと」がプログラミングのコードと日本語で対応がつくことが利点で、子供の文章力理解や論理的思考力育成の助けにもなります。
ただし、本格的なシステムやWebアプリケーションを作ることには向いていません。その場合はテキストコーディングのスタイルでプログラミングをする必要があります。
テキストコーディング
一般的にプログラミングと言えば、このスタイルです。
ビジュアルコーディングとは異なり、全てテキスト(文字のみ)でプログラミングを行うスタイルです。ビジュアルコーディングにおけるブロックほどの大きな単位での機能は用意されていません。基本的には、全てイチから機能を作っていく必要があります。
その代わりに、ビジュアルコーディングより高度で複雑な処理が容易です。行政や銀行などのシステム、YouTubeやFacebookなどのSNSサービスも裏ではテキストコーディングによってプログラムされたファイルが動いています。
イメージをお伝えすると。。。。。こんな感じです。

かなり複雑な感じですね。ですが、どんなプログラムも1行1行の簡単な処理で成り立っています。それをまとめていき、1行で複数の処理を行うまとまりを作り、プログラムをコーディングしていきます。当然複雑なプログラムともなると数十万行に及ぶこともあります。
Hello World!
ここではテキストコーディングの初歩をSwiftという言語を用いてご紹介したいと思います。プログラミングの世界では、プログラムを動かすためのプログラミング言語の基本文法の解説例として提示される非常に簡単なプログラムの通称にHello World(こんにちは世界)というものがあります。まずはそれを実践してみましょう。
まずはここにアクセスしてください。
http://online.swiftplayground.run/
Let’s Playボタンを押下してください。
すると以下のような画面になります。

はい。実はこれで完成です。これがSwiftのHello Worldプログラムです。
では早速実行してみましょう。左上のRunボタンを押下してください(下画像)。 このボタンがプログラム実行ボタンです。

すると下の方に”Hello World”の文字が表示されます(下画像)。

print("Hello World")
はこの画面の下部(コンソール)に文字列”Hello World”を表示しなさいという処理です。print()の()の中に文字列や数字を入れることでコンソールに表示することができます。こういった処理をまとめたものを関数といい、print()はプリント関数と呼ばれています。試しに中身を変えてみましょう。
print("Hello World")
print("How about you?")
このように変更して、実行ボタンを押してみましょう。実行結果が以下のように変わるはずです。

中には簡単すぎるだろ!という方もいらっしゃると思いますが、プログラミングはこのように簡単な処理を積み重ねることで複雑な処理を実現しています。
次は少し本格的に、足し算の結果を表示するプログラムを作成しましょう。
次のようにコーディングをしてみてください。
print("Hello World")
print("How about you?")
//====ここから加える=====
var a = 2
var b = 5
print("a+b=",a+b)
プログラミングには変数という概念があり、上のコードでは変数aと変数bを定義し、それぞれの変数に2と5を代入しています。print関数の中に”a+b=”という文字列と演算式a+bをいれています。a+bは2+5なので、このプログラムを実行するとa+b=7と表示されます。
練習
ここで、上のコードの数字を好きな整数に変えて実行してみてください。
奇数列
続いて、もう少し難しい例として、奇数列を表示するプログラムを作成してみましょう。数列で書くとこのようになります。奇数列は等差数列で公差は2です。
$$ a_n=a_{n-1}+2, a_0=1 $$
この数列を表示するプログラムを作成していきます。
print("Hello World")
print("How about you?")
var a = 2
var b = 5
print("a+b=",a+b)
//=====ここから追加=====
var n = 10
for i in 0 ..< n{
print( 2 * i + 1 ) //*は掛ける、+は足すの演算子
}
上記のようにプログラムが書けたら実行してみましょう。

このように奇数列がコンソールに表示されます。nの値を変えると好きな項数だけ奇数列を得ることができます。
練習
nの値を好きな整数に変えてプログラムを実行してみましょう。
解説
下の部分について解説します。
var n = 10
for i in 0 ..< n{
print( 2 * i + 1 )
}
nは変数です。
forは繰り返しのためのキーワードで
for i in 0 ..< n{
処理
}
で処理を0からn-1まで繰り返します。繰り返すごとに変数 i に0からn-1の数が代入されます。
今、print関数の中身が
2 * i + 1
なので、i=0の時1が、i=1の時3が、、、、、と奇数が表示されるようになっています。
最後に
少し重たい内容となってしまいましたが、なんとなくビジュアルコーディングとテキストコーディングの違いとその利点や欠点についてご理解いただけましたでしょうか。ここではプログラミングのほんのさわりだけを紹介しました。
プログラミングは今もなお活発に世界中の人々が活用し発展させています。ゆえに、大変奥が深く、様々なことを実装しようとすると実に深い知識が重要となってきます。それはプログラミングの世界の知識のみならず、数学、物理学、音楽、経済学、、、、など様々な知識が必要です。逆に、プログラミングはプログラミング単体で用いることは稀で、ある分野とプログラミングを組み合わせて用いることでその分野にイノベーションをもたらします。
IT化が進めば進むほど私たちの生活は便利になっていきますが、一方でそれを作る側の人間はITの他の分野で実に多彩な知識と技術が求められます。
今後、多彩な知識をもつ人やITに深い造詣をもつ人が職を得やすくなっていくことは想像に難くありません。そのためにも今から一緒に勉強を始めましょう。
プログラミング教室KOTONOHAでは小学生からシニアまでプログラミングを学習いただけます。最終的にアプリをストアにリリースするところまでサポート可能です。ぜひ一度ご来店ください。
