アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
いい方に考えると (スコア:0)
ポインタバリバリ使ってバギーなコード書かれるよりはましかも。
卒業したらJavaに移行して貰えばいいし。
でもコンピュータサイエンティストなら、アセンブラはやって欲しいけどね。
Re:いい方に考えると (スコア:1, すばらしい洞察)
でも、同じ問題は結局JavaだのRubyだのでも生じますよね。ポインタつーか参照については。
単に症状の出方が違う(いきなりコアダンプするか、NullPointerなんたらExceptionが出るか、の違いというか)だけで。
ポインタって、その概念的原理(つまり、なにかがなにかを「参照」する)と、 C独特の構文と、
の2者さえ理解すれば、逆にいえばたいして難関でもないと思います。
あの程度のことを理解*できない*ような人ならば、情報系の学生だろうが仕事だろうが趣味(フリーソフトとか)だろうが
こっちとしてはちょっと
「ポインタ」は「参照」に非ず (スコア:1)
「ポインタ」は「参照」としても利用できるように設計されていますが、「参照」よりも遥かに広いポテンシャルを持った機構です。ゆえにバグの温床となる。
「ポインタ」はメモリアドレスを示す「値」(+型情報)、「参照」はもっと抽象的なオブジェクトやクラスなどを参照することができるデータ。
例えば、言語屋さんから見ると C 言語には "call by reference" がないように見えるそうです。C 言語が "call by reference" と称しているのは、アドレスを渡す "call by value"。
> でも、同じ問題は結局JavaだのRubyだのでも生じますよね。
コンタミは発見の母
Re:「ポインタ」は「参照」に非ず (スコア:2, 参考になる)
>と称しているのは、アドレスを渡す "call by value"。
C言語の文法と挙動を正確に理解できるようになるために学ぶ段階において、
C言語がcall by referenceだなんて考えたらドツボにはまっちゃうわけで。
あくまでcall by valueと考えるべき。
そう考えることで、初学者にもベテランにも言語屋さんにも、誰にとっても
矛盾なく使える(かつ、なにか重要なものを欠落させるわけでもない)モデルが
頭ん中に構築できるわけで。
言語屋さんには見える、
Re:「ポインタ」は「参照」に非ず (スコア:0)
> 近傍に居るようですが(^^;、まぁそれはそのぉ…って感じ。
こんな言い方したらフレームのもとじゃないですか?
GC(メモリー管理)に触れてなければ言われても仕方ないかと。
Re:「ポインタ」は「参照」に非ず (スコア:1)
フレームと膏薬はどこにでもつきます。ナイーブな人には何でもそう見えます。
それに、いちいち気にするの面倒じゃん。
「自由」にするのを俺はお勧めしてます。つまりナイーブでなくなるのを。
言われて「悔しければ」、それに
Re:「ポインタ」は「参照」に非ず (スコア:0)
先の発言
>でも、同じ問題は結局JavaだのRubyだのでも生じますよね。ポインタつーか参照については。
で御自分が一緒くたにしてたのに何でああいうことが言えるんですかねぇという事です。
もっとも、発言自体は広い意味でのオブジェクトに対するアクセスを参照と言ってる
と思うので、狭い意味での「ポインター」機構と「参照」機構の違いに基づく指摘は
的外れな気がしています。
ただ、C言語で組んでいる時は余りポインターとか参照とかの言葉づかいを意識しないのに
対し、Javaで組んでいる時はその考え方の違いをかなり意識することになります。
そこら辺の感覚の違いから普段何言語をメインにやってるかが文章に滲み出てきている
ような気がします。