プログラミングを覚えるコツは完成品を思い浮かべること
こんにちは。継続の錬金術士なおキーヌです。
ブログ毎日更新は227日目になります。
プログラミングを覚える一番の近道は作品を作ることです。
基礎も何も分かってないのに作れるかよ……って思うかもしれませんが、
プログラミングの基本ってすさまじく面白くないので大体の人は勉強しても頭に残りません。
実際には完成させなくても良いので、何かを作るために必要なことを知る。
そのためには手を動かさなければいけませんね。
3回目まではどうやったらプログラミングを覚えられるかを話してきましたが、
そろそろ実際にプログラミングを独学していくコツを解説していきます。
それではプログラミング独学法第4回目を始めましょう。
- スマートフォンの操作、どうやって覚えた?
- 覚え方は1つではないということを知ろう
- 必要なものは最低限覚えて、あとは使う時に調べる
- どうしたら問題を解決できるか理想を上げてみる
- プログラミング独学法 第4回目のあとがき
スマートフォンの操作、どうやって覚えた?
既に人々の生活に自然と溶け込んでいて、もはやない生活は考えられないスマートフォン。
プログラミングを覚えられないという人は、スマートフォンの操作ってどうやって覚えましたか?
ガラケー時代にある程度触ってたからと答える人もいるでしょう。
ではそのガラケーの使い方、どうやって覚えました?
そう、何かをしたいから自然と使えるようになっていた。
という人は多いんじゃないでしょうか?
人間というものは興味があることに対しては手探りで知ろうと頑張ります。
最初は面倒くせぇと思いつつも使っていると楽しいので、
気付けばまるで自分の手足のように使いこなせるようになります。
プログラミングもこれと同じで何かを作りたいから必要なものを使って組めるようになっていたということです。
逆に考えるとプログラミングを覚えられないって人は、単純に作りたいモノが特にない状態なのです。
プログラミングは目的ではなく手段、つまり目的を達成するための道具にすぎません。
一方スマートフォンも例外を除き基本的にはスマートフォンを手に入れるために買うわけじゃないですよね?
ゲーム・写真撮影・SNS・メッセージのやり取り・計算機・目覚まし・電話・etc…
これらを1つのモノですべて出来るからこそ手に入れたくなったわけです。
つまるところ、スマートフォンは道具です。
そしてプログラミング言語も道具です。
現実でも何も作りたいものが無い状態でハンマーノコギリなんて持ってもどうしようもないですよね?
ハンマーは何かを打ち付けるという目的を果たすために使います。
ノコギリは何かを削り切るという目的を達成するために使います。
スマートフォンは様々な欲求を満たすために使われます。
プログラミング言語も目的に合わせて適切な言語を選んで何かを作り上げるために使います。
もう一度言いますが、プログラミングを覚えられないという人は作りたいものが何もない状態なのです。
覚え方は1つではないということを知ろう
作りたいものがあってもどうすればいいかわからないんだが?
という状況の人もいるでしょう。
先ほどのスマートフォンの話が続きますが、例えばツイッターやインスタをやりたいとしましょう。
こういう時、あなたはどうやって始めますか?
目的は「アカウントを作って投稿できるようにする」です。
さて目的を達成するためにはどうしたらいいのでしょうか?
- 詳しい人(友人やショップ店員)に聞く
- 自分でググって調べる
- 書籍を買ってくる
- すべて人にやってもらう
1つずつ簡単に見ていきましょう。
詳しい人(友人やショップ店員)に聞く
どうすればいいかわからないなら、聴いちゃえばいいのよ♪
パソコンとかをあまり使わない人はこれが多いんじゃないでしょうか?
スマートフォンを買うときには既にインスタやツイッターをやりたいと思っているので、
買う時に店員に聴いたり既にやっている友達に聴いたりとかでしょう。
これをプログラミングに置き換えると、いわゆるプログラミングに詳しい人に
このプログラムってどうやって作るの?って聞くのと同じです。
アカウントの作成もプログラミングも聞いたことを完全に理解しなくても、
何度も聴きながらやっていけば目的を達成できるでしょう。
自分でググって調べる
分からないならGoogleで調べたら大体の問題は解決さ
PCに慣れている人は基本的にこれでしょうか。
これが出来る人は特に何も言わなくても自力でアカウントを作成できるはずです。
プログラミングに置き換えると
「作りたいプログラム 作り方」
でググって答えにたどり着きます。
最終的にはこれが一番プログラミングを早く覚えられるコツです。
分からないことは自分の力で調べる。
プログラミングに限らず何事もコレです。
書籍を買ってくる
個人的には買う前にググれよって思いますが、全員が全員ググれる知識があるわけじゃないので
そういったときは専門の書籍を買うことをオススメします。
専門本ならそれだけに集中できるからネットほど余計な情報が入ってこないわ
最近の本は1500円越えたりとか意外と高いですが、一定の層には需要があるので売れます。
プログラミングの場合も同じで基本的な使い方であれば書籍を買った方が良いでしょう。
ただ、モノによっては誤植が酷かったりして最悪途中で進められないようになってしまうので
プログラミングに関しては書籍を買う間に事前に評判を調べた方がいいですね。
すべて人にやってもらう
これは元も子もないのですが、人にやってもらうという手段です。
実はこれが一番効率が良いのです。
もちろん丸投げでは自分の成長には全くつながりませんが目的は達成できます。
その場合はきちんと対価を払ってあげましょう。
まさに時間を金で買うですね。
プログラミングも同じである程度のところまでは人にやってもらうというのも1つの手です。
自分で考えるのは時間の無駄だからとりあえずこういったプログラムを作ってとお願いして、
作ったものをすべてコメントありの状態にしてもらいそれを読む。
そうすれば何をやっているのか。
どういう時にどういう構文を使うのかが分かります。
後は真似て書いてみて動かしてみる。
それを繰り返すだけで成長できますね。
必要なものは最低限覚えて、あとは使う時に調べる
結論を言っておくと必要なことだと思えば自然と自分で調べて体得しているというコトです。
作りたいものを決めたら、それを達成するには何かを分解します。
例えば
入力された数字を計算して、計算する数とされる数と計算結果を表示したい
といったプログラムを作る場合、何が必要なのかを考えます。
ココで考えるのはプログラミングでどうするかではなく
日本語でどうやるのかを書き出すことです。
お題を単語に分解してみましょう。
- 数字を入力
- 計算する数
- 計算される数
- 入力された数字の計算結果
- 表示したい
といった感じにわけることが出来ますね。
次に1つずつどうやるかを調べます。
1つずつ見ていきましょう。
数字を入力
プログラミング言語によって書き方は変わりますが、
基本的に入力を付け付けるコマンドというものが大体用意されています。
実際に入力する処理を作らなくても、ここで変数の機能を使って
予め入力したい数値を記入しておけばいいでしょう。
ここで変数という概念を覚えられます。
変数の使い方は 「お使いの言語 変数の使い方」で調べればすぐに出てきます。
計算する数
まずは計算する数の変数を作ります。
ここは自分で好きな数字を入力しましょう。
プログラムを起動する前にこの値を書き替えてしまえば、
最終的な計算結果を変更することが出来ますね。
計算される数
この数値も変数に入れておきます。
これは計算される側なので基本的に変更しなくてもいいでしょう。
同じように変数を使ってもいいのですが、プログラムが動いている最中に絶対に書き換わらない値
というのがある場合は定数という概念を使います。
これで定数について学べますね。
同じくして 「お使いの言語 定数の使い方」で調べればすぐに出てきます。
入力された数字の計算結果
これはもう簡単ですね。
先ほど作った「計算する数の変数」と「計算される数の変数(または定数)」を計算してやればいいだけです。
計算結果は変数に入れておきましょう。
表示したい
最後に用意した数値をすべて画面に表示したいです。
これはプログラミング言語によって書き方が変わるので
「プログラミング言語名 変数 表示」とググれば大体でてきます。
ここまでに目的を達成するために必要な要素をまとめてみましょう。
- 変数の概念
- 定数の概念(面倒なら変数を使ってもOK)
- 変数同士の計算
- 計算結果を変数に代入する
- 画面に表示する方法
これだけで5つも覚えることが出来ました。
プログラミングの基礎を習った時だと結局どうやって使うんだよこれって思ってたことも、
実際に作るときに必要なんだからどうやって使うか調べようとなります。
実はこれがプログラミングを一番手っ取り早く習得するコツです。
またスマホの話になりますが、スマホも100%使いこなせている人ってたぶん世界を探しても殆ど居ないでしょう。
でも自分が使いたいアプリや機能は自然と使えるようになっています。
プログラミングも道具なのでこれと全く同じなのです。
スマホと同じように沢山の使い方があるけど、実際には必要なものを必要に応じて取ってきて使う。
それだけです。
どうしたら問題を解決できるか理想を上げてみる
前項でも言いましたが、目的達成にはどうやったら問題を解決できるのかをまず理想で掲げてみます。
例えば
ツイッターのようなアプリを作りたい!
となったとします。
そうなるってことは
ツイッターの機能をある程度使ったことがあるし知っている
という事に置き換えることが出来ます。
実際の作り方がわからなくても、あの機能とこの機能とその機能があればツイッターになると説明することが可能ですね。
極端な例えですが
- 文字を入力するスペースがある
- ツイートボタンがある
- ツイートボタンを押したら入力した文字が画面に表示される
- 画面をスライドしたら表示を更新して新しいツイートを表示する
という感じで日本語で機能を箇条書きすることが出来ます。
実装されるべき機能を日本語で書き出せば、プログラミングでどうやったら実現できるのかを考えることが出来ます。
しかしプログラミング初心者の場合、どうやったらいいのかわからない状態になりますね。
ここで1つずつ実現するために調べるという行動に走ります。
まずはプログラミングで文字を入力するスペースを作るにはどうしたらいいのか
から調べることになります。
もし身近に聞ける人が居れば聞いた方が良いでしょう。
そして聞いたことを自分で書いてみる。
大体の人はココでエラーが出て解決できずに挫折してしまいます。
そういう時は自分の力で全部1から書くのではなく、
実際に動いているコードをコピぺして動かしてみることです。
動けばそのコードは正解という事になりますので、
次に自分で同じコードを打ち込んでみてみましょう。
ただ書き写すのではなく、この1文は何をしているのだろうかと考えるのが大切です。
それを繰り返していけば自然とプログラミングが出来るようになります。
まずは理想を掲げてみましょう。
そこから理想を現実にするにはどうすればいいのかを考えます。
プログラミング独学法 第4回目のあとがき
プログラミングは結局のところやりたいことを先に見つけないと達成できません。
完成品を架空で分解して、それぞれの部品にしたところで現実で組み立てて完成品を作る。
これがプログラミングの基本的な考え方です。
プログラミング行為というのは非常に土臭い行為です。
決して華やかなモノではありません。
華やかなことをしたいのであればAfterEffectsを覚えた方が良いでしょう。
映像制作はプログラミングよりもお金に繋がりやすいですし、
何より映像を作ることが出来るので超絶華やかです。
それでは。