第4講 メソッド=関数を理解しよう1 

第1話 構造化プログラミングの思想 
クラスは、フィールドとメソッドから構成されていました。
本サイトでは、変数と関数またはメンバー変数とメンバー関数と呼んでいます。
その内、変数については第2講及び第3講で見てきました。
第4講では、関数について学習します。
普通プログラミングの学習では、
関数ないしはプロシージャはかなり学習が進んでから行います。
本講義では、実質2番目に関数すなわちメソッドをもってきました。
理由は、構造化プログラミングの思想を理解していただきたいからです。
構造化プログラミングの思想というとなんだか難しそうな気がしますが、
構造化プログラミングとは、実は大変簡単なことをいっています。
C言語やJava言語は、構造化プログラミングの徹底した言語です。
パソコンの普及に貢献したマイクロソフトのビル・ゲイツが作ったプログラミング言語BASICは、
わかりやすい言語で初心者向きでしたが、
大きな欠陥をもっていました。
コンパイラでなくインタプリタであること、
構造化プログラミングができずスパゲティ・プログラム(スパゲッティのように複雑に混線したプログラム)になってしまうこと
の2つです。
Visual Basicになった現在、その2つの欠陥は解消されていて、
Visual BasicすなわちVBは、コンパイラであり構造化プログラミングが徹底した言語になりました。
Excelなどに添付されているVBAすなわちVisual Basic for Applicationsも同様にコンパイラであり構造化プログラミングが徹底した言語です。
コンパイラとは、コンパイルするソフトのことでした。
コンパイルとは、人間が理解できるプログラム言語=テキストファイルを機械語に翻訳することです。
コンパイラは、まとめて機械語への翻訳をします。
それに対して、インタプリタも機械語への翻訳をしますが、1行ごとに翻訳します。
すなわち、コンパイラはまとめてプログラム全体を翻訳するのに対して、
インタプリタはプログラムを1行ごと翻訳します。
そのためにプログラムの実行速度は、何倍もコンパイラの方が速いのです。
一方、スパゲッティ・プログラミングから、構造化プログラミングの徹底した言語へと変身したということは、
BASICが根本的な欠陥をもっていたことを自ら認めたということです。

さて、構造化プログラミングの思想とは何でしょうか。
実は大変簡単なことです。
プロモデルのように独立部品から構成しようということです。
プラモデルは、パーツからの単純結合です。
単純結合というのは、他のパーツのせいぜい数カ所のみと結合しているということです。
それに対して、脳細胞やWebサイトは複雑に有機的に結びついています。
脳細胞のネットワークが複雑であるほど、知能は高くなります。
Webサイトは軍事部門の研究から生まれたといわれていますが、
1局集中型=中央管理型から、中央のないサイトへと軍事部門の連絡手段が移行していったのは、
複雑に絡み合うネットワークの方が、伝達効率が高かったからです。
有機的に高度に複雑に結びついていることが、
脳細胞とWebサイトの優れた点ですが、
全体を見通すことは難しくなっているという点があります。
かつてのBASICは、サブプログラムという考え方はありましたが、
個々の部品が独立しておらず、
変数の内容が他の部品で書き換えられしまう心配がありました。
しかも、BASICの場合GOTO文であちらこちらに飛び、
プログラム全体がスパゲッティのように複雑に混線したものになり、
全体を見通すことが難しく、分業することが困難な言語でした。
それに対して、C言語やパスカルは最初から構造化プログラミングの思想が徹底していて、
部品は独立していました。
独立というのは、例え同じ変数名であっても、部品が違えば書き換えられることがないということです。
つまり、変数は基本的には関数内でしか通用しないローカル変数だということです。
そして、部品同士の結合はプラモデルのように単純結合です。
プラモデルのように独立パーツから、単純に組み立てる=これが構造化プログラミングです。

Javaは構造化プログラミング思想の徹底した言語であり、
後に説明するようにオブジェクト指向プログラミング言語ですので、
この2つの利点を活かしたプログラムを組むことを意識しながら、
プログラミングの学習をする姿勢が大切です。

構造化プログラミングを徹底するということは、わかりやすいプログラミングを心がけるということです。





第3講第6話へ 第2話へ

戻る

VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための Java 入門 サイト 基礎から応用まで第1部
初心者のための Java 入門 サイト 基礎から応用まで第2部
初心者のための Java 入門 サイト 基礎から応用まで第3部