- 追加された行はこの色です。
- 削除された行はこの色です。
プログラミングを学ぶにあたっては、心構えが重要です。
きちんと心構えをして学ぶのと心構えをしないで学ぶのとでは、雲泥の差があり、到達度に大きな差が出ます。
そこで、プログラミングを学ぶための心構えを示します。
ここではC言語を対象にしていますが、他のプログラミング言語でも同じです。
#contents
*Level 1: これからプログラミングを学び始めるなら [#wed3eabf]
**プログラミングは知識ではなくスキル [#iae8eab0]
デジタル大辞林によると、スキルとは、「手腕。技量。また、訓練によって得られる、特殊な技能や技術」です。
プログラミングを学ぶということは、プログラミング言語についての知識を学ぶだけでなく、プログラミングのスキルを獲得するということであり、そのためには訓練が必要です。
皆さんの身近なものに例えると、自転車、水泳、スキー、スノーボード、スケートなどによく似ています。
自転車に乗れるようになるためには、自転車そのものや自転車の乗り方についての知識がある程度は必要ですが、知識を得ただけで自転車に上手に乗ることはできません。
実際に自分でやってみて、何度も練習して、上手に乗れるようになります。
プログラミングも、プログラミング言語そのものの知識を学んだだけでは実際にプログラミングができるようにはなりません。
実際に自分でやってみて、何度も練習して、上手にプログラミングができるようになります。
**良い道具を使う [#ndafce00]
**プログラムを見ただけでわかったつもりにならない [#pe3dfe67]
**とにかくやってみる [#dd66d475]
スノーボードやスケートでは、失敗したら怪我をしたり、最悪の場合には死んでしまうかもしれません。
でも、プログラミングで失敗しても、何も失うものはありません。
とにかくやってみましょう。
**文字の違いに気をつける [#x23ff807]
プログラミング言語は文字の違いには厳しいです。
次のプログラムは正しいプログラムです。
#geshi(c){{
int main(void) {
}
}}
でも、次のプログラムは正しくありません。
#geshi(c){{
int main(void){
}
}}
上のプログラムと同じように見えますが、下のプログラムは全角の英字で書かれています。
**上手なプログラムを真似る [#e751813a]
*Level 2: Hello Worldができたら [#m84057d0]
**綺麗に書く [#hdecef90]
プログラムを綺麗に書かないと、プログラミングは上達しません。
たとえば、最初のサンプルとしてよく出てくるHello Worldプログラムは次のようなものです。
#geshi(c){{
#include <stdio.h>
int main(void) {
printf("Hello World!\n");
}
}}
たったこれだけのプログラムにも、以下のような工夫がされています。
-#includeで始まる行の次の行を空行にして見やすくしている
-{ の行が始まる位置とそれに対応する } が始まる位置を揃えて対応をわかりやすくしている
-printf命令を字下げ(インデント)して、{ } に囲まれている行をわかりやすくしている
次のプログラムは、C言語としては正しいプログラムですが、わかりにくいです。
#geshi(c){{
#include <stdio.h>
int main(void)
{printf(
"Hello World!\n");}
}}
**いつでも動かせるようにしながら少しずつ完成させていく [#b42f44e8]
プログラミングの勉強をしていくと、だんだんプログラムが長く、複雑になっていきます。
長く、複雑なプログラムを書くときは、1行目から順番に書くのではなく、いつでもコンパイルして構文エラーをチェックできるようにしながら書きます。
たとえば、Hello Worldプログラムの場合、最初から書き始めて次のようなところで中断すると、コンパイルはできません。
#geshi(c){{
#include <stdio.h>
int main(void) {
p
}}
でも、次のようなところで中断した場合には、コンパイルができて、ここまでの部分に構文エラーがないことを確認できます。
#geshi(c){{
#include <stdio.h>
int main(void){
}
}}
ですから、{ や ( を開いたら対応する } や ) を先に書いて閉じておく、というような書き方をします。
プログラムを書く順番は、完成したプログラムを見てもわかりません。
**上手に書けるようになるまで同じプログラムを何度も作る [#u25c3020]
**コンパイルエラーは一つずつ直す [#c9ae083c]
**コンパイルエラーにならないときはpritf命令でデバッグする [#ca9a2fa0]
*Level 3: ある程度プログラミングができるようになったら [#n28062b8]
**複数のプログラミング言語を学ぶ [#l78afa15]
**デバッガを使ってデバッグする [#h703b869]