どうも。WEBおじさんです。
今日は、具体的な技術や方法ではなく、プログラムに対する考え方の話をしようと思います。
みなさん、プログラムを勉強するにあたってどんなことを考えますかね?
最初はやはりあれですかね。
「ちょっと本買って独学でやってみようかなー」的な感じなんですかね?
それともHTMLとCSSは何とかかけるものの、「そこからさらにワンランク、ツーランクアップしたものを作るためにJSとかPHPとかを取り入れて動きのあるページにしようかなー、でもHTMLとCSSは独学でできたからプログラムも独学で何とかなるんじゃないかなー」的な感じですかね?
まぁ、どちらにしても独学でできる人とできない人の真っ二つに分かれます。
僕は基本的に独学ではできない人なんですw
なぜなら理屈がちゃんとわからないと先に進めないので、テキストに書いてあることしかできず応用的な使い方ができないのです。
こんな僕でも独学でできるようになる優れたテキストがあるんだったら教えてほしいもんですがw
とは言え、いくら独学でできる人でも全くわからない状態からプログラミングができるようになるには相当な努力が必要かと思います。
大抵の場合は理屈が理解できないか、プログラミングというところまでたどり着かずに心が折れ、諦める、というパターンで終了するのが95%ですね。
じゃあ、どうすれば心が折れずにプログラミングができるようになるのか?
答えは「やり続ける」ことと「プログラミングできる人に聞く」ことです。
独りで続けるにはなかなかハードルが高いんです。
できない時ってどうすればいいのかわからないんです。
だからやり続けるしかないんですけど、最初に心が折れるタイミングってここなんですよね。
やり続ければもちろんいつかはたどり着くんですけど、独りだと結構な距離を進まないといけないので、たどり着くまで長いんですよ。
だから、ヘルプが必要なんです。
できる人に理屈を聞くんです。
もちろん回答も聞くんですけど、回答だけを聞くっていうのはあまりよくないですね。
「なぜこうなるのか」ということを聞いた方がいいです。
そこが一番大事なので。
ここが「考え方」の部分です。
「プログラムって、色々できるしなんか文字ばっかだし、なんか複雑だよねー。」とか思うじゃないですか。プログラムをしない人たちって。
でもね、そうじゃないんです。
実は「プログラムとはルールと命令の塊」なんです。
どういうことかというと、プログラムって人間じゃないので複雑な考え方(自分で考えること)はできないんです。「複雑な処理」はできますけどね。
なので「●●をして」という命令を出してあげなきゃいけないんですが、ここでいわゆる言語というルールが発生するのです。
言語というのは、それぞれで伝え方(表現)が違いますよね?
例えば、日本語で「私」を英語では「me」とか「I」とかって言いますよね?
それと一緒です。
プログラムでもいろんなプログラムの種類があって、C言語だったりJavaだったりPHPだったり、色々あります。
違いは、用途だったり環境だったり、様々です。
なので、それぞれの言語に合わせた書き方というのがあるんですが、そのルールに従って命令を書いていく、というのがプログラミングなんです。
ファイルに書いてあるのはその集合体で、それらが連動しているのでそれだけを見るとすごく複雑に見えるし、実際複雑に絡み合ってると思うんですが、一つ一つを紐解いていくと「●●して」なんです。
出来上がってるものを紐解くのはとても大変なんですけどw
だから皆さんが考えてるほどプログラミングって複雑ではないのです。「ルールと命令」が正しく書かれていればいいのです。
そして、そのルールと命令を知っている知識の量がそのまま自身の作れるプログラムの技術につながるのです。
そう考えるとそんなにハードルは高くないですよね?
・・・オレだけかな?そう思うのw
コツとしてはまずは「ルール(書き方)を覚える」、そして次に「何ができるかを覚える」ことです。
以前の記事でも少し話しましたが、PHPとJavaScriptでも書き方が違いますよね。変数の定義の仕方とか違いましたよね。
言語の違いとはルール(書き方)の違いです。
一番最初にプログラムを覚えるとき、言語はなんでもいいんですが、一番最初は大変ですよね。まだコツを掴めていないですからね。
だからルールを覚えたいんだけど、なかなか入ってこない、みたいなところでみんな心が折れるんですね。
でも、これだけは言えます。
一つ、プログラム言語を使えるようになると、その後から別の言語を勉強する時はめちゃくちゃ楽になります。
なぜなら、プログラムのコツというか考え方がすでに身に付いているからです。
だから、くじけずになんとかして最初の一つの言語を身に付けてください!
以上、ちょっとよくわからない締めになってしまいましたが、プログラムの考え方について書いてみました!
WEBおじさんでした!
「どうしても身に付かなーい!」とか「プログラミングできる人が身近にいなーい!」という場合は「TechAcademy(テックアカデミー)」さんで習うのもいいかもしれないですね。
人に聞くっていうことはホントに近道ですから。
先ほども言いましたが、大事なのは回答ではなくて理屈ですからね。「どうしてこうなるのか」もキッチリ教えてくれると思います!なんてったってプロですから!w