「Javaの謎+落とし穴徹底解明」を読まない奴は厨房
1 :
デフォルトの名無しさん :
02/01/09 20:20
2 :
デフォルトの名無しさん :02/01/09 20:25
2 面白そうだな
3 :
デフォルトの名無しさん :02/01/09 20:27
Java を使う奴は厨房
4 :
デフォルトの名無しさん :02/01/09 20:28
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>> Java
5 :
デフォルトの名無しさん :02/01/09 20:29
Javaはシンプルで洗練されたすばらしい言語」「オブジェクト指向は自然で簡単。 素晴らしい概念だ」等々、世間に流れる「Java信奉」「オブジェクト指向信奉」に 惑わされていませんか?第一線で活躍する筆者が「Javaの謎」に取り組み、 そんな信奉にメスを入れます。たとえば「Javaにはポインタがない」という言説の "ウソ"が見事に解き明かされていくさまはまさにスリリング。そして、 Javaの理解を妨げる謎な仕様、わかりにくい機能に鋭く切り込み、 ではどう実践的に使っていけばよいのかを徹底的に解説しています。 「なんだ,結局これだけのことだったのか!」と目からウロコが落ちること受け合い。Javaに挫折した人、今ひとつ理解があいまいな人にぜひ読んでほしい一冊です。
6 :
デフォルトの名無しさん :02/01/09 20:37
7 :
この本はエロくないな :02/01/09 20:38
この本はエロくないな
9 :
デフォルトの名無しさん :02/01/09 20:44
前橋氏ファンの漏れとしては買いだな。
だからさ 筆者じゃないって・・・ 内容はJavaHouseやらで議論されたことをまとめたような感じもある でも結構2chからも拾ってそう・・・
>第一線で活躍する筆者が「Javaの謎」に取り組み、 Java の第一線なんてどこにあるんだ?
立ち読みだけど、おもしろかったよ。 Java厨房と言われなくなかったら読むべき。
13 :
デフォルトの名無しさん :02/01/09 21:00
>>11 銀行の勘定系とか、電力会社の機関管理システムとか
証券会社の取引システムとか、携帯電話の交換機制御とか。
特に日本では、COBOL の後釜に入る例が多いね。
>>Javaに挫折した人、今ひとつ理解があいまいな人にぜひ読んでほしい一冊です。 読む方が……と思うのは俺だけ? とか言ってみるテスト
15 :
デフォルトの名無しさん :02/01/09 21:10
ほんと笑ったよ!すごくおもしろかった。 この本、実用的かどうかとかじゃなくて、読み物としていいと思う。 言ってることもかなり大袈裟だけど正しい。 でも、あんなにJavaが嫌い(著者談)なのに、なんで書いたんだ?
俺も買って読んだし、たしかにおもしろい。 だが なぜスレをたてるんだ。 推薦図書スレでいいではないか。
17 :
デフォルトの名無しさん :02/01/09 21:27
じさくじえんしていました( ・∀・)ありがとうございました ■■■■■■■■■■■■■■■■■■■■■■ ■□□□□■□□□□■■■■■■■□■■■■ ■□■■□■□■■□■■■□□□□□□□□■ ■□□□□■□□□□■■■□■■■■■■■■ ■□■■■■■■■□■■■□■■■□■■■■ ■□■■■■□■■□■■■□■■■□□□□■ ■□■□□□□□■□■■■□■■■□■■■■ ■□■■■□□■■□■■■□■□□□□□□■ ■□■■□■□■■□■■■□■□■■■■□■ ■□■□■■□■■□■■■。:o:ο: ○...□□□□■ ■■■■■■■■■■■。◇◎..,,,O☆.ο■■■■■ /。:゜◎::Oσ☆。∂:o゜, .. / 。○。∂γ:☆O◇。σ. / ◎:.♭☆:ο。:iσ:☆:◎:, .. / ☆。σ:。: o α:θi:ρ☆. | ̄▼ 。○..io.。◇.: ☆ 。.:. ジサクヘイテンデシタ!!_,▲―――――σ :∂io☆ ゜ ジサクヘイテーンデシタ!! ./ (・∀・ )≡≡≡3 シュ!! シュ!! ε≡≡≡( ・∀・) ヽ | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
僕も立ち読みしたけど、 あんまり役に立たないと思って、買わなかった。
tes
「謎な仕様」に思い切りワロタ
> ■第4章 パッケージとアクセス制御 ―謎な仕様を完全解説 やっぱりアレを直観的でないと感じるのは普通だったのね。 よかった。
きっとこのスレ前橋さん読んでるんだろうな・・・ 次はきっとC++本ですよね!
漏れは結構楽しんだぞ。 重いので立ち読みは疲れたが。
アンチマンセー
感想:「2ch」なんて単語は出てこないのに、激しく雰囲気が!!
27 :
デフォルトの名無しさん :02/01/09 23:29
いい本だね。 C VS JAVAスレみたいなのがあったけど、 ひたすらJavaにはポインタが無いって主張してたよなー。 この本を読んで勉強してください。
>Javaにはポインタがない」という言説の "ウソ"が 今更何をって感じではあるがね。
Javaには参照が無い。
>>27 あれは、Cみたいなポインタに対する演算が出来るようなポインタがJavaに
はないというだけの話だったと思うが。
Cマンセー派にとっては、インクリメントできないポインタはポインタ
と呼ばないらしい。(この人たちを刺激しないよう、おいらはJavaのそれを
専ら参照と呼ぶことにしているけど)それが、ポインタあるよ派と話のネタ
の認識が食い違っていたために罵り合いと化したと思われ。
Javaは参照と変数を区別できない。
でもこう書くと、今度はC++マンセー派の過激派が、nullが代入で きる参照なんてない!と言い出すんだよな。いい加減にして欲しい。
33 :
デフォルトの名無しさん :02/01/09 23:51
C++でもできるのでは?
>>32 なんでもありだからな。C++は
JAVAには参照はあるが、イテレータは無い、というあたりでよろしいか。
はあ?どう繋がるんだ?イテレータって。
36 :
デフォルトの名無しさん :02/01/10 00:52
あの本ちょと立ち読みしたけど、ありきたりな本だと 思いまふ。
Java厨房にはオススメ。というか厨房脱却の第一歩かもね。
38 :
デフォルトの名無しさん :02/01/10 01:29
著者自らが宣伝するスレ? ちょっとかこわるいよ。
Javaにはjumpもretiもない。
40 :
デフォルトの名無しさん :02/01/10 20:58
いい本かもよ。
41 :
デフォルトの名無しさん :02/01/10 21:01
どんな風に?具体的意見きぼん。
初心者本で独学でやってる場合 あいまいになりがちなところを しっかり解説してくれる。
スレのタイトルを訂正してほしいなあ。 読んでも理解できないやつは厨房に。
44 :
デフォルトの名無しさん :02/01/10 23:42
文字の大きさをいちいち変えてるところがウザイ。 厨房ウケねらい丸出し。
まあ、Javaが洗練されてない言語だというのは確かだけど。
>>44 まあこういう本読んで厨房が工房ぐらいになってくれれば良いのではないでしょうか?
------------------------謎と落とし穴---------------
>>1 はジサクジエンと宣伝の区別が付かない。(カコワルイ
と書いてみるテスト。
-----------------------------終-------------------
>>44 厨房にこそ読んで欲しい本なので、それでよろしいかと。
とりあえず作者なら書名はまちがわんだろうとはおもうな
俺もこの人の本読んで非常に勉強になった。Cの本2冊だけどね。 厨房くさくてもいいじゃん。実際おもしろいと感じてる人は多いわけだし。 Javaじゃないのでsage。
面白かったよ。安かったので即買ってしまった。 # 好意的なことを書けばすぐ自作自演と決め付ける奴こそ厨房だと思う今日この頃。
>>52 みんな彼の本に特に不満があるわけじゃないと思う。
ただ、それ読んだやつがまるで自分が上級者になったかのように語りだすのがうざい。
別に彼の本を読まなくてもそういったことに自分で気づく人もいるし、他の本で
学習済みのやつもたくさんいる。
それなのに、このスレのタイトルみたいなこと言い出すやつがいるから、煽られるんだろう。
ただ、これだけ反響があるってことはその時点でかなりこの本は成功してるんじゃないかなあ。
読んで感動した人はこの本を脱初心者のためのファーストステップにすればいいんだから。
54 :
デフォルトの名無しさん :02/01/11 21:27
>内容的には結構異論が出る部分も多いが・・・ >「Javaにはグローバル変数がないなんて大嘘」という記述はちょっとおかしい >グローバルとパブリックは全く違うだろ。 >どこからでも見れるからといって「グローバル変数」とは呼ばないはず。 まあ、1の発言内容からして、読者層のレベルはおのずとわかるな。
55 :
デフォルトの名無しさん :02/01/11 21:33
というか、3割くらいは著者が書いてんじゃない? K先生がいないのを見計らって。ちがう?
少し思慮が足りない人をマトモにするのに役に立つと思う。
58 :
デフォルトの名無しさん :02/01/11 22:22
>どこからでも見れるからといって「グローバル変数」とは呼ばないはず。 staticを使えば、グローバル変数ができるよ って、これは既出?
>>58 アクセス制限をつけられるグローバル変数なんてグローバル変数
じゃないやい!
>>44 文字の大きさの話は漏れも感じたね。
Webにおいてある文章ならああいう感じがいいかもしれんけど。
でも、漏れはあの本好きだぞ。
2年前に出てたら買ってたね。
>staticを使えば、グローバル変数ができるよ はつみみです。 public class foo { private static int hoge; ............ } このグローバル変数hogeには他のクラスからどうやってアクセスするのでしょうか?
>アクセス制限をつけられるグローバル変数なんてグローバル変数 >じゃないやい! 適当なことを書くから、混乱してますよ。
JVM が多重化された環境は... こんなダサなのより Effective Java 読もう.
くさかべじゃないが、58はないだろ
66 :
デフォルトの名無しさん :02/01/12 08:04
わかってる人から見れば厨房向けに教育的な書き方してる、ってとこなんだけどね。
67 :
デフォルトの名無しさん :02/01/12 08:04
グローバルage!
68 :
デフォルトの名無しさん :02/01/12 08:05
グローバルマンセー!! グローバルワショーイ グローバルワショーイ グローバルワショーイ
Ruby >>>>>>>>>>>>>> Java matumoto >>>>>>>>>>>>> maebashi
>>65 要するに
>>58 が、あるクラスにpublic staticな変数並べて
グローバル変数として使ってるアホだという事だろー。
アホに掛かればどんな言語も糞言語に成り下がるぜ。
72 :
デフォルトの名無しさん :02/01/12 11:11
Kusakabe先生の宣伝方法をまねようとしてぶざまに失敗した1のいるスレ。 技評さんでは、こういうのはやってるの?
test
変数の性質、スコープと寿命くらい区別して議論できるような人間が本を書いて欲しいな。
75 :
デフォルトの名無しさん :02/01/12 12:13
ていうか正直なところJAVAは勉強する価値あるんすか
>>75 仕事にしちゃうと数年後コボラー扱いになるよ
77 :
デフォルトの名無しさん :02/01/12 12:29
>>64 そうだね、C厨はネットワクのむこうまで考えがおよばないんだろね。
まさにカエルだね。
78 :
デフォルトの名無しさん :02/01/12 12:49
全クラスを多重継承したクラスを作ればグローバルになります。
80 :
デフォルトの名無しさん :02/01/12 12:57
>>78 ばかちゃう?
classloaderってしってる、ボク(w
81 :
デフォルトの名無しさん :02/01/12 13:00
しかしデレファレンス出来ん物をポインタと呼んでいいのだろうか。 (勿論メソッドやフィールドをアクセスする時には暗でデレファレンスされているのですが)
「全クラス」を「全ライブラリクラス」と解釈するアフォども。 「全自作クラス」といっておこう。
83 :
デフォルトの名無しさん :02/01/12 13:20
>>78 Javaは多重継承出来ないよ。
ていうかそれで何するんだか分からん。
あとどうでも良いけどグローバル変数のやりかたは
>>58 のであってるよ。
勿論publicで定義してね。
84 :
デフォルトの名無しさん :02/01/12 13:20
普通何処の世界でもグローバル変数とはある固定されたアドレスで言語を問わずアクセスできる変数の事なのだよ。 インタプリタであるJAVAにこのような芸当が出来るとはとても思えないが。
87 :
デフォルトの名無しさん :02/01/12 13:27
>>84 プ と言われてもねえ。
出来んもんは出来ないし。
Javaは多重継承出来ないなんて言ってるJava房をもてあそんで 優越感に浸れる程私は落ちぶれていませんので寝ます。
89 :
デフォルトの名無しさん :02/01/12 13:32
だから出来ねえっての!
javaの鉄則を著者は読んでないのか?
92 :
デフォルトの名無しさん :02/01/12 13:37
>>86 確かにそういう意味ではグローバルじゃないな。
93 :
デフォルトの名無しさん :02/01/12 13:37
94 :
デフォルトの名無しさん :02/01/12 13:39
>> 86 >インタプリタであるJAVA おお馬鹿(w
もしかして、
>>88 はインターフェイスの継承のこといってるのかなあ。
でも
>>78 はクラスの多重継承のことについて言及してるし、
インターフェイスには名前付定数(public static final)除く通常のフィールドは含まれないし。
このスレこんなに伸びるとは思わなんだ・・・
この本って相当な反響があるみたいだね。 厨房が一人でも減ることを祈ります。
>>97 C言語ポインタ完全制覇が売れまくったもんな。
体当たり学習のほうはいまいちだったようだが・・・
「Java ポインタのココが分からない」 という本を作ればバカ売れしそうな気がする
ある識別子がtopレベルのスコープにあれば、グロ−バル変数だろうな。
101 :
デフォルトの名無しさん :02/01/12 23:06
>>86 その定義のグローバル変数の例を2,3言語挙げてくれないか?
102 :
デフォルトの名無しさん :02/01/12 23:13
103 :
デフォルトの名無しさん :02/01/12 23:16
86じゃないけど peek( &100 ); だっけ? *( char *( 0x100 ) ); ld a,( 100H )
104 :
デフォルトの名無しさん :02/01/12 23:19
86の言葉は深いね。 いろいろ考えさせられるよ。 DNSとか。
107 :
デフォルトの名無しさん :02/01/13 00:45
>>86 グローバル変数=CORBA、ではないかと?
109 :
デフォルトの名無しさん :02/01/13 00:48
で、DNSがJavaではできないと?
110 :
デフォルトの名無しさん :02/01/13 00:54
112 :
デフォルトの名無しさん :02/01/13 00:59
インタフェイス継承 != 継承
クラスが常にグローバルなのがJavaの欠点だろうね。
>>113 意味がわからんす。オブジェクトがってこと?
スコープの話から外れてる?でもアクセスフラグはあるし名前空間はあるし…
一度クラスローダーに握られてしまうと、完全にグローバルになっちゃうからねえ。
>>107 CORBAか。なかなか面白い技術だね。
これがスタンドアロンで出来ればグローバルだと思うが。
Cとアセンブラで言ってしまうと、どちらの言語で定義した変数でも
明示的に外部参照を宣言すれば同じ変数名でアクセスできる。
もちろんアドレスで参照することも。
例としてはCのmain呼び出しはアセンブラで書かれたスタートアップルーチンから呼んでいるからね。
他にも例はいろいろあるけど。
でもクラスローダごとに独立だけど?
120 :
デフォルトの名無しさん :02/01/13 01:25
かつてN88BASICがあった。 なにもかもがグローバルだった。というかスコープという概念すら なかった。 Cが世間を席巻し始めると、 「なんでソースを分けるんだよ!見にくいだろ!」 っていわれてたに違いない。。。
86の意図はわかった。が、今の時代でも通用する定義なのだろうか…。 まぁ著者がCでいうところのポインタではなく、普通の意味のポインタがあると主張する 位だから、グローバル変数についてもCに閉じた世界でのグローバル変数という定義 に縛られない最も本質的(適切)とされる意味のグローバル変数と同じといわなければ ならないのは確か。ただ、86の定義がもっとも適切とは未だ思えない。 著者の反応をまとう。(藁
N88BAISCでソース分けるのは常識。ふつう CHAIN するだろ。
あるVMインスタンスで、複数の異なるクラスローダーを同時に使うことってできたっけ?
>>122 また一つ賢くなった。
そうか、SHARP−BASICとかとは違うんだ…。
おいおい今そんなことで賢くなって(略
126 :
デフォルトの名無しさん :02/01/13 01:49
実際は、メモリが足りなくて、仕方なくCHAINしてたんだけどな(笑)。
>>107 RMIでJava専用共有メモリもどき。
古くてスマソ。
>>19 >僕も立ち読みしたけど、
>あんまり役に立たないと思って、買わなかった。
前に「C言語ポインタ完全制覇」をネタにと買って読んだら面白かったから、
この本もネタにと買ったけど、何をそんなに声高に叫んでいるんだ?と
糞本ぶりにがっかりした。参照は参照として理解すりゃいいだろうに。
内部事情のポインタの話を引っ張りださんでも普通に理解できるでしょう。
本のタイトルがC/C++プログラマのためのJavaうんたらかんたらとかに
してればあの内容でも不満はないけどさ。
後、文章が「C言語ポインタ完全制覇」のときより全体にくどさが増した。
特に大量の注釈がうざかった。外出だが、2chノリだな。
>>42 >初心者本で独学でやってる場合
>あいまいになりがちなところを
>しっかり解説してくれる。
でも、(C/C++経験者ではない)初心者にはお勧めできん。
>>128 >後、文章が「C言語ポインタ完全制覇」のときより全体にくどさが増した。
>特に大量の注釈がうざかった。外出だが、2chノリだな。
うん、そうなんだけど、それが前回も今回も売れた理由じゃないか?
まじめにだらだら書いても、そんな本いっぱいあるからさ・・・
> 複数の異なるクラスローダーを同時に使うことってできたっけ? 当然だろ、ボケ
一味違った Java プログラマを自称したい厨房のための本です
次はC++でおねがいシマス
133 :
デフォルトの名無しさん :02/01/13 17:29
C++ 版が出たら買うかも。 でも正直 Java にはポインタある派はうざい。ポインタって どういう意味で使っているのやら。少なくとも C のポインタ とは違う意味で使ってるよな。
>>133 null pointer exception 例外の pointer とは?
135 :
デフォルトの名無しさん :02/01/13 17:40
ここって馬鹿のすくつだーね。 それともポンのレベルってこんなもの?(w
>>135 まあまあ!
C使いは * 見ないと落ち着かない変態なんだからさ。
許してやってくれよ。
>>133 ポインタは、何か(Java だとインスタンス)をポイントするものだろ。Java にポインタがある派は、
次の定義に基づいて書いてると思われ。
ポインタ
何かをポイントする
ポイントしているものを実行中に変更することを許す
何もポイントしない (null) 状態を許す
ポインタ演算の有無については無視
参照
何かの別名
実行中に参照しているものを変更することは許さない
実体は常に存在する
>>137 その「参照」はC++のものでしょ。それは普通の定義じゃないと思うぞ
Delphiのはポインタかいなか
普通の定義って何?
漏れの感じたのはまさに137が言ってるところだな。
CのポインタとJavaに「ポインタ」があると言ってる人の言うポインタは
「ポインタは"指し示す"という意味で同じもの」というだけで、
Cのポインタとは違うじゃんってこと。
何か主張したいなら、そいつの主張するポインタの定義をしないと意味なし。
で、あの本ではそこんとこ無視して、ポインタしかないとか言ってるだけ。
言いたいことはわかるが、Javaでは参照って呼んでいて、それが根源的には
Cのポインタと同一でも、実装として同じ機能ではない。
>>134 指し示すって意味以外の何者でもない。Cのポインタと同義だって書いてあるか?
>>142 「Java にポインタがあるかどうか」は所詮は言葉の定義の問題だからどうでも良いんだが、C, C++
プログラマがこれに反発するのは
a) Java にはポインタがない
b) だからプログラムでバグが出にくい
という売り文句がセットになってるからだと思うよ。(a, b で「ポインタ」の意味が微妙に違う)
Java になって消えるポインタがらみのバグと言うのは
1 解放してしまった領域に対するポインタ参照 (dangling pointer 問題)
2 ポインタ演算により不正な領域を指してしまう問題
の二つだけで、その他の問題は依然として残るもの。
144 :
デフォルトの名無しさん :02/01/13 21:08
Kusakabe先生の宣伝方法をまねようとしてぶざまに失敗した1のいるスレ。 技評さんでは、こういうのはやってるの?
145 :
デフォルトの名無しさん :02/01/13 21:41
まあポインタが無いとプログラムしずらいのは確かだな。 バグが出るのはそれだけ言語仕様が柔軟に出来ているからで使い方によれば そりゃバグも出ますよ。配列の要素数なんてコンパイラでチェックしてないし。 でもこういったアセンブラよりの言語で無ければプログラムできない世界があるのもまた事実(IPL等)。 あとデータ管理を高速で柔軟にしようと思ったらCの構造体のポインタが最強だと思う。 JAVAだとデータのアライメントは事実上管理できないし。 それよりあの使用に耐えられない中途半端なビット演算は はっきり言っていらないんじゃないか。 unsigned型がなく、実行速度なんて考慮していないJAVAでは何のために使うのだ。
146 :
デフォルトの名無しさん :02/01/13 22:15
ポインタって、アドレスを格納する変数の事を言わない? CとC++ではそうだけど・・・ JAVAのオブジェクト変数の中にはアドレスが入ってる。 まあ、だからポインタだようね。 データのアライメントってどういう意味? とりあえず、Cで作れるデータ構造は全部JAVAで作れるよ。 unsigned型がない事がなぜにもんだいなんだか・・・ javaのcharはunsignedだし、 他の型では2の補数表現である事があらかじめわかってるJAVAは ビット演算使うのに、実験する必要がない。 ちなみに、C,C++より2つ機能が多いのですが・・・ まあ、あれは便利だよ。 >でもこういったアセンブラよりの言語で無ければプログラムできない世界があるのもまた事実(IPL等)。 そのためにJVMがあるんだよ。 >実行速度なんて考慮していないJAVAでは何のために使うのだ。 情報系の論文を読んでもらえばわかるけど、 科学者の間ではJAVAとLISPが標準
147 :
デフォルトの名無しさん :02/01/13 22:22
>>146 JAVAでJVM作れますか。
>>146 とりあえず話しにならないからCPUについて勉強しなおせ。
通常1アドレスに何バイトのデータがあるかも知らないようだな。
こうゆうJAVAしか知らないような奴がでしゃばるから
こんな本が出るんだな。
>>146 > unsigned型がない事がなぜにもんだいなんだか・・・
MD5 とか実装しようとすると signed だと面倒だぞ。
> 情報系の論文を読んでもらえばわかるけど、
> 科学者の間ではJAVAとLISPが標準
そりゃ、分野が偏ってる気がするが。ソフトウェア工学だと SmallTalk と言われるし、数値計算だといまだに
Fortran が主流だったりする。
>>145 > あとデータ管理を高速で柔軟にしようと思ったらCの構造体のポインタが最強だと思う。
最強はやめとけ。厨房風味がきつすぎ。
>JAVAでJVM作れますか。 メタインタープリターでよければ。 数値計算でフォートランっていつの時代の話ですか? 最近のスーパーコンピュータはCで書くのが普通ですが。 ソフトウエア工学もJAVAですが・・・
>Fortran が主流だったりする。 DSPはC
152 :
デフォルトの名無しさん :02/01/13 22:55
>>150 > 最近のスーパーコンピュータはCで書くのが普通ですが。
Fortranの方が良いコードがでるから、まだまだ良く使われて
ると思うけど。
> ソフトウエア工学もJAVAですが・・・
ソフトウェア工学ってアメリカじゃもう流行が終わちゃってるし。
そもそもRationalとか、それ用の言語/ツールを使うんじゃな
いの?
>>150 >JAVAでJVM作れますか。
>>メタインタープリターでよければ。
そのJVMでシステムが完結すると言う発想が何処から出るのか理解できないよ。
おまけにJVMの動作も全然わかってないようだ。
どんな製品でもJAVAのみでシステムが完結するものはない。
いくらJAVAチップ積んでる物でもな。
どうでも良いけどIPLぐらい知っておけ。
>>150 > 最近のスーパーコンピュータはCで書くのが普通ですが。
今の話だが。理論物理学界隈なんだが、過去の資産(人間も含む)の問題と、コンパイラの最適化が C より
Fortran 方が優れてる点が多くて、なかなか全面的に C に以降できんらしい。
> ソフトウエア工学もJAVAですが・・・
ああ、SmallTalk only というつもりはない。SmallTalk 「も」使われてると書くべきだったね。
最近の流行だとアスペクト指向プログラミングなんてのがあるけど、あれも Java 以外に C (AspectC) とかも
あるし。OS のキャッシュシステムを AO で書き直してスッキリさせよう、とかいう話だと Java の出番は無いの
よ。
155 :
デフォルトの名無しさん :02/01/13 23:25
ソフトウエア工学って言っても言語設計なわけで JVM用のバイトコード吐くようにつくってるよ。 >Fortran 方が優れてる点が多くて、なかなか全面的に C に以降できんらしい 2,3年前の話ですか? 並列演算をサポートしていないコンピューターの話ですか? >そのJVMでシステムが完結すると言う発想が何処から出るのか理解できないよ。 ソフトウエアを作る話と、CPUが実行するコードを作る話と 混ざってない?
156 :
デフォルトの名無しさん :02/01/13 23:26
並列演算って書いちゃった・・・ 並列計算だね。
>>155 > 並列演算をサポートしていないコンピューターの話ですか?
俺は数値計算はよく知らんが OpenMP って Fortran 用の規格も決まってなかった?
>>155 これは>146の
>>でもこういったアセンブラよりの言語で無ければプログラムできない世界があるのもまた事実(IPL等)。
>そのためにJVMがあるんだよ。
に対してのレスでもある。
>>155 > 2,3年前の話ですか?
> 並列演算をサポートしていないコンピューターの話ですか?
Kusakabe じゃないんだから、疑問形で返さずにソース示して
「ほら、いまなら C の方が最適化進んでて、最近のプロジェクトは Fortran 使ってないんだよ」
と書けよ……。
並列分散処理とかだと、まだまだFORTRAN、現役みたいだね。
161 :
デフォルトの名無しさん :02/01/13 23:57
>ポインタと参照 Cの参照渡しは、C++登場以降に再評価すると、 実はただの、ポインタの値渡しだったっていう例もあるように、 ポインタとか参照とかは、言語が定義するもんでないの? もう、議論おわっちゃってるみたいだけど。
つか、ポインタか参照かは、実装方法では区別つかないってことかな
163 :
デフォルトの名無しさん :02/01/14 00:10
ポインタはアドレスの演算が出来る変数。 参照はオブジェクトのアドレス内のデータに対して演算が出来る変数。 何度も言わせるな。
普通の定義ってのはどうなったのですか
>>163 典拠は? 俺はそう定義した、って話なら何ら異論は無いけど。
166 :
デフォルトの名無しさん :02/01/14 00:21
146, 具体的な話になったら途端に書き込みがなくなったな…。それなりに面白い話も出てくるかと思ったのに。
>>146 > ポインタって、アドレスを格納する変数の事を言わない?
> CとC++ではそうだけど・・・
C, C++ だ、逆にとアドレスを格納するとは限らん。最近のプロセッサだと、リニアな仮想メモリ空間を提供して
いることが多いから
ポインタ値=アドレス値
というケースが大半だが、たとえば DOS の NEAR ポインタだとアドレス値ではなくセグメント内オフセットを格
納している。これは物理アドレス、仮想アドレスいずれの意味でも「アドレス」ではないよね。
168 :
デフォルトの名無しさん :02/01/14 00:47
>>150 少なくとも、俺のいた土木関係(特に構造系)の研究室、
および交流のある海外の大学の研究室では、
Fortranは主流だったよ。
Fortranは標準で複素数が扱えるので、小難しいことを覚えなくても
式をプログラムにできるのが好きだった。
>>167 亀レスすまん。お風呂タイムだった。
てゆうか、言語仕様上C++だと
int hoge
func( hoge );
printf("hoge=%d",hoge);
func( &ref ){
ref++ =100;
}
はアドレスで引数渡しているが101と表示されるのに対してポインタだと100と表示される。
つまりポインタではアドレスをインクリメントしているのに対して、
参照では呼び出し元のhogeの値をインクリメントしてんのよ。
この動作がJAVAのオブジェクト引数と似ているわけ。
それと16bit境界でのセグメントとかページングってのはx86に固有の概念だ。
最近のCPUでは32bit中の16bitでセグメント分けなんてしてなくて28bit
まではリニアアドレスで使える物がほとんどだ。上位4bitを使ってMMUを実現している。
MMUが無ければ32bitリニアアドレスでアクセスできる物もある。
つまりポインタではOSによるメモリ保護機能が無ければ
int *hoge = 0x1000;
if( hoge == fffffff ){
*hoge++=0x00;
}
なんて事も可能。
と言うかヒープとかのデータ領域はセグメントを定義して
このように0で初期化しますからね。
>>167 C++ のメンバ関数やメンバ変数に対するポインタも、アドレスじゃないな。
下のhogeはintではなくてunsigned charが適切だな。
>>169 何が言いたいのかわからんが、コンパイル通らない事は確かだ。
>>169 > それと16bit境界でのセグメントとかページングってのはx86に固有の概念だ。
嘘つけ。
ページングは「まっとうな」プロセッサならたいていサポートしてるし、そもそも x86 だと標準のページサイズ
は 4096 バイトだ。PSE を使うと 4MB ページも設定できるが、いずれにせよ 16bit なんてサイズのページは
サポートしてない。セグメントも 16bit かどうかはともかく x86 以外でもサポートしてるプロセッサは存在する
ぞ。
あと Fortan は過去の遺物だとか、情報系は JAVA ってのは、結局は裏づけなしなのか? 俺はそのあたり
は詳しくないから、面白い話が聞けるかと思って期待していたんだが。
>ページングは「まっとうな」プロセッサならたいていサポートしてるし、そもそも x86 だと標準のページサイズ >は 4096 バイトだ だから他のCPUでMMUでアクセスするアドレスが論理アドレスだっつうの。 あと16bitと言うのはあんたがDOSの事言ってたんで86互換ののプロテクトモードの話をしただけ。 そりゃ386以降なら16bit〜32bitまで指定できますよ。 でも互換モードであれば16bit。 >セグメントも 16bit かどうかはともかく x86 以外でもサポートしてるプロセッサは存在する >ぞ。 基本設計が比較的古いプロセッサ。 >あと Fortan は過去の遺物だとか、情報系は JAVA ってのは、結局は裏づけなしなのか? 俺はその話は詳しくない。 なんかぼけてて169はめちゃくちゃなコードだけどif文のあたりの 比較と16進数を適当に直して呼んでくれ。そこはすまん。
>>174 横から口をはさんで悪いが、要するに「C/C++ のポインタはアドレスだ」と言いたかったの?
146 までさかのぼって読んでみたけど、そもそも何を主張したいのか良く分からん。
146 が突込みどころ満載なのは分かったけど(w
176 :
デフォルトの名無しさん :02/01/14 05:12
>だから他のCPUでMMUでアクセスするアドレスが論理アドレスだっつうの これだけ見ると、「MMUが物理アドレスでアクセスしなくてどーすんの?」ってつっこみたくなる。 >86互換のプロテクトモード これ意味不明。8086互換でプロテクトモードって、286のプロテクトモードで セグメントディスクリプタを16バイトごとに並べたようなものか? もし、286以降のリアルモードや386以降の仮想86モードを指すなら、 8086系のセグメントは16バイト境界、つまり4bit境界ね。 つか、なんつか146は、もうすこしアドレスのマッピングについてお勉強してほしいと切に願う。 願うだけだが。
146じゃないが、 86系のメモリマッピングなぞ勉強したら頭腐るだろ! 目を覆うぞ。普通。
!広告!
179 :
デフォルトの名無しさん :02/01/14 06:43
import java.applet.Applet; import java.awt.Graphics; public class Hello extends Applet{ public void paint(Graphics g){ g.drawString("Hello",25,25); } } このソース、コンパイルはできるんですけど、ランタイムエラーがおきちゃうんですけど、どうしてですか?
181 :
デフォルトの名無しさん :02/01/14 06:56
んと、java Helloです。
アプレットはそれでは実行できないんだよ
183 :
デフォルトの名無しさん :02/01/14 07:02
ああーあ(汗 appletviewerでした! すみませんでした、ありがとうございます
184 :
デフォルトの名無しさん :02/01/14 07:31
前橋さんだっけ?ここまでやるのは頭が下がりますな。 まあ、このスレだけのようだから、K先生と一緒にするのは間違いだが。
185 :
マジ糞スレだね :02/01/14 09:55
Fortran が速いっていつの話をしてんだろ。
186 :
デフォルトの名無しさん :02/01/14 09:58
徹夜のジサクジエーンご苦労様です。 そんな暇があったらもっとJavaでもなんでも勉強せーよ。前橋せんせー。
>177 たぁしかに(w
次に出す本は「Fortranの謎+落とし穴徹底解明」です。
189 :
デフォルトの名無しさん :02/01/14 10:28
>>186 そだね。次は
「2ちゃんクソスレの謎+落とし穴徹底解明」
で、自作がばれない方法やさらされない方法を解説きぼん。
その次に出す本は「ROM-COBOLの謎+落とし穴徹底解明」です。
その次は「2ちゃんねる 体当たり糞スレ立て徹底入門」です。
その次は「2ちゃんねる 糞スレ対処徹底解説」です。
193 :
デフォルトの名無しさん :02/01/14 11:12
「作ってわかるクソスレッド」 あ、著者違いか。
「荒らしてわかる2ch」モナー
Fortranつったら意味不明ラベル、goto乱発のソースを思い出しちまうよ。
「クソスレ、立ててませんか?」
「糞スレを立てる100の技」
「糞スレを256倍たのしむ本」
199 :
デフォルトの名無しさん :02/01/14 12:37
「糞スレあげ荒し」
「Effective arashi」
「極める ビジュアル糞スレ 基礎にしてネタ心者お断り」
「独白 糞スレ」
「Extreme 糞スレ」
「厨房言語 オマエモナー 第2版」
「スレ荒らし なぜ糞スレは混乱するのか」
「荒らし嗜好における厨房の為の糞スレパターン」
「STA(スタンダートテンプレート揚げ荒らし) 標準テンプレートAAによる厨房アゲ荒らし」
「冗談でしょう? あげ荒しさん」
210 :
デフォルトの名無しさん :02/01/14 13:08
>> 155 > ソフトウエア工学って言っても言語設計なわけで うーん,何かへんだな.言語の設計の研究はソフトウェア工学 (software engineering)とは言わないよ,普通.
前橋も気の毒に。 日下部と同類として扱われ始めてるよ・・・。
でも、Rubyの参照はポインタだと頑強に主張したりして、かなり我が強いところは確かだな。 ただの言葉遊びで、どっちだろうがさして重要じゃないことなんだが。 その辺は某日下部と似てるな。
213 :
デフォルトの名無しさん :02/01/14 13:44
前橋本では、まず「ポインタ」の定義はしてあるのか?
214 :
デフォルトの名無しさん :02/01/14 14:49
>>176 >これだけ見ると、「MMUが物理アドレスでアクセスしなくてどーすんの?」ってつっこみたくなる。
MMU、ページング、キャッシュ、仮想記憶、メモリ保護機能について勉強しろ。
CPUが出力するのが論理アドレス。MMUが計算し実際に出力するのが物理アドレス。
>8086系のセグメントは16バイト境界、つまり4bit境界ね。
訳解らんことを言うな。アドレスの計算ぐらい出来ろ。
4bitは万国共通で2バイトだぞ。
x86互換モードが存在する以上それでアクセスするにはセグメントディスクプリタの
指定を16bitにしないとアクセスできない。80286以前は16bitCPUなのだから。
つまり64kbyte以上のデータを扱う場合は複数の連続したセグメントに分けて
記憶しなければならなく、プログラム上でアドレス指定する場合
ベースアドレス+オフセットの形式をとらなければならない。
いずれにしてもポインタを使い計算して値を指定すれば物理アドレスでアクセスできるので問題なし。
JAVAでは任意のアドレスを指定して値を出力すると言うことが出来ない。
対象はあくまでオブジェクト。
>>214 > 4bitは万国共通で2バイトだぞ。
すごい電波だ。1 byte = 9bit とかのアーキテクチャは見たことあるが、1 byte = 2bit ってのは
さすがに知らないなぁ。
そこは勘違いした。1アドレス=1bye=8bitではそうです。
っていうか、寝ますよ俺だって(w スーパーコンピューターで、Cコンパイラの提供率はほぼ100%に なってきた事がどういう事か理解できる? 今までFortran用しかなかったライブラリも、 C用のものが売り出されてる。 もうFortranだけ売ってたら商売が成り立たない。 ここ最近のFortranってそんな感じ。 DSPをCで書くのは常識なんだけどな・・・・ DSPは数値計算の枠組みに入ってないのかも。 アドレスも議論がなされてるけど、 根本的にアドレスってのは、データがどこに格納されてるかという情報なわけだから どっかからのオフセットだろうとなんだろうと、関係ないだろ? 特に仮想メモリでもなんでもいいけど、その場合は補助記憶装置の 記憶領域の場所なわけで・・・・ 根本的に間違ってるのは、Cの話をしてるのに なぜにx86なりなんなりの固有のアーキテクチャの話をしてるのかが わからん。だいたいOSが介在してくる部分が大きいのに・・・ 例えば、ものすごくシンプルなCPUを設計して それ用のCコンパイラを作る事を考えてみろよ。 でもってポインタの部分を、どう機械語に変換するか考えてみろ。 ちなみに169は俺じゃない事くらいはわかってるのかな・・・・ Javaに関しては、人工知能のプロジェクトでも探してもらえれば わかると思います。 WEBに載ってるのはごく少数なので、 東工大の研究室にでも遊びに来てもらえれば・・・ っていうか++はつけてないところに、ツッコミは来ないと思うが 念のため・・・・
>>217 ひとつアドバイスだが、これ以上恥を書かないように実名(研究室名)は間違っても出さない方が
いいぞ。今なら一介の名無しさんで済む。
219 :
デフォルトの名無しさん :02/01/14 15:33
>>218 ちゃんと来るって確信できる人にしか教えないっすよ(w
220 :
デフォルトの名無しさん :02/01/14 15:36
>>217 >スーパーコンピューターで、Cコンパイラの提供率はほぼ
>100%になってきた事がどういう事か理解できる?
それでも最適化に関してはFortranに一日の長があると言うのが
一般的な認識だと思う.
>Javaに関しては、人工知能のプロジェクトでも探してもらえれ
>ばわかると思います。
何がわかるのかな?最近の「人工知能のプロジェクト」はみんな
Javaを使ってる,とでも言いたいのかな?
実際には,そんなことはないけど.だいたい今どき「人工知能」
って言葉自体,意味が拡散しすぎて曖昧.古き良き時代の仕事に
ついて言うのならともかく.
>WEBに載ってるのはごく少数なので、
研究成果をウェブに載せないのは良くないよ.最近では論文のPD
Fも自分のウェブで提供するのが当り前(というか活発な研究者な
ら皆そうしてる)
>東工大の研究室にでも遊びに来てもらえれば・・・
大学名を出すところなんか,妙に権威主義的じゃない?
221 :
デフォルトの名無しさん :02/01/14 15:41
>>東工大の研究室にでも遊びに来てもらえれば・・・ >大学名を出すところなんか,妙に権威主義的じゃない? はぁ・・・。
あれだろ、Java使って潰れた人工知能ベンチャー。 Cに切り返れば数百倍速くなるのに気付いて方向変えようとしたけど 手遅れで倒産。
>>220 > 実際には,そんなことはないけど.だいたい今どき「人工知能」
> って言葉自体,意味が拡散しすぎて曖昧.
そういえば、「人工知能とは、まだ問題が定式化されていない分野を研究する学問のことだ」と
言ってた人がいるなぁ。東工大の先生(当時、今は知らない)だけど。
224 :
デフォルトの名無しさん :02/01/14 15:51
>>217 > DSPをCで書くのは常識なんだけどな・・・・
> DSPは数値計算の枠組みに入ってないのかも。
DSP、DSPって、だいたいDSP用の言語処理系ってアセンブラとCくらいしか
ないじゃん。それに計算機科学の中でDSPべったりの研究なんて多くない
でしょ。(というかマイナーだな)
>実際には,そんなことはないけど.だいたい今どき「人工知能」 >って言葉自体,意味が拡散しすぎて曖昧.古き良き時代の仕事に >ついて言うのならともかく. エキスパートシステムって書くと、なんかイメージ湧かないかなって・・・ >実際には,そんなことはないけど Java一色って意味じゃなくて、他の言語と組み合わせる事が 多いですが 1999年以降に企画されたもので JAVAが絡んでないものってありましたっけ? というか、正直に書けばメジャーどころしか知らない んですが。
>>「人工知能とは、まだ問題が定式化されていない分野を研究する学問のことだ」 むしろ、定式化できない分野って感じ? DSPは プログラミング言語と同じ「手段」 目的を実現させるための道具にすぎないね。 で、アセンブラなんて使うんすか? >大学名を出すところなんか,妙に権威主義的じゃない? もし、本当に知りたい人がいれば・・・という意味なんだけど。
>>217 > スーパーコンピューターで、Cコンパイラの提供率はほぼ100%に
> なってきた事がどういう事か理解できる?
それだけ C 「も」使われるようになってきたって事でしょ。逆に Fortran の提供を切り捨てたって話は
聞かないが。
> アドレスも議論がなされてるけど、
何を主張したいのか謎だな。話が拡散してるので(それが BBS の醍醐味ではあるが)、少し論点を
絞って、適当に引用入れてくれ。
>>226 > むしろ、定式化できない分野って感じ?
さぁ。ちなみに、その先生は Lisp でも Java でもなく Prolog 屋さんでした。
>それだけ C 「も」使われるようになってきたって事でしょ。逆に Fortran の提供を切り捨てたって話は >聞かないが まあそうだね。 Cの勢力が拡大してるくらいにとっといて・・・ でさ、実際のところを聞きたいんだけど 20代でスーパーコンピュータ触ってる人で Fortran使ってる人っている? 化学の実験の測定で使ってますとかは無しで・・・ >何を主張したいのか謎だな。 Cのポインタはメモリアドレスだ、という事で・・・ >ちなみに、その先生は Lisp でも Java でもなく Prolog 屋さんでした おいおい(w まあ、Prolog単体で使ってる人なんていないので。
> Cのポインタはメモリアドレスだ、という事で・・・ まだ、このネタ引っ張ってたのか。 約一名以外はもう結論出てるから、いいって。
>何を主張したいのか謎だな。 Cのポインタはメモリアドレスだ、という事で・・・ もっとまっとうな説明をしろ。 演算子としての機能が異なるだろうが。 だから勘違いする人間がごろごろ出るのだ。
68系のメモリマップドI/OなCPUだとポインタでI/Oを連続してアクセス できるので、その点はポイントが高いと思うが。
233 :
デフォルトの名無しさん :02/01/14 17:45
誤 だから勘違いする人間がごろごろ出るのだ。 正 馬鹿だから勘違いする人間がごろごろ出るのだ。
いい加減に sage を覚えろ、バカ。
235 :
混乱してる初心者 :02/01/14 18:04
>>217 >根本的にアドレスってのは、データがどこに格納されてるかという情報なわけだから
>どっかからのオフセットだろうとなんだろうと、関係ないだろ?
>特に仮想メモリでもなんでもいいけど、その場合は補助記憶装置の
>記憶領域の場所なわけで・・・・
すいません、よくわかりません。
これってポインタがファイルを指せるってことですか?
236 :
デフォルトの名無しさん :02/01/14 18:04
だからー前橋本ではポインタの定義してないのー?
237 :
Maehashi :02/01/14 18:05
>>234 ばか言ってんじゃない!下げたら宣伝にならんだろが。
よく考えて発言しろ。ぼけ!
>>235 146 は中途半端な理解で書いてて意味不明な箇所多数なので、初心者は読まないほうが
良いと思われ。(突っ込みいれてからかう分には、いい玩具だが)
気にせずタネンバウムやヘネシー&パターソンの本を読みましょう。
>>238 わかりました、どうも。
ポインタはファイルは指せないで、いいんですよね?
>>239 いや、仮想記憶の実装によっては出来る場合もあるんだけど。ただ「ポインタ」だから指せるという次元の
話ではなくて、仮想記憶サブシステムの設計の根幹にかかわってくる話。裏で動いてるシステムは割と
複雑。
UNIX 使ってるなら mmap(), Win32 なら OpenFileMapping() とか調べてみると良いかと。
間抜けですみません。
宣伝ご苦労様でした
俺もかよ!
正直、前橋本はどうでもいいが、このスレは楽しませてもらった。 ■■■■■■■■■■■■■ 終了 ■■■■■■■■■■■■■
ようするに、前橋氏は 「グローバル変数が無い」はウソ != 「グローバル変数がある」 っていう、日本語の事を言ってるんであって、 Javaにグローバル変数があるかないかについて言っているわけではないのね。
>>236 立読みした範囲では、Pascalの例をひいてポインタの定義をしてる感じだった。
249 :
デフォルトの名無しさん :02/01/14 20:22
実際このスレはおもしろいな。 どす黒いタールのようにまとわりつく粘着煽りと それを完璧に無視して進むみょーーにさわやかなレス群。 >気にせずタネンバウムやヘネシー&パターソンの本を読みましょう。 >わかりました、どうも。 煽りの中でこんなさわやかなレスがずっと続くような2チャンじゃないだろ。 書いててはずかしくないんかい?先生。
>>249 > どす黒いタールのようにまとわりつく粘着煽りと
> それを完璧に無視して進むみょーーにさわやかなレス群。
両方やってますが、何か?
>>247 氏の文体は冗長で意図を汲み取りにくいな。
252 :
デフォルトの名無しさん :02/01/14 21:21
言い訳は分かったから早く C++ 本も書けや!俺のために!!
>>252 既に数多ある C++ 本に、どんな一冊を付け加えたいんだ?
すっきり ぽっきり
参上
作ってわかるJavaプログラミング。 プログラミング言語Java。 はやくだせ。
257 :
デフォルトの名無しさん :02/01/14 21:49
やった 2^8 うれしいYO
読んでるんだったら要望を出しちゃおう。 塚越さんの本が絶版なのでDelphi本書いてくれないかな。
261 :
デフォルトの名無しさん :02/01/14 22:38
まずファイルの定義が必要だと思われ。
>この板はともかくこのスレなんて読むわけないだろ 読んでるじゃん。前橋先生、おちゃめ。(藁
オネアミス age ! 前橋先生。今度は EVA で JAVA を語って下さい。
264 :
デフォルトの名無しさん :02/01/15 00:08
ぼろぼろですね。
265 :
デフォルトの名無しさん :02/01/15 00:17
http://member.nifty.ne.jp/maebashi/nazojava/hosoku000.html#global これ見てちょっとむかついたんだけど・・・
>しかし、2ちゃんのような場所では、往々にして、本もスレッドの流れも読まずに反応してくる人がいるわけでして...
>
>58 :デフォルトの名無しさん :02/01/11 22:22
> >どこからでも見れるからといって「グローバル変数」とは呼ばないはず。
> staticを使えば、グローバル変数ができるよ
> って、これは既出?
>
>
>既出っていうか... 本の方にはそう書いてあります
58って俺なんだけど、
何でこいつの本読まなきゃいけないんだ??
調子ぶっこいてんじゃねーよ。
その程度の事だったら、変わりに俺が書いて
金儲けしたいくらいだよ。
別におまえたいした事無いって。
つーかさ、
>私は、自分の本に関して、「2ちゃんねる」に書き込んだことは過去一度もありません
ROMはやめろよ。
とりあえず、読者全員にフィードバックしたいなら
2chの例を上げないで普通に説明しろ。
2chに興味ない人間が見たらどう思うか考えろ。
2chをみてる奴にフィードバックしたいなら、
2chに書くのが礼儀だろ。
まあ、作者さん見てるわけだから
意見があれば、何かしらかきこんでくださいね。
次からは、礼儀を守って書きますんで。
で、作者である証拠をホームページの方にでも
ちらつかせていただければ、けっこうですから。
266 :
デフォルトの名無しさん :02/01/15 00:29
もうつっこむのやめよう...と思ったんだけど、もう一度だけ。
上のレスのリンク見たら、
http://mentai.2ch.net/prog/kako/983/983870222.html ってのがあった。気味悪すぎ。新興宗教の勧誘みたいだよ。
1 名前: 仕様書無しさん 投稿日: 2001/03/06(火) 18:17
いいのがありました。著者は2チャンネラー風です。今まで無かったタイプの本です。
2 名前: 仕様書無しさん 投稿日: 2001/03/06(火) 18:18
あったなら書名と出版社、作者書け!
3 名前: 仕様書無しさん 投稿日: 2001/03/06(火) 18:19
>>1 誰の?なんてゆー本?
前橋 和弥 「C言語 ポインタ完全制覇」 技術評論社
じゃねーだろーな
4 名前: 仕様書無しさん 投稿日: 2001/03/06(火) 18:46
>3
正解!よくわかりましたねえ。実にサッパリした良い本でしょう。
>2chに書くのが礼儀だろ。 騙りがいるからじゃない?騙っているつもりが無いレスにまで自作自演とかの賜う輩もいるし。 トリップ使ったって自作自演でないことは証明できんからね。そんな場所にははなから 降臨しないと明言しておく方が得なのは明らか。 普通はフィードバックがほしいなら氏の掲示板なりで書けってとこなのに、反応してくれ てるだけましとも言える。もちろんKusaは例外。 >何でこいつの本読まなきゃいけないんだ?? 読めなんて書いて無いじゃん?
>>267 本人光臨?
……って突っ込んで欲しかったんでしょ。
269 :
デフォルトの名無しさん :02/01/15 01:08
>>266 レスの1,2,3の時刻が1分違いってとこが、どう見ても、怪しいよね。
あやしいわーるど?
>267 >265みればわかるけど >本もスレッドの流れも読まずに反応してくる人がいるわけでして ... >既出っていうか... 本の方にはそう書いてあります 本読まずにここに書くなというような事を書いたのは前橋本人だ。
271 :
デフォルトの名無しさん :02/01/15 02:17
この本ちょっと買おうかなーって思ったけど こんなアホの書いた本どーでもいいや
>265 最初に書いてからずっとromってたんだけど それはおかしいよ ただ単に>58の内容は本の内容と同じだということでしょ? 要するに「public staticな変数」=「グローバル変数」な考えが あなたと前橋氏で同じだということでしょ? オレは1で「名前が衝突してしまう変数がグローバル変数だ」という意味で 「Javaにグローバル変数はないはず」ということを言ったわけ (これがオレの真意です) 別に「本を読まなきゃ書くな」という意味じゃないでしょ? いくらなんでも誤解しすぎだよ(煽ってるわけじゃないよ) あと、前橋氏は良くも悪くもこういうキャラで売っているわけだから 2chを引き合いに出すことがそれほど悪いわけではないだろう もし他の堅い書籍の作者が「2chで・・・」なんて書いてたら引くけどね 実を言えば、このスレを立てたのも 「前橋氏が読んでいるだろう」と思っていたからだし
273 :
デフォルトの名無しさん :02/01/15 02:40
わかった、おつかれさま
んん・・・ やっぱ1で本書を読んでない人が誤解するような書き方をしてしまったなあ・・・ 前橋氏のキャラは好きなんだけど Rubyのまつもとじゃないが、あんまりキャラが立つのもいけないのかなあ・・・ 作者(筆者)はなるべく無色透明でいた方がいいのか・・・ 前のC言語のポインタ本のスレとかを書いたのは 前橋氏じゃなくて前橋信者じゃないのか? 信者の自作自演ならありえるが。
>>272 >別に「本を読まなきゃ書くな」という意味じゃないでしょ?
だとすると。
>>265 のページの「本もスレッドの流れも読まずに」っていう言いまわしは、失敗だったと思うな。
それは主にく○壁向けでしょ。んで265が失礼と感じるのもまぁわかるけど、58も氏に対して失礼だよ。 そんなあたりまえのことも書いてないのかと思われたらやだからああいう書き方になったんでは? ま、お互い様ってとこか。っとまるで本人みたいだな。
>ま、お互い様ってとこか。っとまるで本人みたいだな。 ほんとーにどーでもいいんだよ。厨房向けの本なんか。 でも、匿名で自分を褒めそやす君を、どうしても叩きたくなるんだ。
kusaの600倍くらいは好感もてるが
280 :
デフォルトの名無しさん :02/01/15 09:27
立ち読みすらする気がなくなたよ。
スレの流れと関係ないが、 public staticでfinalでないフィールドなんか使ってるアホが いるのか?
282 :
デフォルトの名無しさん :02/01/15 09:52
283 :
ぱふーん ◆BEVSNet2 :02/01/15 12:11
>public staticでfinalでないフィールドなんか使ってるアホ マジで見たことありますよ
アンチ・シングルトン原理主義過激派発見!
285 :
デフォルトの名無しさん :02/01/15 21:37
シングルトンなんざ知らん。 public static ならば、final でないとみんなが困るってだけだろ。
Singleton原理主義だのアンチだのっているのか? JVM一つの内部でインスタンス数を制限する事が本当に必要なものなんて、 そんなにないと思うんだが…例えばそのクラスを他のプログラムの一部 として利用することになった時などに、足枷になる事が多いので、安易に 使わないほうがいいと思ってるぞ。 public static NOTfinal使う奴が糞アホだというのは、Singleton どうのこうのとは関係ないぞ。 変数ってのは大抵その作成者の意図があって、とり得る値や他の変数 との兼ね合いってのが大抵決まってるもんでしょ。 Cだって、どんな値入れてもいい構造体なんて普通ないよね。 入れることはロジック上可能だが、そんな値を入れているとプログラム が落ちる、なんていう値の組み合わせいっぱいあるよね。 Cの場合は、プログラマ各人がきちんと気をつけるというルールによって、 そういう値を与えないような制限を掛けるわけで、プログラマに負担が 掛かる。 OOPではアクセサメソッドを介したアクセスにより、そういう値が 絶対とれないような制限を変数に与える事が出来る(=クラスを使用する プログラマがそういう制限につい敵にする必要がない)など、カプセル 化のもたらすメリットが沢山あるのに、それを思い切りぶち壊しにして 平気なやつは、脳みそが相当腐ってると思われ。
世間の、脳みそが相当腐ってる率、けっこう高いよ。
>>287 > Cの場合は、プログラマ各人がきちんと気をつけるというルールによって、
本題から外れるが、抽象データ型(構造体の中身は秘密、公開関数だけ使って中身を操作)ってのは C
でも常套手段だと思われ。FILE とか。
グローバル変数は、アプリケーションのトップオブジェクトとかコマンドラインオプションの解析結果を入れ
ておくのに使うことはあるな。特にコマンドラインの解析結果に関しては、getter, setter つけても本質的に
何も安全にならないし。
あ、おれ、コマンドラインの解析結果を直接いじって、自分自身をだますやりかた、よくやった。
>>240 おそくなりました、メモリマップドファイル、調べました。
検索したら、共有メモリについて書いてあるのが多くて難儀
したけど、なんとなくニュアンスはわかりました。
結局は、ポインタを使ってファイルの読み書きは出来るけど、
メモリにファイルを読みこんでポインタで操作して、書きこむ
っていうのを、自動でやってくれるような感じでした。
もうすこし、調べてみます。
>> Cの場合は、プログラマ各人がきちんと気をつけるというルールによって、 >本題から外れるが、抽象データ型(構造体の中身は秘密、公開関数だけ使って中身を操作)ってのは C >でも常套手段だと思われ。FILE とか。 もちろんその通りなんだけど、実はFILE構造体のメンバへのアクセスは自由でしょ。 開発者が、そういう邪悪な事をしないという約束でやってるだけで。 >グローバル変数は、アプリケーションのトップオブジェクトとかコマンドラインオプションの解析結果を入れ >ておくのに使うことはあるな。特にコマンドラインの解析結果に関しては、getter, setter つけても本質的に >何も安全にならないし。 アプリケーションのトップオブジェクトだけだよね。トップオブジェクト以外は全て参照チェインでアクセス できるインスタンスにしておくよね。ウチの知り合いの馬鹿は、いろいろなクラスにpublic static NOTfinalな変数があって、しかもそれぞれの関係がある状態でないとちゃんと動かないアプリケーションを 作っている。しかもある会社の業務基幹システムで。いいのか?と思う。 コマンドラインみたいなものは、setterを作らないというのがあるけどな。getterだけ。 誰も参照を変更できないようにしておく。
まあ、どんなキレイなアクセス制限関係を作り上げたところで、JAVAだと セキュリティマネージャ差し替え+リフレクションで、台無しにすることは いくらでも可能なんだけどね…
>public static NOTfinal使う奴が糞アホだと 頭固いし。
>>292 > もちろんその通りなんだけど、実はFILE構造体のメンバへのアクセスは自由でしょ。
FILE 構造体に関しては getc() みたいなインライン関数(マクロ)があるから構造体内部構造が
見えてるけど、完全に構造体を隠してしまうことも可能だし、それって実際に使われてるテクニッ
クだ。
-------------------------
/* 公開ヘッダ */
struct foo;
int foo_init(struct foo *);
int foo_exec(struct foo *, int);
int foo_exit(struct foo *);
-------------------------
struct foo の定義は、foo_init(), foo_exec(), foo_exit() などの実装側でのみ与える。別の抽象化と
しては Win32 API で使ってるハンドルがあるよね。
宣伝age
>>295 ???
どうやって使うんだ?
構造体の実体が作れないような…
>>298 foo_init() の中で malloc() するんでしょ。
というか FILE 構造体だって、そういう設計じゃない。FILE *fp と変数を宣言することはあっても
FILE f とか宣言することないし。
>>299 >int foo_init(struct foo *);
中でmalloc()されても受け取れない…
struct foo * foo_int();
にすれば大丈夫なの?
>>300 300 のコードで正解です。(オオボケだな>俺)
struct foo;
で宣言だけしておけば、デリファレンスしない限り、定義なしでもコンパイルとおります。
302 :
デフォルトの名無しさん :02/01/16 22:22
Cのグローバル変数って
externをつけた物の事をいうのかな?
個人的には、名前どおり「どこからでもアクセスできる変数」って解釈
してるんだけどね。
>public static NOTfinal使う奴が糞アホだというのは、Singleton
>どうのこうのとは関係ないぞ。
仮にもグローバル変数みたいなのを使いたい場合、
シングルトンを使っておけば、ちょっとは安全だよね?
例えば、システム内の時間とかに使ってみるといいのかな?
>>301 定義が必要な場合と、宣言がだけでいい場合がある理屈がいまいち
良くわかんないんだけど
そこら辺について書いてあるWEBってあります?
基本的にポインタに対する演算だけが必要ならば定義は不要?
struct foo; // 不完全宣言しとく struct foo* f ; // ポインタを定義 f = foo_init(); // ポインタよこせ foo_setState(f, FOO_GOD_BRESS_ME) ; // なにかセットする foo_exec(f); ってやりかたかな、昔はよくやったよ。 ま、スレ違いなので、昔を懐かしむスレででもやってくれ。
あ、関数のプロトタイプ忘れてた、ま、いいや。
>>139 > その「参照」はC++のものでしょ。それは普通の定義じゃないと思うぞ
Pascalの参照(参照引数の参照ね)も、この定義が当てはまるから、C++特有っ
てわけでもない。「普通」って何を基準に普通と言っているのか良くわからな
いなあ。
>>142 > 何か主張したいなら、そいつの主張するポインタの定義をしないと意味なし。
> で、あの本ではそこんとこ無視して、ポインタしかないとか言ってるだけ。
あれれ? 定義が書いてあるよ? 無視してないじゃないの?
>>163 > ポインタはアドレスの演算が出来る変数。
CとC++ではそうね。でもPascalのポインタは演算できないけど、ポインタって
言うぞ。
call by referenceで言うところの「参照」とオブジェクト指向一般の「参照」の概念は 厳密には(というかコンテキストが)ちがうっしょ。 これもよくごっちゃにされるけど。
> オブジェクト指向一般の「参照」概念は厳密には(というかコンテキストが) > ちがうっしょ。 ま、確かにちょっと違う。 で、もともとの 133 の話に戻すと、前橋本では、当然ポインタを、C のポイ ンタとは違う意味 (C に限らずプログラミング言語一般で言うポインタの意味) で定義して使っているので、その点では問題ないと思う。ってゆーか、ポイン タって言葉を使っているのは、Java初心者向けに参照の意味を説明している第 2章だけで、他の章では一応参照という言葉で統一しているので、あんまり目 くじら立てる話じゃないような。 > これもよくごっちゃにされるけど。 なにしろ、C++ だと参照は、call by reference のためにも使われるからな。 まあ、C++ がオブジェクト指向の一般に当てはまるかというと、相当疑問だが。 が、参照渡しは、実装の方から見るとオブジェクト指向言語の参照と同じ (要 はポインタ) で、プログラムのセマンティクス的にも、それが見えることがあ るので、くだんの本の第2章の話題に限っては、区別しなくてもいい気もする。
>(C に限らずプログラミング言語一般で言うポインタの意味) 「ポインタ」を、好きなように拡大解釈できるというマジック。
309 :
デフォルトの名無しさん :02/01/18 23:14
前橋信者2age
310 :
デフォルトの名無しさん :02/01/20 20:29
申し訳ありません。309書いたのわたしです。 書き方も知らないで書きました。「あげ」を覚えたので 使ってみたくなりました。 308さんに迷惑をかけたかもしれません。 あと一杯飲んでいました。 「飲んだら書くな」ですね。 309を削除しようとしましたがやり方が分かりません。 申し訳ありませんでした。 ina age
ageは覚えなくてもできるだろう?だろう?
312 :
デフォルトの名無しさん :02/01/21 01:03
>308 じゃあさ、 int a; &aの値ってなんなの? 基礎がわかってないのって・・・・
313 :
デフォルトの名無しさん :02/01/21 01:33
>&a aのアドレス
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | つぎでボケて!! | |_________| ∧∧ || ( ゚д゚)|| / づΦ
型変換や演算が出来ないのはポインタとは呼べないということで・・・。 任意のオブジェクトをプリミティブ型でアクセスする機能がないと 辛い・・・。 関数ポインタも無いと辛い・・・。
>>315 Cに毒されすぎ。
PASCALとかやってみれ。
317 :
デフォルトの名無しさん :02/01/21 12:58
シーン315テイク2 型変換や演算が出来ないのはポインタとは呼べないということで・・・。 任意のオブジェクトをプリミティブ型でアクセスする機能がないと 辛い・・・。 関数ポインタも無いと辛い・・・。
ムツカシイボケかますなよ。 つーかつまんね。
さげ進行ってことで・・・
322 :
デフォルトの名無しさん :02/01/24 22:50
とりあえず、買ってきて読み始めたんだが、これの読みづらさときたら…
あ、すまそん。 2章を読んだんだ。がいしゅつかもしれないけど、前橋氏が「Javaにはポインタしかない」の文脈で 参照について定義している場所が見つからないんだけど… つか、2章を読むと、この世には「参照」なんて無いってゆってるみたいだ。 どーなの?
>>324 前橋氏流の定義は「何かを指し示す物(値)」かと思います。
で、2章の最後を読みましょう。
「Javaにはポインタがないと無闇に主張する事は危険だ」
というのが前橋氏の主張だと思われます。
>325 >「Javaにはポインタがないと無闇に主張する事は危険だ」 >というのが前橋氏の主張だと思われます。 だとすると、2章に書かれてる内容は、その主張と離れすぎ。 2章読むと、Smalltalkに至っては、純粋にポインタだけって書いてあるよ。 この世に参照なんてものは存在しないって結論だ。 たぶん、前橋氏はバインドという概念が理解できないんだね。 ま、変数が入れ物だって説明から入ってるくらいだから、無理も無いが。 この本読んで目から鱗が落ちるようなやつは、才能無いからプログラム書くなって感じな。 つか、この本、ショボすぎ>著者
327 :
デフォルトの名無しさん :02/01/25 03:26
>>326 参照ってC++のリファレンスのことか?
それなら作者も知ってるよ。
所詮、参照もポインターの一種だという解釈なんでしょ?
もれの勘違いならスマソ
あ、わかった、 前橋氏は、「Javaにはポインタが無い」つーのを、「Javaの変数は、すべて実体の入った入れ物だ」 っていう意味だと勘違いしているのか。 やっとわかったよ、すまんのぉ。
その本読む気がしないんだけど、 >「Javaの変数は、すべて実体の入った入れ物だ」 は、揚げ足取りとかじゃなくて、間違いだよな。 それから、「Java言語規定」では、クラス、インターフェース、配列は 参照型で、その変数は「参照型の変数」とよばれる。っつーのはいいよね。
>328 329 黙れ! 尊師の悪口を言うな!
331 :
デフォルトの名無しさん :02/01/25 12:27
あれだな。さすがにご本人もいたたまれなくて、いなくなったみたいだね。 「Javaにはポインタがないと無闇に主張する事は危険だ」 「女にチンポがないと無闇に主張する事は危険だ」 「Javaにはポインタしかない」 「女にはチンポしかない」 みたいな?
>「Javaにはポインタが無い」つーのを、
>「Javaの変数は、すべて実体の入った入れ物だ」
という勘違いをする人がいるので
「Javaにはポインタがない」と無闇に主張するのは危険だ、と言っているのでは。
で、それが勘違いだと説明する為に2章があると。
>>326 >2章読むと、Smalltalkに至っては、純粋にポインタだけって書いてあるよ。
これは(Javaと違って)Smalltalkには純粋に参照しか存在しないと主張してるのでは?
僕はそう読みましたが。
>この世に参照なんてものは存在しないって結論だ。
だからこれは逆じゃないですか?
「Javaではポインタ相当品を参照と呼んでいる」という様な記述がみられるんで、
前橋氏は参照と呼ぶこと自体は否定してないと思いますが。
C++の参照はcall by referenceを実現してるだけ。 CのポインタもJavaもメソッドへの引数渡しは全てcall by value。 ただそれだけでしょ。参照vsポインタは。 ちなみに俺はJavaのすべてcall by value方式はちょっと不便だけど 余計な混乱は避けられるのでいい実装の気がするYO!
内容はともかくとして、 解釈が分かれるような技術書解説書を書くのはいかがなものか。
336 :
デフォルトの名無しさん :02/01/25 14:38
すごいね。解説キボン...しない。
>>335 いくつか読んでみたよ、ポインタの方。
第一印象で言うけど、
Javaの参照は、まさにSmalltalkのバインドそのものだよ。
(あ、でも前橋氏は、型チェックを引き合いにだして、「別物」って言うだろうな)
Cで言うところのとか、Pascalで言うところの(これは木氏がゆってるけど)とかのポインタとは、別だと思うな。
でも、前橋氏の主張は、たいがい、「どういうふうに(悪意を持って)使えるか」に由来するものだから、
「Cで言うところの」って事になっちゃうんだね。
極論だけど、「前橋氏の理想の言語は、古いタイプのCOBOLだろう」ってとこまで
考えがふっとんじゃうよ(w
つづき読んできます。
338 :
デフォルトの名無しさん :02/01/25 17:48
この本私も買いました。今から読みなす。 しかも、卒研の論文に有効活用します。もうすぐ締め切りだけど・・・・おげ!
しかも、卒研おわるのか?この本で卒研終わらせられるのか? 全然分からん。
君の卒論のテーマは 「Javaにおける参照型に対する考察 -参照型はポインタであると言えない奴は厨房-」 で決まりかな。内容はこのスレのこぴぺ。参考はJavaHouse。
教えて下さい。 ハムエッグは、ハムの上に卵がのっているのでしょうか。 それとも卵の下にハムが置いてあるのでしょうか。
卵の隣にハムがおいてあるんじゃないかな。
>>341 そのハムエッグを作った人に決める権利がある。
345 :
デフォルトの名無しさん :02/01/25 23:37
つーかさ、 JAVAの参照はポインタか?なんて議論は ちゃんとC++もJAVAも使えてる人には関係ないよね。 それがわかったところで、なんのメリットも無い。
その通りなんだからさ、あげないで、こんなスレ。 どうも、「解釈」に凝りまくって、ぐちぐち考える人って多いよね。 それで自己完結してくれりゃいいのに、なんか思いつくと。。。 まあ、とにかく、あげない、これが一番。 ハムエッグの連中の方がマナーいいよ。
347 :
デフォルトの名無しさん :02/01/25 23:43
ポインタ・参照と言う言葉に結びつく概念の定義が人によって まちまちで、しかもいろいろな解釈がありうることを認めよう としない脳梗塞馬鹿が、この業界にいかに多いかを如実にあら わしてるね。
348 :
デフォルトの名無しさん :02/01/26 00:44
ハードウエアアーキテクチャまで持ち出す大馬鹿もいたみたいだし(w
>>348 いつまでもクソスレを age るなよ…
>>345 御意ですが、逆にわかってない奴、わかりかけている奴には様々な視点に触れることは有意義かと。
Javaから入ってCをやるはめになった人にはいいんじゃないのん? そんな人いるかどうか知らないけど。
「Java謎+落とし穴徹底解明」にツッコミ入れられないやつは厨房 という結論で。
>>352 脱・厨房への第一歩だね。読んで理解することをすすめます>厨房
>>353 読む奴は厨房に認定される、っつー結論で?
353ではないが・・・、
>>354 >読む奴は厨房に認定される、っつー結論で?
353の文章からなんでそんな結論やねん!
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| つぎでちゃんとボケて!!|
|_____________|
∧∧ ||
( ゚д゚)||
/ づΦ
356 :
デフォルトの名無しさん :02/01/27 04:38
ここに書くやつ皆厨房、っつー結論で?
ageるやつは特にな。
みんなageちゃう。
360 :
デフォルトの名無しさん :02/01/27 15:33
なるほど
>>350 の言うとおり
「変数は入れ物だ」
反論求む
変数は入れ物ではないの?
けっこうアフォなすれだ。
>>360 実体を入れたり参照を入れたり参照であるという情報を入れたりする
入れ物には、かわりないわけですね。
物は言いようだからな。
それ、このスレの趣旨ですね。
やっとvirtualの使い方がわかった気がした… C++が楽しくなった瞬間だった(w
誤爆したよヽ(`Д´)ノウワァァァァン
369 :
デフォルトの名無しさん :02/01/28 09:16
前橋氏は弱気になってしまったか・・・
370 :
デフォルトの名無しさん :02/01/28 11:36
C++でvirtual使わないプログラムって クソだよね。
なんでもかんでも virtual使うアホもいるがな。
372 :
デフォルトの名無しさん :02/01/28 11:43
virtualにしといても、そう変わらん JAVAなんて全部virtualだろ
373 :
デフォルトの名無しさん :02/01/28 11:44
だからJAVAは駄目なんでちゅね。 C++ならtemplate、楽しいでちゅよ。
C++ friend (プッ
372じゃないけど JavaのインスタンスメソッドはC++で言えばすべてvirtual付きと同等と 言うのは間違ってないだろ。 まぁfinalとかC++に無い奴もあるけどさ。
呼びだされる関数がコンパイル時にわかる場合は, virtual にしておいてもわざわざ vtbl 見にいったりしないで 直接呼びだすにようにコンパイラが最適化してくれる. だから, C++ で virtual をつける実質上のデメリットは vtbl ポインタの分インスタンスのサイズが大きくなること. 逆に, 仮想関数がひとつでもあるクラスのメソッドを 全て virtual にするという戦略はそんなに悪くない.
そういやこの本で 「finalはvirtualの反対語だ」 みたいなことが書いてあったのは、なるほどと思った。 で、世の中にはオーバーライドされたくないメソッドもあるんだから全部virtual なんて無条件にいうのは駄目。
全部virtualっていうか、デフォルトはvirtualだった方がいいような気がする
じゃばじゃばじゃ〜ば〜
宣伝ageアゲイン
ageるな
383 :
デフォルトの名無しさん :02/02/01 12:40
この本は「物理数学の直観的方法」と同じ。ちゃんとした教科書を読んで よく理解できなかった概念のイメージをつかむためにコソーリ読むのが正しい 使い方。
この本読んで興奮してる1は厨房
hoge 多すぎ C 関係の本2冊とも、巻末の索引に"hoge"載ってた。
386 :
デフォルトの名無しさん :02/02/16 00:21
でもこの本面白いと思う、 買ってよかった。
>>385 すべての言語に、Hoge関数が標準装備されていたら・・・
Q:xxxで四捨五入したいんですけど?
A:hoge関数でできますよ!副作用としてwavサウンドがなりますが。
買った 悪くない いいと思う ありがと 参考に なった。
ageるなよ…。
390 :
デフォルトの名無しさん :02/03/09 22:20
dat落ちしてなかったのかこのスレ・・・
392 :
デフォルトの名無しさん :02/03/10 00:39
この本は素直に参考になったよ できるやつは読んでもなんの感動もないかもしれんけど
参考にしないほうがいい。
あんまり良い本とは思えなかった
sage
396 :
デフォルトの名無しさん :02/05/01 04:10
なぜ EiffelのREALに数学関数が定義されていると 著者は思いこんでいるのか分からない。
397 :
デフォルトの名無しさん :02/05/01 04:57
なんか強調するべき所が違う気がするのぅこの本は・・ 太字になってる意味がわからん・・ってとこが多すぎる・・ うけを狙ってんのか!? 内容自体は悪くないと思うんだがなぁ・・ 筆者のセンスを疑うね・・ プログラミングのセンスはあるんだろうけどさ
いまさら糞スレあげるお前らの方が、何考えてるのかわからない。
最初からこのスレ読んでみたが良スレなのか糞スレなのかよくわからん。
>>397 とりあえず、この本は厨房にとっては良書という位置づけで。
>>399 このスレは作者か出版社の宣伝用だと思われ。
俺、最近 衝動買いした。 立ち読みしてたらさ、なんか情熱を込めてネタを披露する文体に笑えたので。
402 :
デフォルトの名無しさん :02/06/07 05:53
良書age
ageるなアフォ
おいおい、一度立ち読みして「これ2chに晒しあげようかな(w」とまで思った本だぞ。 あまりにくだらんので止めたけど。 まさか賛美するスレが立ってたとは…
405 :
デフォルトの名無しさん :02/06/08 10:53
407 :
仕様書無しさん :02/06/08 12:03
でも、おもろいことかいてあるよ。
マ板におもろい本を晒すスレなかったっけ?
すごく(・∀・)イイ!! /ミヽ /ミヽ ミミミ /川川川\ミミミ |||@ノハヽヽ@||| ミミ〇川||/ ヽ|||||〇ミミ ミ/川 \l||||彡 |川\ / 卅川 |||||\ / 卅||| (|| ・ , ・ ||) |⌒|(|| ‘ , ‘ l|) |⌒|ヽ"ヘ "ノ(⌒ヽ ヽ ⊃ゝ" ヘ"ノ| ヽ ⊃入ノ| ⌒ ⊂ 丿 , /_/入ノヽ ( ノ / / ★ ( ヽ─゛ /● ● ●丿/=/ ヽソヽ★ ★\| |● ● 入ノ ヽノ , _)★ ★ ヽ ヽ__ヽ/ ̄ ̄ヽ / ̄| __ヽ/___| \ ヽ─ / ,\ / / ヽ )/ ̄/ (__( ヽ゛ /─-/‖ ̄ヾ). \─ヽ 《ヽ=ヾ  ̄ ̄ =ミ 》 \___) (___/ かっごちゃっんでっす つっじちゃっんでっす
410 :
デフォルトの名無しさん :02/06/10 10:21
この本、けっこう思い切ったこと書いてある割には、 「ごめんね、突っ込まないでね」ってビクビクした雰囲気を 感じてしまうのはなぜ? あと、ここに書かれているようなことは、憂オブの著者が 5年くらい前にDDJで書いてた。それほど目新しくもない。
>>410 というか、みんな言ってた。
「いまさら」みたいな内容。
256倍シリーズのノリだよな。読み捨て本。
わかったからもうあげないでくれよー。
414 :
デフォルトの名無しさん :02/06/10 12:44
181.70.17.130 253.40.0.232 1.23.79.16 57.85.132.184 89.57.23.201 104.215.50.76 244.51.162.224 145.16.6.181 154.50.164.133 129.27.6.65 27.249.161.68 44.9.71.93 40.100.27.241 107.171.63.142 234.244.139.172 130.231.231.118 125.249.50.228 245.169.53.103 161.62.173.127 51.83.85.8 87.72.107.0 136.78.71.145 181.49.218.199 110.31.185.137 32.126.130.225 152.22.198.160 194.28.83.226 231.253.236.18 226.214.219.85 149.115.236.29 253.240.187.181 198.50.99.136 185.68.244.129 218.130.70.56 162.241.133.85 23.55.158.84 60.38.84.25 29.51.165.252 225.101.104.62 53.126.31.15 243.242.122.140 96.121.147.123 87.192.202.1 194.145.208.174 70.111.207.183 222.133.189.0 114.223.179.111 148.201.125.187 108.87.153.17 129.232.100.186 108.173.188.210 161.1.59.129 218.146.224.221 76.204.209.248 52.217.2.23 245.187.96.182 55.98.235.223 203.31.64.77 224.131.141.124 156.223.109.181 195.145.40.2 12.72.85.193 33.109.76.201 26.96.128.166 87.166.31.13 0.83.5.139 41.45.252.245 210.109.71.52 68.146.96.214 122.34.14.53 165.90.31.224 251.166.105.184 75.221.118.241 20.29.225.83 171.61.227.248 20.201.254.236 141.95.211.219 163.99.151.177 164.4.155.118 70.227.122.156 252.228.70.173 173.121.92.6 194.233.171.4 102.124.29.81
>前橋 和弥 こいつの著作物の正誤表を見て、買う気が萎えた。
>...いや、つくづく思うんですが、「Javaにはポインタがない」という主張をする人の意図っていったい何なんでしょう? それは、Javaの「参照」が、「ポインタ」と言う名前とは変わっており、 しかもCのポインタと(厳密には)同一ではないからだろう。 Javaの参照はCのポインタに比べて、領域破壊のバグの危険性が 格段に減っているため、Cで頻繁に起こっていたバグが起こる余地が 無くなる。 このような参照の利点を強調したいがために、Javaは「ポインタ」ではなく、 別の「参照」と言う名前にしたのだろう
418 :
デフォルトの名無しさん :02/07/04 02:55
思うに、この人の本って言葉遊びが多いような気がする。 「こういう表現にしたほうがわかりやすい」という信念の元に いろんな文を断定口調でばっさり言い捨ててるんだけど、 それは言葉の定義しだいだろってことが多い。 ポインタの件だって結局は「ポインタ」の定義次第だろ。 これが人によって違ってるだけ。 結局、既存の表現と正反対の表現を断定口調で述べるのが かえって混迷を深めてるだけのような気がする。 「定義次第」なのに何をこの人は頑固に一つの表現に固執し続けてるのか というのが率直な感想。 正しい態度としては、「この表現は誤解を招きやすい」と指摘し言葉の 定義を絡めてなぜ誤解しやすいのか解説するにとどめるのが正しい態度だ と思う。 反発心が強いあまり、一見反対に見える文を断定してしまったら、それこそ 同じ穴の狢。
>>417 C++では参照とポインタを区別してるからな。
もはや、参照とポインタを区別する方が一般的だ。
参照はポインタだと言ってしまうことの方が奇異に映る。
確かに区別すると前橋の指摘するような誤解が起こりやすい弊害はあるがな。
420 :
逝って良しの1 :02/07/04 03:12
厳密? ポインタの極く単純な使い方限定が参照だろ。 1)演算が出来る 2)型変換が出来る 3)関数ポインタを持てる。 Javaの参照をポインタって呼ぶのは自転車を「車」と呼ぶようなもの。
参照かポインタかは、言語の定義次第だと、大昔に結論が出てるだr(略
結局、この著者は批判的になりすぎるあまり、極端で不正確なことを 言ってしまう傾向にあるということですな。
423 :
デフォルトの名無しさん :02/07/04 05:29
つうか、名前が違うんだからJavaにポインタは無いと言うしかないだろ。 名前が違うんだから。
>>423 じゃー アセンブラではポインタ扱えないんですね?
名前が違うんだから。
>>424 アドレスを格納する変数にポインタと名付けてもかまわないよ
つーかおまえらCでのポインタの定義言えるのかよ。 ポインタ変数じゃなくて、ポインタの定義だぞ。
>>425 ポインタの型が消滅したり、
NULLのビット表現が不定だったりするが、
それでも ポインタ?
429 :
逝って良しの1 :02/07/04 09:39
>>423 Null pointer Exception
>>429 ひょっとして エロくて、汗だくで、初心者無視の
>>1 さんですか?
432 :
デフォルトの名無しさん :02/07/04 13:06
つぅか、注釈が多すぎんだよ!!!?!!!
∧_∧ ( ´∀`)< ぬるぽ
ぬぽえぐ
長野県知事、田中康夫の若気の至り「なんとなくクリスタル」を彷彿と させますな。
JavaからDelphiに乗り換えました。 このスレがまだ生きているとは。。。 若気の至りでスレを立ててしまい、申し訳ありません。 でも前橋のファンであることに変わりはないけどね。
はじめてよみますた、こんなすれだったとわ、
438 :
デフォルトの名無しさん :02/07/04 19:10
>>424 名前が違うんだったらポインタではないんじゃないの?
Javaには(誤った使い方をされることが多い)ポインタ(を乱用可能にするような構文は)ない。
if ( str1 == str2 )
441 :
デフォルトの名無しさん :02/07/05 02:06
>>426 Cでポインタはアドレスのことじゃないのか?
442 :
デフォルトの名無しさん :02/07/05 02:07
>>426 あと、ポインタ変数もポインタって言うぞ。
NULLもポインタだろ。
ポインタ=実体を指し示すものとすればJavaの参照はポインタだわな Cはポインタ演算なんぞができるせいでだいぶ印象が違うけど つーことをいちいち大げさに言いすぎな本ということでFA? 読み物としては面白いけど、わかってないひとが読むと余計コンラーン(・∀・)
>>444 おおげさっつーか、「ポインタ=実体を指し示すものとすれば」
と勝手にそういうことにしてる所がやりすぎと言うか。
この辺の定義は場合によって違うのに。
>>441-443 をまとめればポインタの定義、ってことになるんだろうが、
定義というにはあまりに散漫。
447 :
デフォルトの名無しさん :02/07/05 03:11
>>444 >ポインタ=実体を指し示すもの
ポインタ=変数?
この人、K&Rのポインタの定義も批判してるけど、K&Rのあの部分は 初心者向けの大雑把な説明であって、定義じゃないと思うんだが。
ポインタ=アドレスorポインタ変数orNULL こりゃー定義にはならんでしょ。
>>450 大まかにはそういうことで、もっと細かく正確に書けば定義になるだろ。
つーか、K&Rってかなりいい加減だよ。相当テキトー。 enumの説明なんて、なんだこりゃだよね。入門書にしては 難しいし、リファレンスにしてはテキトー過ぎる。使えない本だよ。
453 :
デフォルトの名無しさん :02/07/05 03:21
>>452 つーか、K&Rに限らず初めは適当に説明する方がいいだろ。
そうじゃないと初心者は混乱する。
あとから、詳しく説明してるんだから、問題無いと思う。
いや、K&Rのことで議論したくないけど、詳しくなんて説明してないと 思うよ?
>>454 ああ今読み直してみたが、enumはそうだな。
俺の言ってるのはポインタのこと。
ただ、enumの説明は問題無いと思う。まあ、わかりにくさを指して
適当って言ってるならひとそれぞれだが。
>>455 いや、大問題だって。>enum
enum型、という概念を全然説明してないでしょ。#defineの
代わりに使ってね♪くらいの説明じゃん。このせいでenumは
普及しないと思ってるんだけどね。
457 :
デフォルトの名無しさん :02/07/05 03:33
>>456 へ?enumの概念って?それに、enumは普及してると思うが?
458 :
デフォルトの名無しさん :02/07/05 11:23
>>457 いや、だから、K&Rには書いてないし、そのせいで他の本にも
書いてないんだよ。でも実装はされてる。
説明は面倒くさい。
K&Rに書いてあれば、他の本にも書いてあるだろ。 だいたいライターなんて、K&R読みながら自分の本 書いてるんだから。
Cのenumがハンパだから普及しないんだろ。 もうすこし、型チェックしっかりしろや。
それ以前に、みんなenumなんて整数定数を作ってくれる機能 くらいにしか思ってねーだろ。
定数に関する名前空間程度にしか見られない。
enum a =1; とか?こんなの普及しなくて正解だよ。 普通のenumの使い方しなよ。
K&Rには書いてないとして、ストラウストラップ本には ちゃんと書いてアンのかな。C++はけっこう型に厳しいから ちゃんとenum使えるようになってるんだが。
お前らは倉薫のC言語入門2読め。以上。
このスレ、まだしぶとく残ってたんだね。 議論は違う方向に向いているけど。
倉薫読んだから「enumの概念」とか言い出してるんだろなぁ…
いい加減な部分があるのは仕方ないとして、それでもK&Rははるかに 信頼性高いけどな。 なまじ信頼性が高いから、前橋のような厨房に仕様書のようなものと 勘違いされていい加減な部分を指摘されるが。 他の本なんて、参照渡しとか言い出してもう見てらんない。
enumの概念って何?
472 :
デフォルトの名無しさん :02/07/06 00:49
C#なんか ref と書いたり、 標準関数が大文字で始まってたりでもう見てらんない。
あ、C言語とCの違いはここでは無視してくれ。
スマソ。よく読んだらかなり誤解してた。結構まともなこと言ってる。 でもやぱり乱暴だと思う。 構文規則の識別子の名前にstatemantと言う単語が含まれていないから 宣言は文ではないという主張だが、構文解析のための便宜上の識別子を 言葉の定義として絶対視できるとは思えない。 それに、ここでの’文’が文法上の用語を指してるのか、ただの一般的 意味で言ってるのかわからないと思う。
477 :
デフォルトの名無しさん :02/07/30 11:52
age
下げろや
479 :
デフォルトの名無しさん :02/08/14 10:52
前橋自作自演あげ。
Java本著者がCマニアというのはなんか嫌だな
(。・_・。)
482 :
デフォルトの名無しさん :02/08/30 05:07
critical session
483 :
デフォルトの名無しさん :02/08/30 05:32
麻奈本以外いらん
484 :
デフォルトの名無しさん :02/08/30 05:41
3年後前橋が「C#の謎+落とし穴徹底解明」を書いてるのに10000ガバス
C#って値型とデリゲート以外はJavaと同じだと思うよ
critical session
あ、C言語とCの違いはここでは無視してくれ。
下げろや
>>485 値型とJavaのプリミティブは同じじゃないか? boxingのことを言ってるのか?
>>489 そのboxingがかなりの曲者だからJavaと同じようにはいかないね
>>491 同意。ただ、Javaでいちいち new Object[] { new Integer(1), new Integer(2) ...}
とかObject[]な引数を書いてるとき、new object[] { 1, 2, 3 ...}で済む、C#のほうが
楽だとは思うが。
age
あ、C言語とCの違いはここでは無視してくれ。
そのboxingがかなりの曲者だからJavaと同じようにはいかないね
>>492 うん。Hash等にint値を突っ込むのにnew Integerなんてかかなきゃならない
のに比べればよっぽどマシ。
同意。ただ、Javaでいちいち new Object[] { new Integer(1), new Integer(2) ...} とかObject[]な引数を書いてるとき、new object[] { 1, 2, 3 ...}で済む、C#のほうが 楽だとは思うが。
値型とJavaのプリミティブは同じじゃないか? boxingのことを言ってるのか?
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ イー便茶役員一覧 社長池上(テンプスタッフを追い出された、人材派遣業ヒューマンアイも経営し、私腹をこやしている) 菅原(住商情シスで仕事をしたと威張ってる、偽EVS Framework開発者として、JavaONEで演説予定) 山本(リクルートをDrop outして人材派遣業という、いわゆる使えない社員の王道、ヒューマン偽アイコンサルタント) 児玉(なんだかんだで、結局辞めた) こんなやつらは、ゴミ以下のイーベンチャー ゴミサポート会社!!!! (ついでにゴミSE巡回サービスもよろしく!!) ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
この作者、Java World に連載持ってるな。 先月は、Java にポインタがある!ネタだったよ。 今月は載ってない。