
プログラミングをしっかりと始めてから約半年になります。
初めはHTMLとCSSしか分からなかった僕ですが、WordPressでブログを書くようになりプログラミングも少しずつ覚えていきました。
半年前はPHPをなんとなく触っていた程度だったので、まともに書けるレベルではありませんでした。
そしてC言語やJavaなどの言語をスクールに通って勉強し、(しただけ)今ではPHPやJavascriptをある程度考えて書けるレベルになりました。
でもプログラミングって一般的には「難しそう・・」「ずっとキーボードを叩いているイメージ」「理系しかできない」なんていうイメージだと思います。
だけど、それは違うんです!!
では元は情報系とは無縁だった僕がプログラミングを始める前には紙に考えを書けなければいけない理由も含め、プログラミングは基本的なことなら簡単だということから説明してみようかと思います。
スポンサーリンク
プログラミングを簡単に説明してみる
プログラミングなんてある程度のレベルの範囲だったら誰でも書けます。簡単にいえば、考えたことをコードにするだけなんです。
プログラミングができない理由のひとつに、「フローチャート」が理解できないということが挙げられます。
アルゴリズムという言葉を聞いたことがあるでしょうか?
フローチャート (flowchart) は流れ図または流れ作業図のことで、各ステップを様々な形の箱で表し、それらの間を実線または矢印で繋いで流れを表すことで、アルゴリズムやプロセスを表現する。
アルゴリズムの考えはプログラミングを始めるのであれば必須だと思います。
では例えば、「とりあえず10回ライブしなさい!!」っていう条件を与えたいとしたら・・?
PHPで表現してみます。
$live = 0; for ( $i = 0; $i < 10; i++ ) { $live++; } echo 'ライブをした回数は'.$live.'です';
となります。・・っね?簡単でしょ?
では「とりあえずライブを10回やってみてよ。でもすぐに20枚売れて完売したらもう一旦そこで終わっていいよ。」ということになった場合、どうなるのでしょうか?
//$buy(売上枚数)という別の変数があったと仮定 $live = 0; $cd = 0; for ( $i = 0; $i < 10; i++ ) { $live++; $cd += $buy; if ( $cd == 20 ) { $kekka = "できました。"; break; //ループを抜ける } else { $kekka = "できませんでした。"; } } echo 'ライブをした回数は'.$live.'です。'; echo '売上枚数は'.$cd.'枚です。'; echo '結果:CDは完売'.$kekka;
CDの売上枚数に関しては仮の変数にしておきました。
アバウト感満載ですが、サンプルとしてわかりやすいかと思います。
for文は”条件の分だけ繰り返してね”という意味で、if文は”もしもこうだったら”という意味です。elseは”それ以外のときは”という意味になります。
まったくの初心者で、これがパッと理解できれば才能アリだと思います。
考えをまとめると、コードがすらすら書ける
僕もそうだったんですが、プログラミングを書くときに「どうすればいいのかすらわからない症候群」に陥る人は多いと思います。
だけど、それは大きな間違いなんですよね。それはそもそもやりたいことがなにもまとまっていないから進まないだけ。
そんなときは紙に「何がしたいのか」「どういう条件を与えればクリアできるのか」「どんな関数を使えば実現できるのか」を図で書いてみましょう。
僕もわからないときは紙に書いて図や文字にして考えがまとまり、繋がってから書くようにしています。
そうすることでゴールが明確になり、図で書けたのであればコードにすることもできるはずです。
1に文法、2にリファレンス
文法がしっかり理解できていなければ一生ゴールには辿り着くことすらできないし、中間地点にも辿り着くこともできません。
僕は文法すら曖昧だったので、仕事でPHPを書き始めた頃は非常に苦労をしました。
わからないときはググれとよく言われますが、やはりそんなときはどんなエントリーよりもリファレンスが役に立ちます。
公式でも非公式でもいいのですが、リファレンス(参考)を見ると大概のことはできると思いますね。
- どんな情報が今欲しいのか
- どんな情報を出力したいのか
- どの関数が今必要なのか
先日エントリーで書きましたが、例えば現在のURLのパスが欲しいときには「parse url」という関数が便利です。
コツはこういう感じで必要な関数を探していくことです。
まとめ
いかがでしたでしょうか?
今回はプログラミングに興味がない人向けに書いてみました。もちろん興味がある人も読んで欲しいですが・・
つまり、プログラミングとは「考えた処理をコードに変換していく能力」だということが言いたかったんです。
ただそれだけのことだというのに、なんで難しいのだろうか・・
まだにわかですが、プログラマーとして発信したいことも増えてきましたし、これからは「プログラミングにも定評のあるOMITSU LOG」になっていくかもしれませんね。
最近の当ブログはすでにプログラミングの話ばかりな気がしますが(笑)
次回は名古屋メシの紹介でもしたいと思います!
スポンサーリンク