[PHP-users 20323]初めてのプログラミング言語(Re: クラスとは。コンストラクタとは。メンバ変数宣言とは。)

Kazumasa Gotoh kgotoh @ cic-kk.co.jp
2004年 2月 9日 (月) 11:05:04 JST


From: yuji koga <koga-y @ mcp-net.com>
Date: Mon, 09 Feb 2004 10:29:39 +0900

> 仰るとおり、PHPを用いたOOP開発手法に関する文献は余り無い為、
> javaやC++、そしてsmalltalk用に書かれた文献から勘所のみを読み取って
> PHPに反映させるしか無いのが現状のようですね。

生まれて初めて触れたプログラミング言語が PHP だった。という人は
いる… というか、最近は増えているでしょうか?
どうも元記事の方はそうみたいですが…

私自身の「初めてのプログラミング言語」は COBOL (^^; で、次はアセンブラ。
以降、Pascal, PL/I, C, C++, Java, etc … と来ています。
「言語仕様書や解説書は読んだ、少しは使ってみた」という程度であれば
かなりの数にのぼりますが、「まともに使った、仕事でやった」という事で
あれば上記くらいでかなぁ。

# BASIC 系は Visual Basic を含め、まともに使ったことはありません。
# これは家訓により「Basic に手を染めてはならない」とあるためです。
# VB の仕事は他の人間に振っています。<- 自分が汚れたくないから。:-p

「初めてのプログラミングは Excel のマクロです」という人はいそうですね。
「私は Emacs Lisp が最初のプログラミング言語です」とか言うと、
ちょっとカッコいいかも知れない。

「構造化プログラミング」や「オブジェクト指向プログラミング」という
ようなパラダイムに関しては、基本的には言語に依存して考えなくとも
よいはずです。したがって、考え方が理解できれば適用はできる事になります。

ひとくちに OOP と言っても、言語によってどの程度の事が実現できるかは
かなり差異がある場合もありますが、これは OOP というものを理解し、
自分が使う言語の言語仕様を理解していれば、「何ができて、何ができないか」
がはっきりしてくるのではないでしょうか。

現実問題として、「俺はこの言語を使ってるんで、この言語でどう書けば
いいんだよ〜」という話はあるでしょうが、パラダイムの概念や考え方を
理解してからの方が、結局は話が早いようにも思います。

> 反面、インクルードされるファイルが膨大になり、
> 動作が重く、メモリも喰いやすくなるようですが、
> シングルトンパターンの適用などにより、ある一定線を越えないように
> 工夫しています。

PHP のようなスクリプト言語では、これはある意味しょうがない
部分でしょうね。Zend エンジンとか使うと少しは違うんでしたっけ?

何事にもよい面と悪い面があるわけでして、OOP 的な面をあくまでも
追求してシステムを作成してゆくのであれば、本格的な OOP 言語を
使った方が効率が良いのではないかと考えます。

逆に PHP などでは OOP 的な面は「綺麗にプログラムを書くための方便」
くらいに思っていた方が気が楽かも知れません。
「部品の再利用」を追求したいのであれば、スクリプト言語というのは
あまりその目的には向いていない気がします。
まぁ、規模にもよるでしょうけど…

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh @ cic-kk.co.jp


PHP-users メーリングリストの案内