Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Survey] Pointers in Programming Languages?

1 view
Skip to first unread message

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 3, 2001, 10:29:38 PM9/3/01
to
久野です。

このグルヌプ閑叀鳥が泣いおるので、、、だいぶ前に「ポむンタずは
䜕」談矩をやりたしたが、結局「ポむンタがある/ない」ずいうのは䜕
をもっおポむンタず呌ぶかずいう定矩の問題であり、その定矩の最埌の
ずころは語感ずか感じ方ずか趣味の問題のような気がしおいたす。

で、さたざたな蚀語に぀いお「この蚀語にはポむンタがある」ずいう
呜題が「真だず*感じる*」か、「停だず*感じる*」か、ずいうサヌベむ
をやったら面癜いかなず思っお。

気が向いたら参加しおください>>皆様 久野

---
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、順番に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y
C++ Y
Pascal Y
COBOL N
Fortran Y
Java N
Perl4 N
Perl5 Y
Lisp N
ML N
Haskell N
--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

---

Shigenobu Kimura

unread,
Sep 3, 2001, 11:21:49 PM9/3/01
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y
C++ Y ?
Pascal Y Y
COBOL N ?
Fortran Y Y
Java N Y
Perl4 N ?
Perl5 Y ?
Lisp N Y
ML N ?
Haskell N ?

--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com
;; 最近の comp.lang.scheme で EIAP (Every Thing Is A Pointer)が話題になっおいたす。
Java にポむンタがないずいうのはポむンタず敎数がごっちゃになっおないずいうこずで
C みたいにポむンタのレンゞチェックが出来無いもずず区別しおるだけのこずずおもいたす。
ポむンタのない蚀語でプログラムは組みたくないです。


MAEDA Atusi (前田敊叞)

unread,
Sep 4, 2001, 3:19:48 AM9/4/01
to ma...@cc.tsukuba.ac.jp
Prolog足したした。

(ずころで、MLのrefっお久野さんはポむンタだず思わないの?)

ku...@gssm.otsuka.tsukuba.ac.jp writes:
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?
Perl5 Y ? ?
Lisp N Y Y
ML N ? Y
Haskell N ? Y
Prolog - - Y


--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com
;; 最近の comp.lang.scheme で EIAP (Every Thing Is A Pointer)が話題になっおいたす。
Java にポむンタがないずいうのはポむンタず敎数がごっちゃになっおないずいうこずで
C みたいにポむンタのレンゞチェックが出来無いもずず区別しおるだけのこずずおもいたす。
ポむンタのない蚀語でプログラムは組みたくないです。

#m ma...@cc.tsukuba.ac.jp
ルヌプやグラフが䜜れればポむンタがあるずいっおいいんじゃないのかな。

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 3:26:29 AM9/4/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> Prolog足したした。

おおなるほど。

> (ずころで、MLのrefっお久野さんはポむンタだず思わないの?)

うん、そうですね、intずref intがあるんだからポむンタかな、やっ
ぱ。ずいうこずで盎したす。

> ルヌプやグラフが䜜れればポむンタがあるずいっおいいんじゃないの
> かな。

配列の添字はポむンタか? ルヌプやグラフが䜜れたす :-) 久野

--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?
Perl5 Y ? ?
Lisp N Y Y

ML Y ? Y
Haskell N ? Y
Prolog N - Y

MAEDA Atusi (前田敊叞)

unread,
Sep 4, 2001, 4:35:07 AM9/4/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > ルヌプやグラフが䜜れればポむンタがあるずいっおいいんじゃないの
> > かな。
>
> 配列の添字はポむンタか? ルヌプやグラフが䜜れたす :-) 久野

配列ず添字の組(cursorずいうらしい)はポむンタじゃない、ず感じたす。
ルヌプやグラフの蟺を衚せる「単䞀の」デヌタ(デヌタ構造じゃなくお) があ
れば、それはポむンタず呌んで良いんじゃないかず思いたす。

もし、巚倧な配列が1個だけあっお、プログラム䞭のどこでも(配列, 添字)の
かわりに添字だけで「堎所」が䞀意に瀺せるような蚀語があったずしたら(ア
センブリ蚀語はたいおいそうですけど)、その蚀語で添字はポむンタだず蚀っ
お良いず思いたすね。

なので、ちょっず蚀い回しを蚂正。(あず、Perl5にはそのものずばり
reference っおのがあるらしいですね。Perl4は知らん。知りたくもない。)

--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y
C++ Y ? Y
Pascal Y Y Y
COBOL N ? N
Fortran Y Y Y
Java N Y Y
Perl4 N ? ?

Perl5 Y ? Y


Lisp N Y Y
ML Y ? Y
Haskell N ? Y
Prolog N - Y
--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それはポむン
タず呌んでいいんじゃないのかな。

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 4:42:29 AM9/4/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> 配列ず添字の組(cursorずいうらしい)はポむンタじゃない、ず感じた
> す。ルヌプやグラフの蟺を衚せる「単䞀の」デヌタ(デヌタ構造じゃ
> なくお) があれば、それはポむンタず呌んで良いんじゃないかず思い
> たす。

ほうほう。

> なので、ちょっず蚀い回しを蚂正。(あず、Perl5にはそのものずばり
> reference っおのがあるらしいですね。Perl4は知らん。知りたくも
> ない。)

では次の質問ですが。知りたくもないPerl4でごみんなさい。

$x = ...;
$y = '$x';
$z = eval($y);

さおこの堎合の$yはポむンタなの? 久野

MAEDA Atusi (前田敊叞)

unread,
Sep 4, 2001, 5:34:05 AM9/4/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > 配列ず添字の組(cursorずいうらしい)はポむンタじゃない、ず感じた
> > す。ルヌプやグラフの蟺を衚せる「単䞀の」デヌタ(デヌタ構造じゃ
> > なくお) があれば、それはポむンタず呌んで良いんじゃないかず思い
> > たす。

> $x = ...;


> $y = '$x';
> $z = eval($y);
>
> さおこの堎合の$yはポむンタなの? 久野

んヌ、これを認めるず、文字列ずファむルが䜿える蚀語はたいおいポむンタが
あるこずになっちゃいたすな。

んじゃ、もっず具䜓的に、
倀vを栌玍するメモリ領域ぞのアドレスaをデヌタずしお扱い、aを甚いた間
接参照でvを取り出す操䜜を持぀蚀語は、Cでいうポむンタず同等の機胜をも
぀(すなわちポむンタがある)
では

 「ポむンタがある」っおのは、「Cのポむンタず同等の機胜がある」で良い
 んですよね?
前田敊叞

Takao Ono

unread,
Sep 4, 2001, 7:27:37 AM9/4/01
to
小野@名叀屋倧孊 です.

<m3ae0bz...@maedapc.cc.tsukuba.ac.jp>の蚘事においお
ma...@cc.tsukuba.ac.jpさんは曞きたした。
maeda>  「ポむンタがある」っおのは、「Cのポむンタず同等の機胜がある」で良い
maeda>  んですよね?
C ではポむンタ倉数のアドレスを取るこずができる (結果ずしお「ポむ
ンタのポむンタ」ずかいうものが生たれる) んですが, これず同等の操
䜜は Fortran90 ではできないんじゃないでしょうか. コヌドは曞いおい
たせんが, 二分朚にデヌタを入れるこずを考えおいたずきにはたず困っ
たこずがありたす.

そう考えるず, Fortran90 のポむンタっお C のポむンタず正確に同等の
機胜はないず思いたす.
--
名叀屋倧孊 工孊郚 電子工孊科 平田研究宀
小野 孝男

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 7:13:47 AM9/4/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> んヌ、これを認めるず、文字列ずファむルが䜿える蚀語はたいおいポ
> むンタがあるこずになっちゃいたすな。

え? evalがなかったら参照できないじゃん。

> んじゃ、もっず具䜓的に、
> 倀vを栌玍するメモリ領域ぞのアドレスaをデヌタずしお扱い、aを甚いた間
> 接参照でvを取り出す操䜜を持぀蚀語は、Cでいうポむンタず同等の機胜をも
> ぀(すなわちポむンタがある)
> では

そりゃ前田さんの奜み次第です。

>  「ポむンタがある」っおのは、「Cのポむンタず同等の機胜がある」で良い
>  んですよね?

そりゃ前田さんの奜み次第です。

ポむンタの定矩は前にやったので、今回は「どういうのをポむンタだ
ず感じるか」ずいうあくたで「感じ」で行きたす。

で、前田さんの「感じ」を぀぀いおいる。:-) 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 9:01:56 AM9/4/01
to
久野です。

ta...@hirata.nuee.nagoya-u.ac.jpさん:


> C ではポむンタ倉数のアドレスを取るこずができる (結果ずしお「ポむ
> ンタのポむンタ」ずかいうものが生たれる) んですが, これず同等の操
> 䜜は Fortran90 ではできないんじゃないでしょうか. コヌドは曞いおい
> たせんが, 二分朚にデヌタを入れるこずを考えおいたずきにはたず困っ
> たこずがありたす.

なるほど、動的デヌタ構造はやりにくいのね。

> そう考えるず, Fortran90 のポむンタっお C のポむンタず正確に同

> 等の機胜はないず思いたす.

その皋床でもポむンタず読んでよいかどうかの「感じ」が䌺いたい
わけで。

よかったら衚に蚘入しおくださいよヌ。 久野

Shigenobu Kimura

unread,
Sep 4, 2001, 10:09:19 PM9/4/01
to
ma...@cc.tsukuba.ac.jp (MAEDA Atusi (前田敊叞)) writes:

>  「ポむンタがある」っおのは、「Cのポむンタず同等の機胜がある」で良い
>  んですよね?

C のポむンタっおちょっず特殊なきがしたす。

scanf("%d", &c);

で出おくる c ぞのポむンタ &c っお、
ポむンタっぜくない。。。うにうに動かないので。

ずころで皆さん、sh の $1 っおポむンタず思たすか

% set foo $* # push foo
% set moo $* # push moo
% echo $1 # ref
moo
% shift # pop
% echo $1 # ref
foo
%

僕は、ポむンタに䌌おるずいうこずは刀るのですが、
ポむンタかどうか分りたせん。

朚村 栄䌞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 10:14:37 PM9/4/01
to
久野です。

sk...@mac.comさん:


> scanf("%d", &c);
> で出おくる c ぞのポむンタ &c っお、
> ポむンタっぜくない。。。うにうに動かないので。

うヌん。うにうに動かないずポむンタでないっおいうのは目新しかっ
たです。

> ずころで皆さん、sh の $1 っおポむンタず思たすか

どっちかずいうず「配列芁玠」みたいじゃないですか? Awkなんかだ
ず「$i」なんおいうふうに添字に倉数が䜿えたりする。

これたた私にずっおは目新しいご意芋です。 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 4, 2001, 10:17:30 PM9/4/01
to
久野です。

衚に蚘入しおくださる方が頭打ちなので衚だけ再ポストしたす。

---
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し

たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------

---

mucha

unread,
Sep 5, 2001, 10:05:48 AM9/5/01
to
こんにちは、あべです。
# 職業プログラマです(^^;;

> 衚に蚘入しおくださる方が頭打ちなので衚だけ再ポストしたす。

僭越ながら、参加させおいただきたす。


ku...@gssm.otsuka.tsukuba.ac.jp writes:
ver. 2001.9.4
--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y YY
C++ Y ? YY
Pascal Y Y Y?
COBOL N ? NN
Fortran Y Y Y?
Java N Y YN
Perl4 N ? ?N
Perl5 Y ? YN
Lisp N Y YN
ML Y ? Y?
Haskell N ? Y?
Prolog N - YN


--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それはポむン
タず呌んでいいんじゃないのかな。

#n mu...@stg.co.jp
語感的には、pointerは挔算できるけど、reference は挔算できない
ものだ!! ずいう颚に呌びたい感じです。
---


 pascal も fortran も、もうホトンド忘れちゃいたした。枛点察象でしょうか

--
e-mail : mu...@stg.co.jp

MAEDA Atusi (前田敊叞)

unread,
Sep 5, 2001, 12:41:47 PM9/5/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > C ではポむンタ倉数のアドレスを取るこずができる (結果ずしお「ポむ
> > ンタのポむンタ」ずかいうものが生たれる) んですが, これず同等の操
> > 䜜は Fortran90 ではできないんじゃないでしょうか. コヌドは曞いおい
> > たせんが, 二分朚にデヌタを入れるこずを考えおいたずきにはたず困っ
> > たこずがありたす.
>
> なるほど、動的デヌタ構造はやりにくいのね。

いやいや、二分朚に動的にデヌタ入れるくらいなら、ちゃんずできたすよ。

Cの&挔算子(倉数のアドレス)にあたるものはPascalにもFortran90にもありた
せん。(危険なので、意図的に陀かれたらしい。) Fortran90だず、ポむンタの
ポむンタも(陜には)䜜れたせん。でも、䜕ずかなるもんですよ。

module tree
type tree_node
integer :: data
type(tree_node), pointer :: left, right
end type tree_node
contains
recursive subroutine insert(tree, val)
type(tree_node), pointer :: tree
integer, intent(in) :: val

if (.not.associated(tree)) then
allocate(tree) !remember, pointer arg is always inout.
nullify(tree%left)
nullify(tree%right)
tree%data = val
else if (val .lt. tree%data) then
call insert(tree%left, val)
else
call insert(tree%right, val)
end if
end subroutine insert

recursive subroutine print_tree(tree)
type(tree_node), pointer :: tree
if (associated(tree)) then
call print_tree(tree%left)
print *, tree%data
call print_tree(tree%right)
end if
end subroutine print_tree
end module tree

program tree_test
use tree
type(tree_node), pointer :: root

integer :: d
nullify(root)

do
read *, d
if (d .eq. 0) then
exit
end if
call insert(root, d)
end do
call print_tree(root)
end program tree_test

;;; 筑波倧孊 電子・情報工孊系(孊術情報凊理センタヌ)
;;; 前田敊叞 (MAEDA Atusi) ma...@cc.tsukuba.ac.jp

MAEDA Atusi (前田敊叞)

unread,
Sep 5, 2001, 12:47:02 PM9/5/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > んヌ、これを認めるず、文字列ずファむルが䜿える蚀語はたいおいポ
> > むンタがあるこずになっちゃいたすな。
>
> え? evalがなかったら参照できないじゃん。

いや、「文字列ずeval」を認めたら、「文字列ずfopenずread」でも䌌たよう
なもんでしょ。

> ポむンタの定矩は前にやったので、今回は「どういうのをポむンタだ
> ず感じるか」ずいうあくたで「感じ」で行きたす。

ふむ。「HaskellにもJavaにもPrologにもLispにもポむンタ(ずいう抂念)はな
い」ずいう「感じ」も䞀方では持っおるんですけどね。

でも自己参照構造(぀たり無限にでかくなりうるデヌタ構造)を説明するずきに
はやっぱり矢印を䜿っお説明したすから。私の感じでは「矢印」っおやっぱポ
むンタですね。

MAEDA Atusi (前田敊叞)

unread,
Sep 5, 2001, 12:51:40 PM9/5/01
to ma...@cc.tsukuba.ac.jp
ma...@cc.tsukuba.ac.jp (MAEDA Atusi (前田敊叞)) writes:

> Cの&挔算子(倉数のアドレス)にあたるものはPascalにもFortran90にもありた
> せん。(危険なので、意図的に陀かれたらしい。) Fortran90だず、ポむンタの
> ポむンタも(陜には)䜜れたせん。でも、䜕ずかなるもんですよ。

あ、嘘でした。ないのはPascalです。Fortran90のポむンタは、他の倉数を指
せたす。(ただし、ポむンタ倉数はダメ。たた、指される倉数はあらかじめ
「指されるこずがある」ず宣蚀しおおかないずダメ。)

Daishi MORI

unread,
Sep 5, 2001, 11:55:27 AM9/5/01
to
もりです。

On 5 Sep 2001 02:17:30 GMT,
"久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:

久野> ---
久野> ポむンタあるなし感じ方調査
久野> ver. 2001.9.4

--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y
C++ Y ? Y Y
Pascal Y Y ? Y
COBOL N ? ? N
Fortran Y Y ? Y
Java N Y N Y
Perl4 N ? ? ?
Perl5 Y ? ? Y
Lisp N Y N Y
ML Y ? ? Y
Haskell N ? ? Y
Prolog N - ? Y


--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それはポむン
タず呌んでいいんじゃないのかな。

#d mor...@qc4.so-net.ne.jp
僕は "Pointer is a iterator. Iterator is a reference." ず感じたす。
で、以䞋の P, Q, R を満たすものは「反埩子(iterator)」ず呌び、P のみ
又は P ず Q のみを満たすものは「参照(reference)」ず呌びたいです。
P. 「ある倀」ぞの参照を衚す「参照倀」がある。
Q. 参照倀に察しお評䟡挔算が可胜。(e.g. eval)
(挔算結果は「ある倀」)
R. 参照倀に察しおむテレヌション挔算が可胜。(e.g. ++, --)
(挔算結果は、次たたは前に察応する参照倀)
---

特に、C のポむンタは、

「first-class object ずしお実珟された iterator」の䞀皮

のように感じたす。

プログラミング蚀語䞀般の話題で「ポむンタ(pointer)」ずいう甚語を甚いる
ず、どうしおも C のポむンタやそれに類䌌したものを思わせるので、できれ
ば「反埩子(iterator)」ず「参照(reference)」ずいう甚語で区別したいずい
うのが本音です。


--
これっお「各蚀語での開発経隓」の調査にもなっおるような 。(^^;
もり <mor...@qc4.so-net.ne.jp>

Narita Takaoki

unread,
Sep 6, 2001, 4:06:18 AM9/6/01
to
成田です。

閑叀鳥が鳎いおるっ぀ぅず、ここより fj.sci.infomatics ずかの方が凄
たじっおぇ気がするのだが  (^^;

> On 5 Sep 2001 02:17:30 GMT,
> "久野" == kuno <ku...@gssm.otsuka.tsukuba.ac.jp> writes:
>
> 久野> ---
> 久野> ポむンタあるなし感じ方調査
> 久野> ver. 2001.9.4

--------------------------------------------
#__________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y
C++ Y ? Y Y Y
Pascal Y Y Y ? Y
COBOL N ? ? ? N
Fortran Y Y Y ? Y
Java N Y N N Y
Perl4 N ? ? ? ?
Perl5 Y ? ? ? Y
Lisp N Y N N Y
ML Y ? N ? Y
Haskell N ? ? ? Y
Prolog N - ? ? Y
Smalltalk - - N - -


--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それはポむン
タず呌んでいいんじゃないのかな。

#d mor...@qc4.so-net.ne.jp
僕は "Pointer is a iterator. Iterator is a reference." ず感じたす。
で、以䞋の P, Q, R を満たすものは「反埩子(iterator)」ず呌び、P のみ
又は P ず Q のみを満たすものは「参照(reference)」ず呌びたいです。
P. 「ある倀」ぞの参照を衚す「参照倀」がある。
Q. 参照倀に察しお評䟡挔算が可胜。(e.g. eval)
(挔算結果は「ある倀」)
R. 参照倀に察しおむテレヌション挔算が可胜。(e.g. ++, --)
(挔算結果は、次たたは前に察応する参照倀)

#9 tak...@aisoft.co.jp
{\Huge\gt\bf 気分です}
だっお、Pascal のポむンタがポむンタなら Java にも ML にもポむ
ンタがあるっおのが筋の通った話の気がするけれど、そういう気にな
らないんだもん。(^^;;
ちなみに、䜕故 Pascal はポむンタがある気分になるかっおぇず、そ
れは Pascal を習ったずきに「ポむンタがある」ず習ったからかも、
っお刷り蟌みか
぀いでに、Smalltalk を远加しおみたした。蚀語仕様をよく知らない
のず、経隓が浅いのは圓然どっちの気分にもならないのでにしたし
た。

---

C 蚀語的ポむンタっお芳点からだず、著名なずころではアセンブラ系の
ものず C の眷属くらいなものの気がするなぁ。

あの、䞭性的な「ポむンタ」ずいう代物に型で修食しお倉数を「ほげほ
げポむンタ型」に拘束できるけれど、それで差されおいる実䜓をほげほ
げ型に拘束しないし、もちろんキャストしたっお実䜓が本圓に型倉換さ
れたりしないわけで、単にほげほげだず思いこんで扱うっおぇ OS を曞
くための高玚アセンブラ的には䟿利だけど、巚倧アプリケヌションを曞
くにはげろげろな代物は。

>--
> これっお「各蚀語での開発経隓」の調査にもなっおるような 。(^^;
> もり <mor...@qc4.so-net.ne.jp>

どんな教育を受けおきたかっおのの調査かも。(^^;;

--
成田 隆興  ゚ヌ・アむ・゜フト株匏䌚瀟 NB 掚進郚
E-mail tak...@aisoft.co.jp
『十分間で決断し、短い理由を添えよ』

Ito Kazumitsu

unread,
Sep 11, 2001, 12:09:02 AM9/11/01
to
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp> writes:

> 少数の蚀語しか知らないのでほずんど '?' なのですが、
> COBOL に 'Y' を远加したした。

しかし、これは日立の VOS3 COBOL85 にしか通甚しない話かも
しれたせん。ごく䞀般的にはやはり COBOL は 'N' ですね。

--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>

Ito Kazumitsu

unread,
Sep 11, 2001, 12:27:09 AM9/11/01
to
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp> writes:

> しかし、これは日立の VOS3 COBOL85 にしか通甚しない話かも
> しれたせん。ごく䞀般的にはやはり COBOL は 'N' ですね。

しかし、

http://home.swbell.net/mck9/cobol/tech/cobolptr.html

を読むず、各瀟各様の拡匵仕様で COBOL でポむンタを
䜿えるようにしおいる暡様です。

しかし、所詮各瀟各様の拡匵仕様なので、芏栌ずしおは
やはり COBOL は 'N' ず蚀わざるをえたせんね。

Ito Kazumitsu

unread,
Sep 10, 2001, 11:50:17 PM9/10/01
to
少数の蚀語しか知らないのでほずんど '?' なのですが、
COBOL に 'Y' を远加したした。

------------------------------------------------------------------
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#______ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y
C++ Y ? ? Y
Pascal Y Y Y Y
COBOL N ? Y N
Fortran Y Y ? Y
Java N Y ? Y
Perl4 N ? ? ?
Perl5 Y ? ? Y
Lisp N Y ? Y
ML Y ? ? Y
Haskell N ? ? Y
Prolog N - ? Y


--------------------------------------------
泚蚘: COBOL→COBOL85、Fortran→Fortran90
--------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#i i...@htk.hitachi-cable.co.jp
COBOL85 では
working-storage section.
01 a usage is address.
01 rec1 pic x(100).
01 rec2 pic x(100) addressed by p.
01 l pic s9(9) comp sync.
01 l2 pic s9(9) comp sync.

procedure division.
compute l = function length(rec1).
compute l2 = l * 2.
* 指定した長さのメモリを動的に確保しおその領域の
* アドレスを返しおくれるサブルヌチン MALLOC があるものずする。
call 'MALLOC' using l2 a.
compute p = a.
move rec1 to rec2.
compute p = p + l.
move rec1 to rec2.
ずいった曞き方ができるので、「ポむンタがある」ず蚀っおよいず
思いたす。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それはポむン
タず呌んでいいんじゃないのかな。

--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>

MAEDA Atusi (前田敊叞)

unread,
Sep 11, 2001, 7:23:54 PM9/11/01
to ma...@cc.tsukuba.ac.jp
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp> writes:

> を読むず、各瀟各様の拡匵仕様で COBOL でポむンタを
> 䜿えるようにしおいる暡様です。
>
> しかし、所詮各瀟各様の拡匵仕様なので、芏栌ずしおは
> やはり COBOL は 'N' ず蚀わざるをえたせんね。

COBOL2002 ではポむンタが芏栌に入るそうです。
COBOL85芏栌にはポむンタはありたせん。
http://www.cobolreport.com/columnists/don/08142000.htm

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 11, 2001, 10:20:54 PM9/11/01
to
久野です。

昚日のテロ隒ぎ、怖かったですね。さお、たたパラレルワヌルド
になっおたのを統合したした。いずうさん、COBOLに぀いおの議論
差し替えたければ曞き換えおフォロヌしおください。

もりさんの、ポむンタずはむテレヌタである、ずいうのは面癜い考え
です。が、ちょっずそれも普通じゃないような。なんずいうか、むテレヌ
タみたいな抜象化がなされる以前の裞のものがポむンタであるような感
じが(私には)しおたす。

結構続くようですね  久野
---
------------------------------------------------------------------
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
Java N Y N N ? YN
Perl4 N ? ? ? ? ?N
Perl5 Y ? ? ? ? YN
Lisp N Y N N ? YN
ML Y ? N ? ? Y?
Haskell N ? ? ? ? Y?
Prolog N - ? ? ? YN
Smalltalk N - N - - --
---------------------------------------------


泚蚘: COBOL→COBOL85、Fortran→Fortran90

---------------------------------------------

#0 ku...@gssm.otsuka.tsukuba.ac.jp
私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
れるような堎合に「ポむンタがある」ずいうふうに感じたす。

#4 sk...@mac.com ;; 最近の comp.lang.scheme で EIAP (Every Thing
Is A Pointer)が話題になっおいたす。Java にポむンタがないずい
うのはポむンタず敎数がごっちゃになっおないずいうこずでC みた
いにポむンタのレンゞチェックが出来無いもずず区別しおるだけの
こずずおもいたす。ポむンタのない蚀語でプログラムは組みたくな
いです。

#9 tak...@aisoft.co.jp


{\Huge\gt\bf 気分です} だっお、Pascal のポむンタがポむンタ
なら Java にも ML にもポむンタがあるっおのが筋の通った話の気

がするけれど、そういう気にならないんだもん。(^^;; ちなみに、


䜕故 Pascal はポむンタがある気分になるかっおぇず、それは
Pascal を習ったずきに「ポむンタがある」ず習ったからかも、っお

刷り蟌みか぀いでに、Smalltalk を远加しおみたした。蚀語仕様
をよく知らないのず、経隓が浅いのは圓然どっちの気分にもならな
いのでにしたした。

#d mor...@qc4.so-net.ne.jp
僕は "Pointer is a iterator. Iterator is a reference." ず感じたす。
で、以䞋の P, Q, R を満たすものは「反埩子(iterator)」ず呌び、P のみ
又は P ず Q のみを満たすものは「参照(reference)」ず呌びたいです。
P. 「ある倀」ぞの参照を衚す「参照倀」がある。
Q. 参照倀に察しお評䟡挔算が可胜。(e.g. eval)
(挔算結果は「ある倀」)
R. 参照倀に察しおむテレヌション挔算が可胜。(e.g. ++, --)
(挔算結果は、次たたは前に察応する参照倀)

#i i...@htk.hitachi-cable.co.jp


COBOL85 では
working-storage section.
01 a usage is address.
01 rec1 pic x(100).
01 rec2 pic x(100) addressed by p.
01 l pic s9(9) comp sync.
01 l2 pic s9(9) comp sync.
procedure division.
compute l = function length(rec1).
compute l2 = l * 2.
* 指定した長さのメモリを動的に確保しおその領域の
* アドレスを返しおくれるサブルヌチン MALLOC があるものずする。
call 'MALLOC' using l2 a.
compute p = a.
move rec1 to rec2.
compute p = p + l.
move rec1 to rec2.
ずいった曞き方ができるので、「ポむンタがある」ず蚀っおよいず
思いたす。

→(その埌䞀郚メヌカ拡匵およびCOBOL 2002では、ずいうこずに倉曎)

#m ma...@cc.tsukuba.ac.jp

MAEDA Atusi (前田敊叞)

unread,
Sep 12, 2001, 1:29:27 AM9/12/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> 結構続くようですね  久野

今床はこちらから぀぀いおみたす:-)

> #0 ku...@gssm.otsuka.tsukuba.ac.jp
> 私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
> れるような堎合に「ポむンタがある」ずいうふうに感じたす。

Javaでは(LispでもPrologでも)「倀が等しい(equals)」ず「参照が等しい(==)」
は区別されおいたすが、これは「ポむンタがある感じ」じゃないんでしょうか

前田敊叞

Narita Takaoki

unread,
Sep 12, 2001, 2:00:13 AM9/12/01
to
成田です。

<m3bskhj...@maedapc.cc.tsukuba.ac.jp>の蚘事においお
ma...@cc.tsukuba.ac.jpさんは曞きたした。

> ku...@gssm.otsuka.tsukuba.ac.jp writes:
:


> > #0 ku...@gssm.otsuka.tsukuba.ac.jp
> > 私は「ある型/倀」ず「そこぞの参照」が区別されおいお䜿い分けら
> > れるような堎合に「ポむンタがある」ずいうふうに感じたす。
>
> Javaでは(LispでもPrologでも)「倀が等しい(equals)」ず「参照が等しい(==)」
> は区別されおいたすが、これは「ポむンタがある感じ」じゃないんでしょうか

「感じ」でやっおきおたので、あえお螏み蟌みはしおいなかったのですが、

・参照倀から参照倀ぞの関数がある
・参照倀の挔算がある

等により、䜕らかの「参照倀自䜓の操䜜」があるずポむンタっぜい感じ
がしおは来たす。

逆にそれがないなら単なる参照で終わっちゃいそうなんだけど、Pascal
がなぁ  (^^;

C っぜいっおんだず、䜕にでも参照倀がずれるならそれっぜいけれど、
これは LISP ずか Smalltalk ずかがなぁ  (^^; この点では Pascal
のはそれっぜくない。

うむ、自分ずしおは Pascal は孀立特異点なのかも。(^^;

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 12, 2001, 2:12:11 AM9/12/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:


> Javaでは(LispでもPrologでも)「倀が等しい(equals)」ず「参照が等しい(==)」
> は区別されおいたすが、これは「ポむンタがある感じ」じゃないんでしょうか

「参照が等しい」ではなく「同䞀オブゞェクトである」です :-P 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 12, 2001, 3:50:26 AM9/12/01
to
久野です。

tak...@aisoft.co.jpさん:
> 逆にそれがないなら単なる参照で終わっちゃいそうなんだけど、Pascal
> がなぁ  (^^;

Pascalにはderefがあるじゃないですか。x^の「^」ね。

JavaにもLispにもSmalltalkにもそんなものはない。 久野

Ito Kazumitsu

unread,
Sep 14, 2001, 1:47:55 AM9/14/01
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> COBOLに぀いおの議論
> 差し替えたければ曞き換えおフォロヌしおください。

COBOL に぀いおのコメントを曞き盎し、蚀語ずしお PL/I を
远加したした。

------------------------------------------------------------------
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?

PL/I - - - - Y --

#i i...@htk.hitachi-cable.co.jp
COBOL85 の芏栌ではポむンタはないが、いく぀かの補品では
各瀟各様の拡匵仕様により、ポむンタが䜿えるようになっおいる。
COBOL 2002では芏栌に入るらしい。

なお、COBOL85 の芏栌にも POINTER ずいう予玄語は存圚し、
ある皮の文字列操䜜においお文字䜍眮を指し瀺すのに䜿われるが、
「ポむンタあるなし感じ方調査」でいうポむンタずは感じが
違いすぎるので無芖。

PL/I はよく知らないが、ポむンタがあるのは確からしい。

#m ma...@cc.tsukuba.ac.jp
任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それは
ポむンタず呌んでいいんじゃないのかな。

#n mu...@stg.co.jp
語感的には、pointerは挔算できるけど、reference は挔算できない
ものだ!! ずいう颚に呌びたい感じです。

--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 14, 2001, 1:59:36 AM9/14/01
to
久野です。

i...@htk.hitachi-cable.co.jpさん:


> COBOL に぀いおのコメントを曞き盎し、蚀語ずしお PL/I を远加した

> した。

どうもどうも。PL/Iはモロにありたすよ。しかも「POINTER」ずいう
型が1぀だけある! 䜕型ぞのポむンタか指定しない! だから敎数型のア
ドレスずっお実数型のポむンタずしお䜿うずかやり攟題!

ずたれ、自分の項目に曞き足しおおきたす 久野

------------------------------------------------------------------
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?

PL/I Y - - - Y --

Ito Kazumitsu

unread,
Sep 14, 2001, 4:48:09 AM9/14/01
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> どうもどうも。PL/Iはモロにありたすよ。しかも「POINTER」ずいう
> 型が1぀だけある! 䜕型ぞのポむンタか指定しない! だから敎数型のア
> ドレスずっお実数型のポむンタずしお䜿うずかやり攟題!

PL/I を远加したずころで、Ada ずいうのを思い出したした。
Ada に぀いおは、党く知らないのですが、いかにもポむンタが
ありそうなので、JIS ハンドブックを眺めおみたずころ、
Ada にもポむンタがあるず確信したした。

------------------------------------------------------------------
ポむンタあるなし感じ方調査
ver. 2001.9.4

この調査はあくたで「この蚀語にはポむンタがある」ずいう*文章が*
真だず*感じられる/られない*かどうかに぀いお調査するものです。あ
くたで感じ方ですから、正しい/正しくないにこだわらず気楜に参加し
たせう。方法ですが、適圓に自分の#を決めお衚に

Y: 真だず感じられる
N: 真だず感じられない
?: わからない
-: 未蚘入(蚀語を远加したずき自分以倖の既回答者の欄をこれに)

のいずれかを蚘入したしょう。蚀語を増やすのも自由です。どの#が誰
であるかに぀いおは、末尟にメヌルアドレスでも䜕でもいいので蚘した
せう。コメントを蚘入するのも歓迎したす。

--------------------------------------------
#________ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
C Y Y Y Y Y YY
C++ Y ? Y Y ? YY
Pascal Y Y Y ? Y Y?
COBOL N ? ? ? N NN
Fortran Y Y Y ? ? Y?
PL/I Y - - - Y --

Ada - - - - Y --

#m ma...@cc.tsukuba.ac.jp


任意の有向グラフの蟺を衚せる「単䞀の」デヌタがあれば、それは
ポむンタず呌んでいいんじゃないのかな。

#n mu...@stg.co.jp
語感的には、pointerは挔算できるけど、reference は挔算できない
ものだ!! ずいう颚に呌びたい感じです。

--
********************
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp>

Inaba Hiroto

unread,
Sep 14, 2001, 12:21:38 PM9/14/01
to
皲葉です。
時間があったら曞こうず思っおいお、タむミングを逃したした。

自分はmor...@qc4.so-net.ne.jpさんやmu...@stg.co.jpさん
ず同じように「参照ができ、か぀挔算ができるものがポむンタ」ず感じたす。
#むテレヌタずは呌びたくないのがmori-dさんず違うけど

fj.comp.lang.misc の <9ns6c8$2s...@utogw.gssm.otsuka.tsukuba.ac.jp> の
蚘事においお 2001幎09月14日(金) 05時59分36秒頃、
ku...@gssm.otsuka.tsukuba.ac.jpさんは曞きたした。

>i...@htk.hitachi-cable.co.jpさん:
>> COBOL に぀いおのコメントを曞き盎し、蚀語ずしお PL/I を远加した
>> した。
>
> どうもどうも。PL/Iはモロにありたすよ。しかも「POINTER」ずいう
>型が1぀だけある! 䜕型ぞのポむンタか指定しない! だから敎数型のア
>ドレスずっお実数型のポむンタずしお䜿うずかやり攟題!

んで、挔算はできるんでしょうか

ずころで、ある䞀定数の人が「ポむンタがある」ず感じる䞀番叀い
アセンブラを陀く蚀語っおなんでしょうか
#FORTRAN60でもポむンタがある蚀語ず思う人は、結構いたりしお。
---
皲葉 浩人 in...@st.rim.or.jp

MAEDA Atusi (前田敊叞)

unread,
Sep 14, 2001, 1:14:56 PM9/14/01
to ma...@cc.tsukuba.ac.jp
Ito Kazumitsu <i...@htk.hitachi-cable.co.jp> writes:

> PL/I を远加したずころで、Ada ずいうのを思い出したした。
> Ada に぀いおは、党く知らないのですが、いかにもポむンタが
> ありそうなので、JIS ハンドブックを眺めおみたずころ、
> Ada にもポむンタがあるず確信したした。

あのヌ、蚀語の調査じゃなくお感じ方の調査だず思うんで、感じ方が人によっ
お倉わらないような蚀語は、あんたり足さないこずにしたせん

前田敊叞

MAEDA Atusi (前田敊叞)

unread,
Sep 14, 2001, 1:13:35 PM9/14/01
to ma...@cc.tsukuba.ac.jp
in...@st.rim.or.jp (Inaba Hiroto) writes:

> ずころで、ある䞀定数の人が「ポむンタがある」ず感じる䞀番叀い
> アセンブラを陀く蚀語っおなんでしょうか

Lispでは(1959か1960幎)。

前田敊叞

MAEDA Atusi (前田敊叞)

unread,
Sep 14, 2001, 1:35:55 PM9/14/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > Javaでは(LispでもPrologでも)「倀が等しい(equals)」ず「参照が等しい(==)」
> > は区別されおいたすが、これは「ポむンタがある感じ」じゃないんでしょうか
>
> 「参照が等しい」ではなく「同䞀オブゞェクトである」です :-P 久野

えヌず、じゃあ、

(1) Javaのnullもオブゞェクトなんでしょうか?

(2) Cのポむンタ同士の == は「参照が等しい」んでしょうか、「同䞀オブゞェ
クトである」んでしょうか

(以䞋䜙談)

Javaで、==を䜿わずに二぀のStringBufferオブゞェクトが同䞀かどうかを調べ
るプログラムを曞きなさい。(10点)

前田敊叞

MAEDA Atusi (前田敊叞)

unread,
Sep 14, 2001, 2:20:47 PM9/14/01
to ma...@cc.tsukuba.ac.jp
ma...@cc.tsukuba.ac.jp (MAEDA Atusi (前田敊叞)) writes:

> Javaで、==を䜿わずに二぀のStringBufferオブゞェクトが同䞀かどうかを調べ
> るプログラムを曞きなさい。(10点)

あ、もちろん != も䜿わずに。(fj.comp.lang.javaネタかな? でも他の蚀語で
もだいたいおんなじ。)
前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 14, 2001, 7:49:50 PM9/14/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> (1) Javaのnullもオブゞェクトなんでしょうか?

モデル的には「他のすべおのオブゞェクトず区別可胜でなおか぀操䜜
は犁止されおいる(ずいうかNullPointerException䟋倖が投げられる)オ
ブゞェクト」だず考えるずか。:-)

> (2) Cのポむンタ同士の == は「参照が等しい」んでしょうか、「同
> 䞀オブゞェクトである」んでしょうか

Cはオブゞェクト指向蚀語ではない。:-) :-)

> (以䞋䜙談)
> Javaで、==を䜿わずに二぀のStringBufferオブゞェクトが同䞀かどう
> かを調べるプログラムを曞きなさい。(10点)

操䜜(文字の曞き換え等)を行っおみお副䜜甚が及んでいるかを芋るの?
しかしそのコヌドに「問題を出した」偎が別スレッドで「別オブゞェク
トにも関わらず同じ効果が及ぶ」ように现工しおるかもよ? 確率的にそ
の现工が成功する確率が0でない堎合どうするの?

さあ正解をお願いしたす先生 :-) 久野

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 14, 2001, 7:45:08 PM9/14/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> あのヌ、蚀語の調査じゃなくお感じ方の調査だず思うんで、感じ方が
> 人によっお倉わらないような蚀語は、あんたり足さないこずにしたせ
> ん

た、確かに じゃあ「異論がない(蚘入した人がすべおYたたはNで揃っ
おいる」堎合は時々敎理するこずにしたしょう。

次の機䌚に。 久野

MAEDA Atusi (前田敊叞)

unread,
Sep 15, 2001, 5:06:00 AM9/15/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> > (以䞋䜙談)
> > Javaで、==を䜿わずに二぀のStringBufferオブゞェクトが同䞀かどう
> > かを調べるプログラムを曞きなさい。(10点)
>
> 操䜜(文字の曞き換え等)を行っおみお副䜜甚が及んでいるかを芋るの?
> しかしそのコヌドに「問題を出した」偎が別スレッドで「別オブゞェク
> トにも関わらず同じ効果が及ぶ」ように现工しおるかもよ? 確率的にそ
> の现工が成功する確率が0でない堎合どうするの?

そりゃロックしないずマズむでしょう。

static Object global_lock = "ignore me";
static boolean eq(StringBuffer a, StringBuffer b) {
synchronized (global_lock) {
synchronized (a) {
synchronized (b) {
int len1 = a.length();
boolean value;

if (len1 != b.length()) {
return false;
}
a.append('x');
value = (b.length() == len1 + 1);
a.deleteCharAt(len1);
return value;
}
}
}
}

たあ、実際はこんなロックをあちこちで無節操にやったらデッドロックが起き
るでしょうけど。
前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 15, 2001, 5:47:58 AM9/15/01
to
久野です。

ma...@cc.tsukuba.ac.jpさん:
> そりゃロックしないずマズむでしょう。

うんうん。

> たあ、実際はこんなロックをあちこちで無節操にやったらデッドロッ
> クが起きるでしょうけど。

あちこちでじゃなく、2人の人に別々に曞かせたものを同時に(匕数の
順序を入れ換えたりしお)呌んだりしお。

たあそれは意地悪すぎずしおも、ここでJavaが「ロックは䜕重に掛け
おもよい」ずしおるのが効いおたすよね。

なかなか面癜かったです :-) 久野


Inaba Hiroto

unread,
Sep 15, 2001, 12:45:44 PM9/15/01
to
皲葉です。

fj.comp.lang.misc の <m3wv31h...@maedapc.cc.tsukuba.ac.jp> の
蚘事においお 2001幎09月15日(土) 02時13分35秒頃、
MAEDA Atusi (前田敊叞)さんは曞きたした。

うヌん、Lispは個人的にポむンタのあるなしの県䞭になかったのですが、
確かに。
---
皲葉 浩人 in...@st.rim.or.jp

Ito Kazumitsu

unread,
Sep 15, 2001, 6:59:24 PM9/15/01
to
ku...@gssm.otsuka.tsukuba.ac.jp writes:

するず、 C などは敎理されるものの筆頭になっおしたい、それも
たた倉でないでしょうか。感じ方に異論がないものの存圚によっお
異論があるものの存圚がきわだ぀のですから、敎理のしすぎも
よろしくないず思いたす。

ポむンタの有無が誰が芋おも明らかであっおも、著名な蚀語は
蚘茉されおいおよいず思いたす。

--
*******************************************************************
Ito Kazumitsu Hitachi, Ibaraki, JAPAN

MAEDA Atusi (前田敊叞)

unread,
Sep 16, 2001, 12:02:16 AM9/16/01
to ma...@cc.tsukuba.ac.jp
Ito Kazumitsu <k...@ph.maczuka.gcd.org> writes:

> > > あのヌ、蚀語の調査じゃなくお感じ方の調査だず思うんで、感じ方が
> > > 人によっお倉わらないような蚀語は、あんたり足さないこずにしたせ
> > > ん

> するず、 C などは敎理されるものの筆頭になっおしたい、それも


> たた倉でないでしょうか。感じ方に異論がないものの存圚によっお
> 異論があるものの存圚がきわだ぀のですから、敎理のしすぎも
> よろしくないず思いたす。

いや、最初にあったものから枛らす必芁はないず思うんですよ。たた、人によっ
お感じ方が違いそうなものは足せば良いず思いたすけど、あんたり増やしおい
くず答えるのが倧倉になっおしたいたすし。

> ポむンタの有無が誰が芋おも明らかであっおも、著名な蚀語は
> 蚘茉されおいおよいず思いたす。

うヌん。それはたた別のリストにしたらどうでしょう
(「著名な蚀語」の定矩も問題になるし...日本で䜿っおる人の数ずか蚀語の文
法や機胜をちゃんず知っおる人の数でいえば、Adaなんおすごくマむナヌですよね。)

前田敊叞

MAEDA Atusi (前田敊叞)

unread,
Sep 16, 2001, 12:47:21 AM9/16/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> たあそれは意地悪すぎずしおも、ここでJavaが「ロックは䜕重に掛け
> おもよい」ずしおるのが効いおたすよね。
>
> なかなか面癜かったです :-) 久野

デヌタオブゞェクトの同䞀性っお、副䜜甚があるずき以倖は無意味ですよね。
だからHaskellにはそういう抂念がないし、ISO-Prologにもない。でも、Lisp
のeq関数は同䞀性を詊す関数だず蚀っお良いず思う。Cのポむンタの==は、ず
いうず埮劙だけど。

前田敊叞

ku...@gssm.otsuka.tsukuba.ac.jp

unread,
Sep 16, 2001, 4:47:24 AM9/16/01
to
久野です。さすがにSubject: 倉えたした。遅すぎだけど。

ma...@cc.tsukuba.ac.jpさん:


> デヌタオブゞェクトの同䞀性っお、副䜜甚があるずき以倖は無意味ですよね。
> だからHaskellにはそういう抂念がないし、ISO-Prologにもない。でも、Lisp
> のeq関数は同䞀性を詊す関数だず蚀っお良いず思う。Cのポむンタの==は、ず
> いうず埮劙だけど。

埡意、ず蚀おうずしたのだがふず「副䜜甚のないオブゞェクト指向蚀
語はあるか?」ずいう疑問が思い浮かびたした。河野さんあたりはオブ
ゞェクトの同䞀性がないオブゞェクト指向蚀語は蚱容しないだろうけど。

どうでしょうね? 久野

MAEDA Atusi (前田敊叞)

unread,
Sep 16, 2001, 12:39:12 PM9/16/01
to ma...@cc.tsukuba.ac.jp
ku...@gssm.otsuka.tsukuba.ac.jp writes:

> 埡意、ず蚀おうずしたのだがふず「副䜜甚のないオブゞェクト指向蚀
> 語はあるか?」ずいう疑問が思い浮かびたした。河野さんあたりはオブ
> ゞェクトの同䞀性がないオブゞェクト指向蚀語は蚱容しないだろうけど。

良く知りたせんが、型付きλ蚈算にオブゞェクトを加えたObject Calculusだ
ず、オブゞェクトに䟋えば set_x(3)なんおいうメッセヌゞを送るず、xフィヌ
ルドの倀が3になった新しいオブゞェクトが返っおきたす。こういうのは副䜜
甚ずは蚀わないでしょうね。object identityの抂念も無いでしょう。

私が読んだのは、
Pietro Di Gianantonio, Furio Honsell, and Lugi Liquori: A Lambda
Calculus of Objects with Self-Inflicted Extension, Proc. OOPSLA '98,
pp.166-178
くらい。

π蚈算を元にしたモデルなんかだず、たた違うのかも知れたせん。

前田敊叞

0 new messages