プログラミングって何が楽しくてやるんだよ?の答え

<なんとなく興味がある…それだけで才能ありのプログラミング>

Programming_Language

「プログラミング、なんとなく興味があるんだよね」
「WEBサイトってどういう仕組なんだろう?私にもできるかな」

こういったことをちょっとでも考えたことがあるアナタ。

はい!才能あり!

今すぐプログラミングを趣味にしましょう。

というのも、世間一般の大多数の人々はパソコンや通信機器の仕組みなんて、「不思議だなぁ」とは思うものの興味をもつことはないようです。

だから、興味をもっただけでもあなたには才能があると思って間違いない。

いや、本当に。 だから、ちょっとこれから僕が話すことを聞いて行ってくださいよ。

[adSense]

スポンサーリンク

<よく分からない?お答えしましょう「プログラミングとは『日曜大工』である」>

  まずは、「プログラミングとはなにか?」についてお答えしましょう。

プログラミングに対してどういうイメージをあなたはもってますか?

多分、こういうイメージでしょう。

暗い中でカタカタとキーボードを打ち込み、訳の分からない英語の羅列を書き込んでいく・・・

moDBwnw

挙句の果てに疲れ果てて倒れる。みたいな。

IT業界、WEB業界が超絶ブラックなのは一般ピープルにももはや有名です。

デスマーチとか知ってる人は知っている言葉ですよね。 endAgenda

(イラスト:きたみりゅうじ)

そうやってカタカタしていくうちに、「ゲーム」とか「アプリ」とか、「インターネット」を作ってるんでしょ?

って思っている感じでしょうか。

ここでいったん、試しに「プログラミングってなに?」と検索してみましょう。 検索結果の上から出てきた2つをちょっと覗いてみます。 スクリーンショット 2015-06-15 23.52.49

(Geekなぺーじ さん)

「プログラミングとは、コンピュータが処理するプログラムを作ることです。」

スクリーンショット 2015-06-15 23.52.28

(斎藤俊則のウェブ・ディレクトリ さん)

「プログラムは人間がコンピュータに対してさせたいことを伝えるために作られるものです」

ううーん。

なんかこう「いや、そうだけどさ・・・もっとこう、なんか別のアレあるじゃん・・・」

と言いたくなるような回答です。

僕は↑の2つのようには答えません。 僕がもし「プログラムってなに?」と聞かれたならば、 もっとこう「プログラミングをしている時にどんな気持ちになれて、どういう楽しさがあるか」について僕はお答えしたいと思っています。

ずばり答えましょう。プログラミングは、

工作です。日曜大工です!!

engineer

例えば、「小さなホームページを作る」は「犬小屋を作る」に例えられます。

背景の色を決め、ホームページタイトルを決め、実際にトンカチをトンカンやる作業は、キーボードをカタカタ打ち込む作業です。

こういった↓ようなモノ(htmlといいます)を打ち込んでホームページは作ります。

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8" />
  <title>犬小屋</title>
 </head>
<body>
   <h1>犬小屋だよ</h1>
</body>
</html>

すると↓のようなホームページが完成します。

すっごく簡単でしょ?これに色をつけたり、リンクを張ったり、画像にリンクを張ったりするともっとキレイになっていきます。

それくらいになると、「犬小屋」が「豪華な犬小屋」に変わりますね!

でも・・・実は言うとここまで話した犬小屋作りは「プログラミング」ではありません。

プログラミングと呼べるようになるためには、「犬小屋(作るもの)」が動き出さないといけません。

ちょっと説明のために、いくつかWEBサイトを例にとって説明しますね! まずはこちらのWEBサイトを開いてください。(スマホの方はタブを行き来するのメンドイと思うんで、後で見てください)

mineo スマホの画面で説明します。

画面の右上にメニューマークの「三」がありますよね。

スクリーンショット 2015-06-16 9.17.46

これをタップ(クリック)すると・・・

スクリーンショット 2015-06-16 9.18.12

メニューが下に向かって「ぐぐぐ」と下がってきましたね! パソコンの人なら、メニューにカーソルを当てると「色が変わって」「下にメニューが表示される」と思います。

こういった仕組みってよく見かけますよね?これこそがプログラミングです。

日曜大工に例えるなら、「犬小屋にドアをつけた」ようなものです。

ユーザが何か動作をすることによって、プログラムが動いたんです。これこそがプログラミング。

さて、プログラミングが「日曜大工」に例えられることが分かった今、様々なプログラミングについて説明することができるようになりました。

いくつかプログラミングについて抱く疑問を解き明かしていきましょう。 例えば、よく知恵袋とかでこういう質問を見かけます。

Q「独学でゲームを作ることはできますか?」

そんでもってこれへの答えとしてまたまたよく見かけるのが・・・

A「できます」
A「無理です」
A「なんともいえません」

どっちやねん(゚Д゚)ゴルァ!! 

と、プログラミングの勉強を始める前なんかは僕怒ってましたよ。

でもこれが事実なんです・・・。

それについて例によって「日曜大工」を例にとって説明していきたいと思います。

どうして矛盾した回答が出るのかというと、回答者の頭の中に浮かべている「作るものの大きさ」に差があるからです。

A「できる」派のケース→作るものが小さいと思っている

Q「家を自分で作ることは可能ですか??」

  A「できますよ。 実は私は一軒家を作りました。二階建てのロッジです。 いくつかの法律を順守して、しっかりと計画すれば半年で完成することが可能ですよ。」

A「できない」派のケース→作るものが大きいと思っている

Q「家を自分で作ることは可能ですか??」

A「無理です。 私はマンションの設計をしているものですが、それは無理だと思います。 地中深くまで基礎を掘らないといけませんし、なにより数センチのミスも許されません。

あきらめて業者に頼みましょう」 お分かりいただけましたか?

ちょっとへんてこな例えですみません 一口に「家を作る」といっても規模に差がありますよね。

ゲーム(プログラム)にも規模の差があります。

オセロゲームをブラウザ上で作る小規模なブログラムから、最新のゲーム機で動かすファイナルファンタジーシリーズのような大規模なプログラムまで様々です。

大規模なプログラムは何百人も人数をかけて作ります。

それはもう東京スカイツリーを建設する工事のようなものです。

そのスタッフの中には各方面の専門スタッフが存在します。 ある人は「流体を綺麗に表現する」プログラムを作る人だったり、

th.gen

ある人は「かっこいいキャラクターを考える」デザイナーだったり・・・ 03

ビル建設工事も基礎工事をするひとから、塗装業者、エレベーター業者まで沢山の専門スタッフが集まって仕事をするわけです。

もしも、「独学でプログラミングを勉強して一人でFFみたいなゲームを作りたい!」と思っているのなら、「無理です」と答えるのは当然なことでしょう。

一人で東京スカイツリーが作れないのと同じことなんです。逆に、小規模のゲームなら簡単に作れるようになります。

[adSense]

<じゃあ、ゲーム意外でプログラミングを使えば何が作れるの??>

さて、プログラミング初心者が抱く疑問、その2に参りましょう。

Q「プログラミングの初歩を学びました。で、何が作れるんですか??」

これ、考えますよね―! 僕も超思いましたもん。

ifとかforとかwhile習ったけど、「で?」みたいな。次どうすりゃいいんだよ!! 知恵袋で調べました。そして出てきた答えは・・・

A「なんでもつくれます」

なんでもってなんだよ。じゃあ野菜つくれんのかよ。

そう僕は思いましたよ。

10

でも・・・・。

実はこれもさっきの場合と同じことです。

そう、プログラミングでは「なんでも」つくることが可能です。野菜だって作れる。

機械、ロボットを制御できるプログラミング言語を使えば、もしかすると全自動農家ロボットを作ることができるでしょう。

そうすれば、「プログラミングで野菜を作れる」ということも言えなくはない。

プログラミングでできることはとても多いんです。

  とはいっても、「じゃあ”私は”何をすればいいの?何を作ったらいいの?」と思うことでしょう。

「別にゲームを作りたいとも思わないし」
「電卓作ってもつまらない」
「ロボット制御なんて難しそうじゃん!」
「結局、私にはプログラミングはできないんじゃない??やーめた!」

こんな思考回路に落ち込んでしまいそうです。

これはねぇ・・・。

やっぱり基礎的なことだけを知っていてもそれの活かし方が分からない、という状況なんです。 どうすればいいんでしょうね?

この状態のまま僕はかなり停滞していた時期があります。

その頃は、ゲームプログラミングに挑戦したり、会計ソフトの真似事みたいなモノを作ろうとしたり・・・特に興味もないのに「とりあえずやろう」の精神でやっていました。

でも、やっぱり難しいし、すぐに挫折してしまいましたね。 そして、僕は出会ったんです。

WEBプログラミングに!!

Programming_Language

WEBサイトをプログラムするんです。 WEBサイト制作のなにがいいって、

・簡単

・ぐぐってすぐ調べられる

・打ち込んでからすぐに結果が見られる(楽しい)

・実用的で、すぐにお金になる

ことですね!

本当は一つの記事でまとめる予定だったんですけど、思いのほか長くなっちゃったんで、続きは「WEBサイト制作でプログラミングを学ぼう(仮)」で!!

[adSense]

スポンサーリンク

コメント

  1. ziyuu より:

    この説明最高ですね!
    今、自分は半年独学で勉強してて、ようやく道筋が見えてきました。
    わかったことが
    ・ruby on railsは楽をするためのものであって仕組みの全体像が頭の中に入っている人が学ぶもの。(優秀なら問題無し?)
    ・C言語は今使い道があんまりない。(クッソ時間かければなんでもできるっぽいです)
    ・Macアプリを作ろうとする人は、本当に少ない。(ドキュメントはほぼ英語)

    初心者なら、まず何を作りたいかを決めて、一番ネット上に必要な情報が多いプログラミング言語をやった方がいいなと思います…
    あと、この記事みて友達にWebサイト作りを勧めてみようと思いました!
    ついでに自分も一緒にやります

  2. わくわく より:

    全般どの記事も面白いです。
    この記事の続編も読みたい!

  3. ぽむ より:

    テンポがよくて楽しかった

コメントをどうぞ

メールアドレスが公開されることはありません。


:表示されているコードを入力してください。