プログラミング超初心者にはScratchがおすすめ

プログラミングを教えてくださいと問い合わせが来たので、プログラミングとは何か、簡単に説明したいと思います。対象は全くプログラミングに関して知識がない人です。

皆さんはプログラミングにどんなイメージをお持ちでしょうか?GoogleやFacebookみたいなWebサービスが作れる、だったり、ホームページを作れる、というようなものがパッと思い浮かぶかと思います。他にも家電を制御したり、アート作品を作ったり、業務を効率化したり、今話題のAI作ったり、、、いろんなことができるんです!

プログラミングとは?

プログラミングとはコンピュータへの指示を書くこと

プログラムとは実行するものの順番を示すもの

(今更聞けない!プログラミングとは何か?〜基礎の基礎を学ぼう〜 | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイトより引用)

プログラミングとは、コンピュータへの指示をなんらかのルール(=プログラミング言語)にしたがって書くことです。プログラムは引用元のサイトにもありますが一般用語で、運動会のプログラム、文化祭のプログラムなどと同じく、実行順序を示すものです。

プログラミング言語とは?

プログラミング言語とは、人間から機械にスムーズに指示が出せるように考案された言葉です。主に動作を表すことが多いです。言語の種類の例としては、Ruby、Python、C、C++、C#、Java、Javascript、PHPなどがあります。

ここで注意すべきなのは、HTMLやCSSが入っていないことです。HTMLやCSSは厳密には、マークアップ言語と呼ばれ、プログラミング言語とは区別されます。マークアップ言語は主に書式とか見た目の装飾を記述するものです。マークアップ言語だけでは動的な機能はつけられないので、例えばHTML+CSSだけではWebサイトに”次のページへ"というボタンは設置できますが、押しても次のページに遷移させることはできません。ボタンが押されたら次のページに遷移するという動作部分については、javascriptで記述する必要があります。

何から始めたら良いの?

とりあえず何か試してみたい動くものが作りたい初心者がはじめにつまづくところはプログラミング環境を整えるところだと思います。なので、一旦環境構築はスキップできるような言語を選びましょう。私のオススメはScratchです。

scratch.mit.edu

Scratchはアメリカの有名大学が開発したプログラム言語(正確にはプログラミング開発環境名)です。特徴はプログミングのための開発環境のインストールや設定が不要で、ブラウザでサイトにアクセスするだけで、プログラムの作成から実行までできるということです。対象年齢は8〜14歳と子供向けに作られているので、サイトの作りもかなり直感的にわかりやすいですし、説明なしで実際に手を動かしながら理解していくことができます。

<プログラミング中の画面>

f:id:sakurA:20170626234333p:plain

特に上の画像にもある通り、"制御"コマンドなんかは、他のプログラミング言語にも必ずあるループ構造(○回繰り返す)やIF文構造(もし○なら)を模擬したブロックも用意されており、かなり本格的です

プログラミング初心者はまずScratchで何か作ってみるというのが良いのではないでしょうか。