やってはいけないプログラミング学習法①(サンプルコードをそのまま使う)
今回からは、「やってはいけないプログラミング学習法」と題して、プログラミング学習のうえでやってはいけない落とし穴を紹介していきます。
プログラミングを解説する書籍や雑誌を購入すると、付属のCD-ROM等にサンプルコードが付いています。
こうして入手したプログラムをそのままコンパイルして使っていはいけません。
面倒ですが、手に入れたプログラムは、自分で直接キーボードを打ちながら入力する癖をつけましょう。
こうすることで、プログラムの重要な箇所を実感できる他、セミコロンの打ち忘れなど、ミスを犯しやすい箇所を身をもって知ることが出来るようになります。
次回につづく。
なぜプログラミングが上達しないのか?⑦ (情報収集力の養成)
今回は、情報収集力を身に付ける方法を紹介します。
プログラムを書いているときに、この処理は「どのように実装すればいいのだろう?」と悩むことがあります。
私たちが調べ物をするとき、テキストを参照することが一般的です。
しかし、テキストに最新の情報が載っているとは限りません。
昨今では、多くのメーカーがインターネットのWEBサイト上で最新情報を公開しています。これからは、WEBを使った情報収集が益々一般的になるでしょう。
メーカーやディストリビューションが発行するホワイトペーパーには、高度で正確なソースコードの例がたくさん例示されています。
ここで注意していただきたいのが、GoogleやYahooで検索すると、キーワードに関連した多くの情報が参照できます。しかし、その中身は玉石混交・・・。どれが正しい情報で、どれが間違っているのか、などを見極められるスキルをしっかりと身につけた上で、検索エンジンの情報を上手く利用しましょう。
次回からは、やってはいけないプログラミングの学習方法を紹介していきます。
次回につづく。
なぜプログラミングが上達しないのか?⑥ (検証力の養成)
今回は、自分で書いたプログラムを検証する力を高める方法を紹介します。
コンパイルエラーが頻発する、バグが見つかってしまう・・・。
これは多くの場合、自分で書いたプログラムを検証する力が不足していることに原因があります。
メモリ管理など、言語や処理系に依存するバグはある程度知識がないと見つけられないかもしれません。
しかし、エラー処理が抜けているとか、本来書くべき処理が書いていない・・・、などといったミスは、トレーニングをすることでミスを未然に防ぐことが可能です。
そのトレーニング方法が「コメントを書いてからプログラムを書く」ことです。
一般に、プログラムのコメントは、プログラムを書いてからその説明をコメントとして書きます。
まず、プログラムを書く前にプログラムの処理の全体像をイメージします。
そして次に、プログラムの処理の流れをコメントで記述していきます。
この部分では「この様な処理を行ない、このようなエラー処理が必要になる」といった具合に、プログラムのコメントとしてガシガシ書いていきます。
コメントを先に書くことで、当該部分でどのようなプログラムを書くかが明確になります。
また、後で処理の抜けがないかをチェックする場合にも役立ちます。
次回につづく。
なぜプログラミングが上達しないのか?⑤ (論理思考力の養成)
今回は、プログラミングに必要な問題解決力を身に付けるために必要な「論理的な思考力」をトレーニングする方法を紹介します。
プログラミングに必要な「論理的な思考力」とは、プログラムを書く前に、仕様書から「どんなプログラムを作らなければいけないのか?」を考える力です。
つまり、仕様書を読んで、プログラムの処理の全体のイメージを把握する力です。
この全体像をイメージする力を養うために効果的な学習方法が「図」を用いて考える方法です。
プログラムを書く前に、図を使ってどんなプログラムの流れになるのかを書きあらわします。
ただし、我流で書いてしまうと、理解できるのが自分だけになってしまいます。
そこで、ITの世界でよく使われるのがフローチャートを用いた方法です。
たとえば、次のフローチャートは、購入金額が5000円以下であれば金額をそのまま出力し、購入金額が5000円以上1万円未満であれば10%割引した金額を出力、購入金額が1万円以上であれば20%値引きした金額を出力するフローチャートです。
とても簡単な例ですが、このように図示することで、どのような処理の流れでプログラムを書かなければならないかを視覚的にあらわすことができます。
慣れてくるといちいちフローチャートは書かないかも知れませんが、実際の職業プログラマは頭の中でプログラムの処理の流れをイメージして、そのイメージにもとづいてプログラムを書きます。
この論理的思考力は、プログラミング以外にも、たとえばサーバを構築する場合に、どのような手順でサーバを構築していくか、あるいはシステム障害が発生した場合に、どのような処理手順で障害対応を行なえばより速く障害復旧できるか、などを考える際に、とても役立つ能力です。
プロスキルでもプログラミングに必要な論理的な思考力を養成するために、「アルゴリズムとデータ構造 」講座を用意しています。もしご興味があれば「無料お試し教材」を用意しておりますので、ご請求ください。
よろしくお願い致します。
次回につづく。
なぜプログラミングが上達しないのか?④
プログラミングが上達しない・・・、と悩んでいる人は、プログラムを確実に完成させた経験が少ない人に多いようです。
プログラミングを上達させる学習サイクルが途中で切れてしまうために、知識や技術が確実に身に付かず、プログラミングが上達しない、と感じてしまうでしょう。
それでは、なぜ、学習サイクルが途中で切れてしまうのでしょうか?
その原因は大きく分けて次の3つに分類できます。
① 「論理的思考力」の不足(プログラムをイメージする力が不足している)
② 「プログラムを正しく書けたかどうかを検証する力」の不足
③ 「必要な情報を上手く収集する力」の不足
実際の開発現場では、どのようなプログラムを書くのか、プログラムを設計する能力が必要です。
また、教科書や友人などに教えてもらう基礎学習とはことなり、自ら主体的に必要とする適切な情報をさがし、プログラミングに応用できなければ、わからないことはずっとわからないままになってしまいます。
次回からは、上記①~③の問題を解決するためのトレーニング方法を紹介していきます。
次回へつづく。