[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 1554] ポインタの定義 (Re: 集約とコンポジション )



小薮です。

On Fri,  2 Mar 2001 20:29:58 +0900
in [jfriends-ml 1553] Re: 集約とコンポジション
前橋 和弥 <PXU00211@xxxxxxxxxxx> wrote:

> 以下余談ですが、
> 
> 「C言語 ポインタ完全制覇」に、「JavaにもRubyにもポインタはあ
> る」なんてことを書いたら、ruby-mlでまつもとゆきひろさんに批
> 判されたようです。
> 
>   http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/27218
> 
> てなわけで、こんなページ
> 
>   http://member.nifty.ne.jp/maebashi/seiha/hosoku001.html
> 
> を書いたんだけど、多分まつもとさんは見てないんだろうなあ。

現在メジャーな言語で(古典的な定義の)「ポインタ」を持っているのは
C(含むC++)、VB、Javaくらいです。Delphiを含むPascalは(ファンには
申し訳ないですが)これらの言語に比べると人口がかぎられていると
言わざるを得ません。

ところが、VBやJavaのポインタは通常ポインタと呼ばれないので、
結局「ポインタ」と名のついた言語要素が扱われる場合、それは
現状ほとんどの場合Cのそれだ、ということになります。

で、Cのポインタは他の言語のポインタと違って足し算引き算等ができる
という特徴を持っておりますので、「ポインタ」といえばそういう
ものなのだ、という了解が広まるのも無理ないことでしょう。

もちろん、C言語以前からある古典的な定義での「ポインタ」の用法が
間違いというわけではないですが、Cの普及とともに、「ポインタ」という
言葉がもう一つ違う意味を持つようになったと考えるのがよいと思ってます。

「C風の意味での『ポインタ』は間違っている!!」と主張し、言葉の意味を
整理する努力をするのは一つの見識だと思いますが、私は労力の割に
実入りが少なそうだと思うのでやりません。そんなことでフレーミングとか
発生したらそちらの方がよほど被害が大きいし・・


・・・という風に割り切ったなら、「ポインタ」問題って
わざわざ取り上げるほどのことじゃあないんじゃないでしょうか。


-----------------------------------
koyabu@xxxxxxxxxxxxxxxxx