Makishimaです!
私はプログラミングを初めてまだ1年半ほどの初心者ですが、
それでもプログラミングを始めたからこそ
鍛えられたなぁ〜と思うスキルがいくつかあります。
今日はそのことについて書きたいと思います。
ではここで(突然)クイズです!!
プログラミングを始める前よりも
私Makishimaの中で鍛えられたスキルは、
次のうちどれでしょう?
A: 計画力
B: 焦らない心
C: Google力
D: 知らんがな!!
だだだだだだーーん(ドラムロールのつもり)
正解は、
「D」の知らんがな!!
...違います!!
本当の正解は、
AもBもCも、です。
ひとつ以上確実に変わったと感じているので
どれかひとつを選べませんでした。
ひとつずつどういうことか説明させていただきます。
まずは「計画力」
プログラミングをするということは、
兎にも角にもゴールが必要です。
志を高くもて!という話ではなくて、
もっと具体的に
「何をつくるのか」を知る必要があるということです。
プログラミングの話をするときに
よくお料理を例にあげることがあります。
その理由はここでは深く語りませんが、
例えると、
計画なくプログラミングをするということは、
作る料理を決めずに材料を切り始める
ということに似ています。
変ですよね。
とりあえず、目の前に玉ねぎが転がっていたから切ってみる・・・
(そして涙があふれる......うるっ)
おかしいですよ!!ってツッコミたくなりますよね。
食べたいものが漠然としてわからないときは、
じゃあまずレシピ集でも眺めたら??
というアドバイスを(心優しい読者の方なら)
してあげるかもしれませんね。
お料理なら当たり前でも、
プログラミングをするときにはこのことを
すっかり忘れてしまうことも普通におきます。
でも先程も言ったように、
それは変なのです。
だから、プログラミングを独学してみようと思っても
やり方がわからない・・・
どこから始めたらいいかわからない・・・
という悩みがある場合は、
もしかしたら自分は何をこれから
作ろうとしているのかを知らないのでは?
と立ち止まって自分に聞いてみてください。
知らないことは全く悪いことではないのですから。
さて、私の言う「計画力」の一番根幹をなすのが、
何を作るのか?という質問です。
でも、ここで終わりではありません。
また料理のお話に戻りますが、
何を作るか決めただけでは、お料理はできあがりません。
次は何をしますか?
そうです、
必要な材料の確認と工程を知ることですよね。
その工程は、
だいたいいくつかのステップに分かれています。
玉ねぎの皮を向きながらなべをとりだしてお湯を沸かしつつしょうがをすりおろしつつお肉を解凍している間にテーブルにお皿をならべてフォークとナイフを人数分だしてその間に....
こんなレシピ、嫌になります。。。(笑)
それよりも、
1. お鍋にお湯を沸かす
2. その間に玉ねぎをみじん切りにし、しょうがをすりおろす
3. お肉を電子レンジの解凍モードで全解凍する
3. フォークとナイフを人数分取り出して、テーブルセットを行う
4. 続く....
(一体これで何ができあがっていくのか...ご想像におまかせします)
このように、順序だてて書いてあるほうが明確で、間違いがないですよね。
プログラミングはコンピューターに対する命令書を書く行為です。
なので、レシピよりももっともっと具体的に、
そして厳密に順序を守ってコードを書く必要があります。
将来のコーディングの世界がどうなるかわかりませんが、
今はまだ「あれやっといて〜」では前に進まないです。笑
この工程を考えるという作業は、
経験が多いほどイメージが湧きやすいので
初心者であるほど難しいことかもしれません。
作ったことのない料理の過程をイメージすることが難しいように、
作ったことのない機能を作るまでのプロセスがイメージできなくて、
それで難しく感じるということはよくあります。
でも、一度料理を作ってしまえば、
次作るときはもっとずっと楽になります。
プログラムを書くことも同じだと思います。
じゃあ大事なことは、何?と考えると、
それはやはりいろいろな物を作ってみることではないでしょうか。
作れるお料理のレパートリーが増えてくると、
お料理自体も楽しくなってくる、
そんな楽しい気持ちでプログラミングにも
向き合ってみてはいかがでしょうか。
これで、プログラミングで身につく力「計画力」の話を終わります。
他の力については、
別の記事で書いていきたいと思います。
私はプログラミングを初めてまだ1年半ほどの初心者ですが、
それでもプログラミングを始めたからこそ
鍛えられたなぁ〜と思うスキルがいくつかあります。
今日はそのことについて書きたいと思います。
ではここで(突然)クイズです!!
プログラミングを始める前よりも
私Makishimaの中で鍛えられたスキルは、
次のうちどれでしょう?
A: 計画力
B: 焦らない心
C: Google力
D: 知らんがな!!
だだだだだだーーん(ドラムロールのつもり)
正解は、
「D」の知らんがな!!
...違います!!
本当の正解は、
AもBもCも、です。
ひとつ以上確実に変わったと感じているので
どれかひとつを選べませんでした。
ひとつずつどういうことか説明させていただきます。
まずは「計画力」
プログラミングをするということは、
兎にも角にもゴールが必要です。
志を高くもて!という話ではなくて、
もっと具体的に
「何をつくるのか」を知る必要があるということです。
プログラミングの話をするときに
よくお料理を例にあげることがあります。
その理由はここでは深く語りませんが、
例えると、
計画なくプログラミングをするということは、
作る料理を決めずに材料を切り始める
ということに似ています。
変ですよね。
とりあえず、目の前に玉ねぎが転がっていたから切ってみる・・・
(そして涙があふれる......うるっ)
おかしいですよ!!ってツッコミたくなりますよね。
食べたいものが漠然としてわからないときは、
じゃあまずレシピ集でも眺めたら??
というアドバイスを(心優しい読者の方なら)
してあげるかもしれませんね。
お料理なら当たり前でも、
プログラミングをするときにはこのことを
すっかり忘れてしまうことも普通におきます。
でも先程も言ったように、
それは変なのです。
だから、プログラミングを独学してみようと思っても
やり方がわからない・・・
どこから始めたらいいかわからない・・・
という悩みがある場合は、
もしかしたら自分は何をこれから
作ろうとしているのかを知らないのでは?
と立ち止まって自分に聞いてみてください。
知らないことは全く悪いことではないのですから。
さて、私の言う「計画力」の一番根幹をなすのが、
何を作るのか?という質問です。
でも、ここで終わりではありません。
また料理のお話に戻りますが、
何を作るか決めただけでは、お料理はできあがりません。
次は何をしますか?
そうです、
必要な材料の確認と工程を知ることですよね。
その工程は、
だいたいいくつかのステップに分かれています。
玉ねぎの皮を向きながらなべをとりだしてお湯を沸かしつつしょうがをすりおろしつつお肉を解凍している間にテーブルにお皿をならべてフォークとナイフを人数分だしてその間に....
こんなレシピ、嫌になります。。。(笑)
それよりも、
1. お鍋にお湯を沸かす
2. その間に玉ねぎをみじん切りにし、しょうがをすりおろす
3. お肉を電子レンジの解凍モードで全解凍する
3. フォークとナイフを人数分取り出して、テーブルセットを行う
4. 続く....
(一体これで何ができあがっていくのか...ご想像におまかせします)
このように、順序だてて書いてあるほうが明確で、間違いがないですよね。
プログラミングはコンピューターに対する命令書を書く行為です。
なので、レシピよりももっともっと具体的に、
そして厳密に順序を守ってコードを書く必要があります。
将来のコーディングの世界がどうなるかわかりませんが、
今はまだ「あれやっといて〜」では前に進まないです。笑
この工程を考えるという作業は、
経験が多いほどイメージが湧きやすいので
初心者であるほど難しいことかもしれません。
作ったことのない料理の過程をイメージすることが難しいように、
作ったことのない機能を作るまでのプロセスがイメージできなくて、
それで難しく感じるということはよくあります。
でも、一度料理を作ってしまえば、
次作るときはもっとずっと楽になります。
プログラムを書くことも同じだと思います。
じゃあ大事なことは、何?と考えると、
それはやはりいろいろな物を作ってみることではないでしょうか。
作れるお料理のレパートリーが増えてくると、
お料理自体も楽しくなってくる、
そんな楽しい気持ちでプログラミングにも
向き合ってみてはいかがでしょうか。
これで、プログラミングで身につく力「計画力」の話を終わります。
他の力については、
別の記事で書いていきたいと思います。