- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/プログラミングを学ぶための心構え へ行く。
(このページはまだ書きかけです。)
プログラミングを学ぶにあたっては、心構えが重要です。 きちんと心構えをして学ぶのと心構えをしないで学ぶのとでは、雲泥の差があり、上達の度合いに大きな差が出ます。
そこで、プログラミングを学ぶための心構えを示します。 (ここではC言語を対象にしていますが、他のプログラミング言語でもほぼ同じです。)
Level 1: はじめてのプログラムを書く前に †
プログラミングは知識ではなくスキル †
デジタル大辞林によると、スキルとは、「手腕。技量。また、訓練によって得られる、特殊な技能や技術」です。
プログラミングを学ぶということは、プログラミング言語についての知識を学ぶだけでなく、プログラミングのスキルを獲得するということであり、そのためには訓練が必要です。
身近なものに例えると、スポーツや料理によく似ています。
例えば、自転車に乗れるようになるためには、自転車そのものや自転車の乗り方についての知識がある程度は必要ですが、知識を得ただけで自転車に上手に乗ることはできません。
実際に自分でやってみて、何度も練習して、上手に乗れるようになります。
プログラミングも、プログラミング言語そのものの知識を学んだだけでは実際にプログラミングができるようにはなりません。 実際に自分でやってみて、何度も練習して、上手にプログラミングができるようになります。
良い道具を使う †
プログラムを見ただけでわかったつもりにならない †
プログラムを見て勉強することは大切ですが、プログラムを見ているだけではプログラミングは上達しません。
とにかくやってみる †
スキーを履いたことがない人がいきなりスキーのジャンプ競技をやったら、最悪の場合には死んでしまうかもしれません。
でも、パソコンを触ったことがない人がいきなりプログラムを書いて失敗しても、死ぬことはもちろん、コンピューターが壊れることもありません。
しかも、間違ったプログラムを書いたらどうなるのかは、やってみなくてはわかりません。
間違いや失敗を恐れず、とにかくやってみましょう。
文字の違いに気をつける †
プログラミング言語は文字の違いには厳しいです。
次のプログラムは正しいプログラムです。
int main(void) { return 0; }
でも、次のプログラムは正しくありません。
int main(void){ return 0; }
上のプログラムと同じように見えますが、このプログラムは全角の英字で書かれています。
また、次のプログラムも正しくありません。
Int Main(Void) { Return zero; }
このプログラムは一部が大文字で書かれています。 人間はmainと書かれていてもMainと書かれていても同じように理解しますが、コンピューターは違うものだと理解します。
いかに、間違えやすい文字を挙げておきます。
- 日本語変換された空白
- 日本語変換された英数字 abc...
- 大文字と小文字がほとんど同じ形の英字 C, O, P, S, U, V, W, X, Z
- 小文字のエル l と大文字のアイ I と数字のイチ 1
- 大文字のオー O と数字のゼロ 0
- ドット . とコンマ ,
- ダブルクオート " とシングルクオートふたつ ''
- カッコ < ( { [ ] } ) >
プログラムを書くときは、文字の違いに気をつけましょう。
上手なプログラムを真似る †
Level 2: はじめてのプログラムが実行できたら †
プログラムを綺麗に書く †
プログラムを綺麗に書かないと、プログラミングは上達しません。
たとえば、最初のサンプルとしてよく出てくるHello Worldプログラムは次のようなものです。
#include <stdio.h> int main(void) { printf("こんにちは\n"); }
たったこれだけのプログラムにも、以下のような工夫がされています。
- #includeで始まる行の次の行を空行にして見やすくしている
- { の行が始まる位置とそれに対応する } が始まる位置を揃えて対応をわかりやすくしている
- printf命令を字下げ(インデント)して、{ } に囲まれている行をわかりやすくしている
次のプログラムは、C言語として間違ってはいませんが、とてもわかりにくいです。
????ɂ???
プログラムは綺麗に書きましょう。
いつでも動かせるようにしながら少しずつ完成させていく †
プログラミングの勉強をしていくと、だんだんプログラムが長く、複雑になっていきます。
長く、複雑なプログラムを一気に書き上げてコンパイルすると、大量のコンパイルエラーになってしまうことがよくあります。
そこで、プログラムを書くときは、1行目から順番に書くのではなく、いつでもコンパイルして構文エラーをチェックできるようにしながら書きましょう。
たとえば、Hello Worldプログラムの場合、最初から書き始めて次のようなところで中断すると、コンパイルはできません。
#include <stdio.h> int main(void) { printf("Hello World!\n"); }
でも、次のようなところで中断した場合には、コンパイルができて、ここまでの部分に構文エラーがないことを確認できます。
#include <stdio.h> int main ( void ) { printf ( "Hello World!\n" ) ; return 0 ; }