ラベル プログラミング の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング の投稿を表示しています。 すべての投稿を表示

2009年4月15日水曜日

プログラミングを始める人へのメッセージ #02

さて、前回に引き続き「プログラミングを始める人へのメッセージ」を書いていきたいと思います。
基本的に、私の実体験が元になっています(^^;

④「自分は何を書いているのか」を明確に。
コピーソースの場合、特に疎かになりがちなのが「コードの持つ意味を考える」ことです。
1行ずつ、「この部分は何を意味しているのだろう?」と考えることで、同じコピーソースでも理解度は雲泥の差になるのです。
ただ字面だけを追って、それを何も考えずに打ち込んでいるようでは、プログラミングはまず上達しないでしょう。

⑤参考書が絶対、ではない。
プログラミングの方法は、プログラマーの数だけあるのです。
参考書のやり方が絶対、ではなく、自分なりのプログラミングの方法を探してみましょう。
例えば、「可読性と速度のバランス」をうまく取れるような方法を考えてみたり。

⑥バグは財産。
ちょっとしたミスで起こる「バグ」。この原因を1回1回丁寧に考えていけば、自分のコーディングの問題点・勘違いがはっきりと見えてきます。
それを基に、「より良い(=バグの少ない)コーディング」を目指して努力することが、初心者にとって重要なことなのではないでしょうか。
決して、「上手くいかないから、参考書のCDのデータをそのままコピーしよう」などという安易な考えをしてはいけません。そうすると、どう頑張っても実力がつかないのです。

さて、次は何を書こう……。
一応10点くらいは書きたいからなぁ…

2009年4月10日金曜日

プログラミングを始める人へのメッセージ#01

題名の通りです(何
不定期更新になるとは思いますが、私が実際に経験したことを基に、これからプログラミングを始める人へメッセージ(というか教訓)をいくつか伝えていきたいと思います。

今日はまず3つ。

①コメントを忘れずに。
合計で50行にも満たない小規模なプログラムならまだしも、中規模・大規模なプログラムを組む際、かつて自分が作成した関数・変数の意味を忘れがちになります。
ですから、summary・param name(VC#の場合)などを用いて、自分が作成した関数・変数の意味を明確にしておくことが重要です。

②変数名・関数名は分かりやすく。
1人で作業する場合で、なおかつ小規模なプログラムの場合ならまだしも、グループ開発、しかもある程度の規模のものになってくると「この変数は何を格納するんだ?」ということがあります。
ですから、「一目見ただけでその変数・関数の意味が理解できる」ような名前をつけることが大切なのです。かといって、あまり長すぎてもいけませんが・・・(^^;

③スペースをきちんと入れよう。
スペース・インデントのきちんと入った「綺麗な」ソースは、とても見易いものです。
例えば、「i = 1/2 + 3.5;」というソースコードを、

1.「i=1/2+3.5;」
2.「i = 1/2 + 3.5;」

のように、2通りに記述した場合、どちらの方がより見易いでしょうか。
何はともあれ、適切にスペースを挿入するのは大切なことです。

以上、今日は3点を扱ってみました。
明日は何を書こう…(ぉぃ

2009年4月5日日曜日

「初心者に最適なプログラミング言語」とは?#02

やはりあれですね、適度に楽が出来て(挫折防止、楽しく楽にプログラミングができる)、適度に苦労する(想像力・創造力を養える)ものが一番な気がします。
…と言っても、この条件に合いそうな言語がなかなか見つからない(^^;

「初心者に最適なプログラミング言語」とは?

久しぶりのプログラミング関連の話題。
今回は、題名にも有るように、「初心者に最適なプログラミング言語」について考えてみたいと思います。
これはとても難しい問題で、私のような初心者が簡単に語れるような話ではないのですが、一応、私なりの考えを纏めてみることにしました。
なお、コンパイラなどの開発環境は全てVisual Studio 2008 E.E.で考えています。

①C言語について
オブジェクト指向の言語ではないので、早いうちからclassの概念を習得するには不向きな言語です。
しかしその分、「クラスがないならどうすべきか?」を自分で考えることができ、プログラミング的な想像力を育てることはできると思います。
実際、DLLなどを書く際に用いる「extern"C"」内ではCの文法表記が用いられるので、一通りやっておいても悪くはないでしょう。

②C++言語について
オブジェクト指向の言語なので、早いうちから多くの概念を習得できます。
しかしC++という言語自体が複雑ということもあり、初心者に理解を求めるには多少きついのではないかと思います。
現在、市場に出回っているプログラミング参考書の多くはC/C++であり、参考書が充実している、という面では良いかもしれません。
しかしBoostライブラリを入れないことには……(^^;

③C#言語について
私が今までやってきた言語の中で、一番簡単だと感じた言語です。
しかし、.NETライブラリ環境・XNAにより随分と「楽」ができるようになってしまい、想像力・創造力ともにやや力不足気味になってしまうことが多いのではないかと思います。
ただ上記のXNA環境により、制作者がゲーム製作を通して「楽しく」プログラミングができるようになっているのは確かであり、挫折を未然に抑えているという面もあるのではないでしょうか。
参考書も(C/C++に比べるとまだまだですが)ある程度はそろっています。

こう考えると、どの言語もまさに「一長一短」な気がします。
皆さんは、どの言語が「初心者に最適」と考えられますか?