プログラミングって何だろう?

プログラミングって言葉から何をイメージしますか?

例えば↓このようなものでしょうか。

#include <stdio.h>

int main(int argc,char *argv[]){
    printf(“hello world!\n”);
}

コンピュータで何か英語の単語を並べて、記号も入力して、いろいろ書いて、えっ、鍵かっこで閉じるの?
えっ、セミコロン(「;」のこと)が最後にいるの?
えっ、動かすには何かごにょごにょがいる?

。。。うーんわからない。

ちなみに上のプログラムをコンパイル(簡単に言えばパソコンにわかる言葉(?)にすること)して動かすと画面(といってもコンソールっていうものですが)に

Hello world!

と表示されるだけです。

うん十年前はそれしかありませんでした。

今はSCRATCHのように、マウスを使ってプログラミングができます。

SCRATCHを起動して、「スクリプト」と書いてあるところにある「イベント」ってのをクリック(マウスの左ボタンを押すこと)すると、
[旗がクリックされた時]っていうのがあるので、これを右の広場(?)にマウスでドラッグ(マウスの左ボタンを押したままにして移動すること)して持って行って放す。
続いて「動き」と書いてあるところをクリックして[(10)歩動かす]をドラッグして[旗がクリックされた時]の下にくっつくようにして放す。
scratchイメージ

左の猫のある画面の上の旗をクリックすると猫が10歩動く!

どちらもプログラミングには違いないです。

さて、プログラミングって何でしょう?

結局、何かをするため、させるための方法なり、手順なりを考えることではないでしょうか。

例えば、運動会のプログラムというものがあります。

1.開会式
2.ラジオ体操
3.組体操
4.棒倒し
5.騎馬戦
6.玉入れ
7.紅白対抗リレー
8.閉会式

『えっ、最近は組体操は危ないからしないって!
ああ、なら代わりに綱引きでも入れようか。』

1.開会式
2.ラジオ体操
3.組体操⇒ 綱引き
4.棒倒し
5.騎馬戦
6.玉入れ
7.紅白対抗リレー
8.閉会式

『よし、今回はこのプログラムで行こう。』

このように運動会に行う競技やその順序を考えたりすることは、プログラミングと考えてもいいと思います。

最初のプログラムも

Hello world!

と表示する代わりに

I have a Pen.
I have an Apple.
Un! I have an ApplePen.

と表示するには

#include <stdio.h>

int main(int argc,char *argv[]){
    printf(“I have a Pen.\nI have an Apple.\nUn! I have an ApplePen.\n”);
}

という感じで置き換えればよかったりします。
(上の例だと見づらいので1行毎に1つのコマンドのほうが良かったりしますが。。。)

運動会のプログラムも、”Hello world!”を表示するプログラムも、SCRATCHのプログラムも、どれも何かをさせるための手順や方法を書いたものです。

何かを実現させるために、何をどのように動かして、成し遂げるか。
もし何かあったら、どんなことをすれば解決するのか。

これって日頃考えてることではないでしょうか。
それから言えば、あまり堅苦しくプログラミングというものを考えることはないと思います。

スポンサーリンク
レクタングル広告大