第1講 始めようVisual C++
第1話 VC++講義を始める理由
世間には、非常の多くのVisual C++の入門書が出ていまし、
ネット上にもたくさんの解説があります。
しかし、私が見た範囲では秀和システムから出ている
『Visual C++でカンタンはじめて学ぶプログラミング』ぐらいしか、
初心者のための入門書はないといってよいと思います。
例えば、
VC++のヘルプで出てくるBackgroundWorkerの説明をそのまま引用してみると
(まったく理解できなくても一応目を通してください。
我慢の限界に達した場合は読み飛ばして−−−以上引用以降に進んでください。)、
−−−以下引用
BackgroundWorker クラスを使用すると、個別の専用スレッドで操作を実行できます。ダウンロードやデータベース トランザクションのように時間を要する操作によって、操作の実行中にユーザー
インターフェイス (UI: User Interface) が応答しなくなったように思われる場合があります。UI にすぐに応答させたいときに、このような操作に関連する長時間の遅延が発生している場合は、BackgroundWorker
クラスに便利な解決方法が用意されています。
時間を要する操作をバックグラウンドで実行するには、BackgroundWorker を作成し、操作の進行状況を報告したり、操作の終了時に通知したりするイベントを待機します。BackgroundWorker は、プログラムによって作成することも、ツールボックスの [コンポーネント] タブからオブジェクトをフォームにドラッグすることもできます。Windows フォーム デザイナで BackgroundWorker を作成すると、オブジェクトは [コンポーネント トレイ] に表示され、そのプロパティは [プロパティ] ウィンドウに表示されます。
バックグラウンド操作を設定するには、DoWork イベントのイベント ハンドラを追加します。このイベント ハンドラで、時間を要する操作を呼び出します。操作を開始するには、RunWorkerAsync を呼び出します。進行状況の更新の通知を受け取るには、ProgressChanged イベントを処理します。操作の完了時に通知を受け取るには、RunWorkerCompleted イベントを処理します。
−−−以上引用
はたして、初心者に理解させようという気持ちがあるのでしょうか。
これを読んだら、
初心者はVC++に挑戦する気力が失せてしまうのではないでしょうか。
ほとんどの人は、VC++は自分にはとても理解できない高尚なものだと、
感じてしまうのではないでしょうか。
しかし、この難解な文章は、
以下の通りとっても簡単な内容を理解困難な言い回しでいっているのに過ぎないのです。
現在Windows上で動かしているメインのソフトとは、
別に海面下で別のソフトを動かしたいときはBackgroundWorkerを使えばよい、
ということなのです。
アヒルは、優雅に水に浮いているように見えても、水面下では激しく足を動かしているそうです。
Windowsのソフトもこれに似ています。
例えば、ワードを動かしているとき、実はバックグランドではいろいろなソフトが動いています。
水の上でワードが動いているとき、水面下では実はいろいろなソフトが動いています。
ウィスル監視ソフト、OSを動かすために必要な様々なプログラムなどが
背景=バックグランドでは動いているのです。
さらに、インターネットから大きなソフトをダウンロードしながら、ワードを操作しているときには、
ブラウザも水面下で動いていることになります。
現在処理している直線的な流れから
分岐させて、背景上(水面下)で物事を処理させたいとき、
BackgroundWorkerを使えばよいということなのです。
しかも、BackgroundWorkerの場合『操作の進行状況を報告したり、
操作の終了時に通知したりする』ことができるということなのです。
これが、先の呪文に書いてあった内容です。(以上、本講義第23講第1話から引用)
現在働いているソフトの背景でソフトを起動させたいとき、BackgroundWorkerを使えばよい、
という簡単な内容を複雑怪奇にして難解な表現で、書いてあることがよくわかると思います。
ほとんどの入門書は、
Visual Basicなどの他の言語でプログラミングをしたことがあることを前提に書かれています。
一度もプログラミングをしたことのない初心者には、最初のページからチンプンカンプンです。
説明のないカタカナの専門用語のオンパレード。
そして、プログラムの中も意味ありげな長い英単語が並びます。
カタカナ専門用語と長い英単語、この二つは初心者の理解を妨げる源泉です。
パスカル、C言語、VBA等のプログラミングの経験があり、
今ではYahoo!で
『Visual Basic 基礎』『Visual Basic 初歩』『Visual Basic 初心者』『Visual Basic 応用』などで検索すると、
すべて第1位にランクされる
『初心者のためのVisual Basic入門講義』の著者である私が読んでさえ、
理解が難しい本が『入門書』の名で、
出版されているのは詐欺に近いといったら言い過ぎでしょうか。
しかし、高い代金を払って買ったのに全く理解できなかったと、
怒りを覚えている方は大勢いらっしゃるでしょう。
でも、ご安心ください。
プログラミングの経験がない方でも、
理解できるように本当に初歩から講義を進めていく予定です。
初心者は、変数名を意味ありげな英語で書かれてしまうと、
必ずそのように書かないとプログラムは動かないと思ってしまいます。
しかも、Visual C++の場合ほんの少しでもタイピングミスがあると動きません。
何度ビルド(プログラムを機械語に翻訳して実行すること)しても、エラーしてしまうのですから、
初心者はますます英単語のスペルリングミスに原因があると思ってしまいます。
しかし、変数名を例えばNameやMoneyと書いたり、
コントロール(Formに貼り付けるボタンやラベルなど)の
オブジェクト名(ボタンなどの本名)を
comboKind、listMoneyなどと書いたりする必要は全くありません。
変数名をnやmとしても良いし、
オブジェクト名をcやlなどにしても少しも問題がないのです。
ソリューション名(ワードなどのファイル名に相当するもの)
もHomeBankなどの長い英単語にする必要はさらさらなく、
hでもよいのです。
長い間変数名は、
内容がわかる変数名にすることが正しいと考えられてきましたし、
私も正しいと思っていました。
しかし、今回Visual C++を勉強して、
長い変数名は理解を妨げる大きな理由の一つであることがわかりました。
ですからこの講義では、専門用語は意味を詳しく説明してから使い、
変数名やソリューション名などは基本的に2文字以内にすることにします。
専門用語については意味を説明した後でも、
必ず()内に内容をイメージできる説明を入れていきます。
『入門書』という名の難解な書物によって、
迷宮に迷い込まされてしまった方の救世主になるように頑張りたいと思います。
幸いにいたしまして、本講義はGoogleおいて
『VC++』『C++ 初心者』『C++ 講義』『C++ 応用』『Visual C++ 入門』『Visual C++ 初心者』
『Visual C++ 基礎』『Visual C++ 初歩』『Visual C++ 応用』『Visual C++ 講義』
『VC++ 入門』『VC++ 初心者』『VC++ 基礎』『VC++ 初歩』『VC++ 講義』『VC 入門』
『VC 初心者』『VC 基礎』『VC 初歩』『VC 講義』などで検索すると、
すべて第1位に表示されるようになりました。
また、アクセス解析によると本講義は1日に
ユニークアクセス(訪問者数、同じ人が複数回アクセスしても1と数える)で500、
トータルアクセス(閲覧数=延べアクセス)で4000を数えています。
意味ありげな長い変数名が初心者をどれほど苦しめていたかを、如実に証明しているといってよいでしょう。
おそらくこの講義をきっかけに、変数名の付け方が転回していくでしょう。
長い英単語から簡単な変数名へと!
第2話へ
NEW! eclipse c++ 入門
NEW! 魔方陣 数独で学ぶ VBA 入門
NEW数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第3部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ