トップページ⇒tech
1001コメント313KB

推薦図書/必読書のためのスレッド PART 5

■ このスレッドは過去ログ倉庫に格納されています
0001 NGNG
前スレ
PART 4 http://pc3.2ch.net/test/read.cgi/tech/1022961238/

プログラム技術板倉庫
http://tito.fc2web.com/2ch/tech/index.html
シンプルな構成
C/C++の分類では入門書の紹介もしているので、これからというあなたは一度目を通しましょう

推薦書籍集
http://bookshelves.tripod.co.jp/
一冊毎にコメントがあったりなかったり、なかなか親切
本スレでまとめられてない書籍の紹介などもある
リンクは>>2-3
0002 NGNG
推薦図書/必読書のためのスレッド @ プログラム板
PART 1 http://pc.2ch.net/tech/kako/1005/10058/1005897052.html
PART 2 http://pc.2ch.net/tech/kako/1010/10103/1010312992.html
PART 3 http://pc.2ch.net/test/read.cgi/tech/1016722820/l50

推薦図書/必読書のためのスレッド @プログラマー板
PART 1 http://mentai.2ch.net/prog/kako/953/953825415.html
PART 2 http://mentai.2ch.net/prog/kako/964/964560144.html
PART 3 http://pc.2ch.net/prog/kako/1000/10005/1000542653.html
PART 4 http://pc.2ch.net/prog/kako/1005/10058/1005838870.html
PART 5 http://pc.2ch.net/test/read.cgi/prog/1006020832/

C/C++入門本の著者を評価する
http://pc.2ch.net/prog/kako/998/998958112.html
0003デフォルトの名無しさんNGNG
ずざー
0004デフォルトの名無しさんNGNG
        ヤタ!朕が2げっとだ!!お前等朕にひれ伏せ!クソ共が!
        ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          /\ /\  /神\/../
          / /\  \(´∀` )./
        ())ノ__ ○二○二⌒/../
       / /||(二ニ) (___/../ 几l
   γ ⌒ /|�V||彡Vミ/⌒_ノ二二ノl0
   l| (◎).|l |((||((゚ )/⌒/||三三三・) ||  (´⌒(´
__ ゝ__ノ     ̄(___) ̄  ゝ__ノ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄(´⌒(´⌒;;
朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり!朕は神なり!
朕 IS GOD!朕 IS GOD!朕 IS GOD!朕 IS GOD!朕 IS GOD!
>>3へ    おせ〜んだよ、氏ね(ププ
>>4へ    ハナゲ出てるぞ(ププ
>>5へ    デブヲタ氏ねよ(ププ
>>6へ    低学歴が(ププ
>>7へ    オナニーして寝ろ(ププ
>>8へ    牛鮭定食でも食ってろ(ププ
>>9へ    肛門野郎は氏ね(ププ
>>10へ    2ちゃん辞めろ(ププ
>>11以降   チンカス以下だね(ププ
0005デフォルトの名無しさんNGNG
>1
乙
0006デフォルトの名無しさんNGNG
>>4
ハナゲ出てるぞ

俺は高学歴だが。
0007デフォルトの名無しさんNGNG
本屋でまた立ち読みしてきました。主にポインタの説明で判断した。

独習C / ハーバート・シルト 柏原正三訳
なんか参照渡しとか言っちゃってるし、わかりにくい上に内容が薄そうだし、
良くなさそうな雰囲気を感じた。これはおそらく悪書。

基本から学ぶC言語 / アル・ケリー、アイラ・ポール
立ち読みだからあまり粗は探せなかったが、これはマジ凄い本だ。
もの凄く正確で詳しい。
しかし、やたらと量が多すぎるし、入門書にしては難しいのが欠点。
これは入門じゃないだろう。

新C++言語入門 シニア編 林晴比古
これもポインタの説明はどうかと思った。*演算子は値を取り出すもの
とか言ってると、*a=1なんていう文が出てきたときに初心者が
混乱しそう。ポインタ渡しとか言っちゃってるし。
でもクラスの説明はポインタの説明が嘘のように正確で詳しい。
無名クラスだとか宣言を隠すだとかstruct、unionもクラスの一種だとかまで
きちんと解説してるのは良いと思った。だが仕様解説以外はほとんど無い。
is aの関係とhas aの関係すら言わないのはどうかと思う。

本当は話題になってたこばけんとやらを見たかったんだが、探し出せなかった。
後でネットで調べたらブルーバックスもあるらしいな。
0008デフォルトの名無しさんNGNG
>>7
こばけんは
「ポインタとはアドレスを入れておくもの(変数)です」だそうだ。
そのあとで、「ポインタも変数ですから・・・」と続く。


こばけんさん、それは全然違います・・・・・
0009デフォルトの名無しさんNGNG
>>8
えっ、どこが違うの??
0010デフォルトの名無しさんNGNG
前スレみたいに入門本バトルはやめてくれ
0011デフォルトの名無しさんNGNG
ポインタを格納するための変数のことを言いたいだけでしょ。
ポインタ変数のこと。そういう意味で「ポインタも変数。。」
というのは間違い。ポインタとは型属性を持ったオブジェクトの
アドレスのことで、それ(ポインタ)を格納するための変数があるよ
ということでよいのでは。
0012デフォルトの名無しさんNGNG
ポインタの説明に、アドレスを持ち出すと、突っ込みが入る可能性が高くなります。
0013デフォルトの名無しさんNGNG
ポインタはポイントするものだよ。
0014デフォルトの名無しさんNGNG
>>1 乙カレーさん。

もう、粘着君にかまうのやめよう。>>ALL
0015デフォルトの名無しさんNGNG
ポインタのことに関しては、OOPのように、単独スレを作って、その中で話し合ってほしい。
このスレで議論するのはスレ違いだと思う。
著者の定義の仕方に突っ込みを入れているから、完全なスレ違いではないのだけど、、、
0016デフォルトの名無しさんNGNG
>>14に同意だが一言。

>>8
厳密には>>11が正解だと思う。しかし、ポインタ変数をポインタと呼ぶのは普通のこと。
たとえば、ストラウストラップを嫁。
0017デフォルトの名無しさんNGNG
(処理系によっては、セグメントセレクタだったり、0ページのインデックスだったりで…)
0018デフォルトの名無しさんNGNG
ポインタ変数はポインタだが、ポインタはポインタ変数ではない。
0019デフォルトの名無しさんNGNG
参考 ? スレ
ポインタについて
http://mentai.2ch.net/prog/kako/982/982225911.html
0020デフォルトの名無しさんNGNG
ポインターは犬だけどな
0021デフォルトの名無しさんNGNG
結局初心者は何を信じて勉強すればいいわけ?
0022デフォルトの名無しさんNGNG
キカイダーは人造人間だしな。
0023デフォルトの名無しさんNGNG
>>21
会社の先輩。間違ってもそいつのせいにすればすむ。
0024デフォルトの名無しさんNGNG
>>21
作者も出版社も異なる3冊以上の本で多数決
0025デフォルトの名無しさんNGNG
他人の意見を聞いたら、それをそのまま信じますか?
多数派の意見なら、それをそのまま信じますか?
何が真実か、最後は自分の頭で論理的に判断する必要があります。
0026デフォルトの名無しさんNGNG
論理で判断できる真実などほとんどないに等しい。
0027デフォルトの名無しさんNGNG
判断できない馬鹿はプログラマやめましょう
0028デフォルトの名無しさんNGNG
>>8
型Tがあって
T* p; の p はポインタ変数(普通これをポインタと呼ぶが)
T i; で &i はポインタ値

これでいい?
別にコバケンが間違ってるとは思わないよ。
0029デフォルトの名無しさんNGNG
関数 T* foo(void); の返すのはポインタだけど、変数じゃない。
0030デフォルトの名無しさんNGNG
void* (*voib)(void* (*)());
この宣言は変数ですか?ポインタですか?
0031デフォルトの名無しさんNGNG
>>30
voibっていう名前の関数へのポインタを保持するポインタ変数の宣言?
0032デフォルトの名無しさんNGNG
C言語によるはじめてのプログラミングレッスンってどう?
チラッと見たら良さそうな感じだったんだけど。
0033デフォルトの名無しさんNGNG
コバケンは間違ってるんじゃなくて、嘘ついてるんだよ。
0034デフォルトの名無しさんNGNG
>>33

それはいえてる。
0035デフォルトの名無しさんNGNG
>>30
関数ぽいんたデヒョ?
0036デフォルトの名無しさんNGNG
>>16
>>8はポインタ変数をポインタと言うのは正解だけど、
ポインタを変数だと言うのが間違いだってことでしょ。
1を整数と言うのは正解だけど、整数を1と言うのは間違い。
他ならぬK&Rが変数だと言っちゃったから間違いが広まったね。
少なくともNULLは変数ではないポインタだし、
K&Rもアドレスのことをポインタと言ってる場面がある。
0037デフォルトの名無しさんNGNG
>>30 すれちがい
0038デフォルトの名無しさんNGNG
>>30
「voidへのポインタを返す関数へのポインタを引数に取って、
voidへのポインタを返す関数へのポインタ。」
を格納する、voibというポインタ型変数の宣言。
0039デフォルトの名無しさんNGNG
voibは変数とも言えるし、ポインタとも言える。
0040デフォルトの名無しさんNGNG
中間記憶域ですら機械語レベルでは変数という罠
0041デフォルトの名無しさんNGNG
コバケンの名著といえばこれ
http://village.infoweb.ne.jp/~kanrin/shoko/ISBN4-906424-25-2.html
0042デフォルトの名無しさんNGNG
>>40
誰も機械語の話なんかしてません。
0043デフォルトの名無しさんNGNG
Cレベルでもアドレスレジスタすら変数という罠
0044デフォルトの名無しさんNGNG
>>43
で?Cレベルではポインタは変数なんですか?(ワラ
0045デフォルトの名無しさんNGNG
>>44
誰もポインタの話なんかしてません。
0046デフォルトの名無しさんNGNG
>>45
じゃあ、>>40、>>43は一体何のための発言ですか?
話の流れを無視した紛らわしい独り言は迷惑のでやめてくれませんか?
0047デフォルトの名無しさんNGNG
>>46
>>40 は私じゃありません。
0048デフォルトの名無しさんNGNG
>>47
でも>>43があなたでしょ?
0049デフォルトの名無しさんNGNG
>>48
そうです
0050デフォルトの名無しさんNGNG
>>49
だから、>>43は無意味な紛らわしい発言ですね。
>>40はどういう意図か知らないですけど。
0051デフォルトの名無しさんNGNG
>>49-50
朝っぱらから何してんの?
0052デフォルトの名無しさんNGNG
>>50
意図は「ソフトウェアにおける変数という言葉の定義の無意味さ」です。
0053デフォルトの名無しさんNGNG
>>52
その意図は論点から微妙に、はずれてますね。
誤解されるので注意しましょう。
0054デフォルトの名無しさんNGNG
>>51
くだらねぇなぁ。
0055デフォルトの名無しさんNGNG
>>53
ポインタは貴方の論点、これは私の論点です。
0056デフォルトの名無しさんNGNG
>>55
いいえ、ポインタはこのスレの今までの論点です。
あなたの論点は43で勝手に作られました。
論点が混同されて紛らわしいですね。
0057デフォルトの名無しさんNGNG
みんな徹夜なん?寝起きなん?
0058デフォルトの名無しさんNGNG
( ´_ゝ`)フーン

どうでもいいよ。
0059デフォルトの名無しさんNGNG
>>57
俺は寝起き。
今徹夜の奴って夏休みか?
0060デフォルトの名無しさんNGNG
>>57
休みでもないのに徹夜してあと10数時間は布団に入れそうにない
0061デフォルトの名無しさんNGNG
>>56
作ったのは >>40、私はその流れに乗っただけ。
0062デフォルトの名無しさんNGNG
俺の麻奈たんは「ポインタはアドレスを格納することができる変数です」って書いてるYO!
0063デフォルトの名無しさんNGNG
つまりコバケンはEAXとかESIとかも変数だと言っている、という結論?
0064デフォルトの名無しさんNGNG
>>61
なるほど、あなたは>>40の意図や論点がわかるんですね。
ですが、話の流れを考えると40の意図はポインタ関連と
考えるのが自然でしょう。
そうではなくて、あなたの考える通りの論点だったとしても、
スレ違いで紛らわしい流れに乗るのは止めましょう。
0065デフォルトの名無しさんNGNG
>>63
それはどう考えても違うと思われ。
0066デフォルトの名無しさんNGNG
>>62
K&Rのせいでそれが定説化してるからね。
でも、K&Rはその後、&の値もポインタと言ってる罠。
0067デフォルトの名無しさんNGNG
>>64
どの話しに乗るかぐらい、好きにさせて下さい。
0068デフォルトの名無しさんNGNG
Smalltalkの入門本で良い本無いですか?
トンデモではない本がいいです。
0069デフォルトの名無しさんNGNG
パープルブック
0070デフォルトの名無しさんNGNG
なんと、すでに、糞スレ涼子!!!!!!!!!!!!!!!!!
0071デフォルトの名無しさんNGNG
>>68
Smalltalkに良本無し。これ常識。
0072デフォルトの名無しさんNGNG
>>36
アドレスがポインタというのは正しいのでは?
「newは生成したオブジェクトのポインタを返す」
「newは生成したオブジェクトのアドレスを返す」
という文章はどちらも(newがアドレスを返す処理系なら)正しい。

もっとも
「ポインタは変数である」
「newは生成したオブジェクトのポインタを返す」
だと、これはどっちかの文章が間違っていることになる。
まあどっちが間違ってるかは一目瞭然だが。
0073デフォルトの名無しさんNGNG
「アドレス」とだけ言った場合、型情報が無さそう。
0074デフォルトの名無しさんNGNG
「ポインタ」にも型情報はないのでは?
現にNULLポインタには型情報がないし。
型情報を持っているのは「ポインタ変数」じゃないかと。
0075デフォルトの名無しさんNGNG
>>74
「型情報がある」という言い回しが適切かどうかは知らないけど、
「ポインタ」も「ポインタ型の値」ではあるよ。
例えば、5は普通はint型の値で、'a'もCではint型の値。それと同じ。
NULLだって、void*型の値の時もあるし、int*型の値の時もある。
0076デフォルトの名無しさんNGNG
高橋麻奈
「ポインタはアドレスを格納することができる変数」

前橋和弥
「最初に「ポインタ型」がある。「ポインタ型」があるんだから、
「ポインタ型の変数」も、「ポインタ型の値」もある」

倉薫
「ポインタとポインタ変数は、まったく別物です。慣れないうちは
ポインタという言葉は使わずに、ポインタ変数とアドレスをいう
言葉を使い分けた方がいいでしょう」

ハーバート・シルト
「ポインタは別のオブジェクトのメモリアドレスを保持する
変数です」

最近の新人って林晴比古買わないんだね。誰も持ってない。
0077デフォルトの名無しさんNGNG
>>76
前橋と倉は合格だな。
他の二人は逝ってよし。
まあ、K&Rの責任が大きいのである程度は仕方は無いんだが…
0078デフォルトの名無しさんNGNG
>NULLだって、void*型の値の時もあるし、int*型の値の時もある。

それはNULLに型情報がないからこそ、そういうふうに使えるんじゃない?
0079デフォルトの名無しさんNGNG
誰か望洋の記述きぼーん
0080デフォルトの名無しさんNGNG
>>78
違うよ。型変換されてるだけ。
基本的には値は全部型を持つ。
そのことを「型情報を持つ」というのかどうかは知らないけど
一般常識的に考えれば良いんじゃないかな。
例えば、'a'にintの「型情報が無い」ってのは、ちょっとおかしいような
気もする。
コンパイラが変数の代入時に型の情報を必要とするわけだし。
0081デフォルトの名無しさんNGNG
>>80
では、NULLの型は?
0082デフォルトの名無しさんNGNG
Steve Ouallineの岩谷訳の場合

他の変数をポイント(=指す)変数のことを、ポインタと呼びます。
ポインタという種類の変数は、その値が他の変数のアドレスなので、
アドレス変数(address variable)とも呼ばれます。
0083デフォルトの名無しさんNGNG
>>79
柴田望洋
「ポインタとして宣言されたpは『int型オブジェクトへのポインタ型』の設計
図から作られた実態であり、一種のオブジェクトです。」
「Type型のオブジェクトxに対して&演算子を適用した&xは、Type *型のポインタ
であり、その値はxのアドレスである。」
「ポインタpの値がオブジェクトxのアドレスであるとき、pはxを指すという。」
0084デフォルトの名無しさんNGNG
>>81
始めはintもしくはvoid*。その後、いろんなポインタ型に型変換されて
変数に格納される。
0085デフォルトの名無しさんNGNG
あ、でも変換してるというか、コンパイラに特別扱いされてNULLポインタが生成されるので、
はじめからポインタ型というべきかもしれないね。
その辺は規格書見たほうが良いかも。
とりあえず、NULLって表記は 0または、(void*)0とdefineされてるけど、
それを見て、コンパイラが特別に判断する。
0086デフォルトの名無しさんNGNG
>>83
正しいのかもしれんけど、ある意味今までで一番ダメだな(w
0087デフォルトの名無しさんNGNG
>>85
まああまり言葉の解釈にこだわるとまた荒れるからアレなんだけど、
まあその辺をひっくるめて俺は「NULLには型情報がない」と言っても
いいと思うな。
0088デフォルトの名無しさんNGNG
でも望洋は問題無いな。
0089デフォルトの名無しさんNGNG
>>87
いや、それはあまり良くないと思う。
0090デフォルトの名無しさんNGNG
>>89
まあいいや。反論はしない。
0091デフォルトの名無しさんNGNG
とりあえず、NULLポインタがポインタ型の値であることは間違いない。
0092デフォルトの名無しさんNGNG
同じ大学の先生でも、こばけんと望洋ではこうも違うもんか。
興味深いな。
ま、俺はどっちも勧めないな。(w
0093デフォルトの名無しさんNGNG
たとえば、
int a = &x;
とかやると型の不一致でエラーとか警告になるわけよ。
&xって値には型情報があると考えるのが自然だね。

int a = NULL;だったらNULLがNULLポインタじゃなくて0と解釈されて
エラーにならない可能性も高いからややこしいんだけど。
0094デフォルトの名無しさんNGNG
俺は望洋の文章は理解しにくい所もあるけど、一番いいと思うな。
高卒とかならわかりにくいかもしれないけど、普通はわかる。
0095デフォルトの名無しさんNGNG
そうかなあ。俺はこれは典型的な「わかってる人にしかわからない文章」
だと思うけどな。
俺が若い頃は望洋ってこんなじゃなかったと思うんだけどな。まあ
意気込みというか、そういうのはわかるんだけどね。なんか方向性が・・・
なんか、昔好きだったバンドが、いきなり自己満足の超絶技巧に
走ってしまったみたいで、ちょっと残念だ。
0096デフォルトの名無しさんNGNG
望洋C入門本のポインタ章
http://www.bohyoh.com/Books/MeikaiA01/MKA01chap10.pdf

0097デフォルトの名無しさんNGNG
>>95
あれでは文脈がわからないから結論を出すのは早すぎと思う。
いきなり設計図とかオブジェクトと言ってるのと、何度もそういう言葉で説明してきてる
流れの中で設計図って言葉を使ってるのではわかりやすさが全く違うし。
0098デフォルトの名無しさんNGNG
望洋てこんな顔だったの!
結構若かったのね。
http://www.bohyoh.com/face.gif
0099デフォルトの名無しさんNGNG
>>97
まあ確かにそうだね。今度暇なときにでも見てみるわ。
010099NGNG
>>96を見た。前言撤回。こりゃおもしれえ!(w

isako=&sato
で、「このときisakoはsatoを指す、と言います」
まあここまではいいや。
「指す、という表現ではイメージがつかみにくいので
ここでは、
        isakoはsatoが好き(はあと)
と解釈しましょう。」

だっはっはっは! これ最高! これでポインタの説明に
なるのかどうかわからんけど、かなりいい!

でもさー、これPDFで公開してるってことは、売ってはいない
んだよな? これって昔の望洋の本、ってことかな。さっきの
ヤツとはあまりに違いすぎるけどな。
0101デフォルトの名無しさんNGNG
http://www.amazon.co.jp/exec/obidos/ASIN/4797311517/ref=ase_bookshelves-22/250-4709147-3921038
これジャロ
■ このスレッドは過去ログ倉庫に格納されています