1 :
デフォルトの名無しさん:
プログラマー版においた方がいいのかも知れないが,純粋に
技術的な間違いのみに絞りたいので,こちらに。
テキストは SoftwareDesign (技術評論社) 2001/6 p.168
「It's time for Programing」
Delphi と Kylix を活用するための Pascal 言語入門。
これが,読めば読むほど間違いだらけ。
ではいってみよう。
2 :
p.168 中 中段:2001/05/19(土) 05:41
「また,ObjectPascal は Virtual をサポートしていなかった」
Virtual の意味するところが“仮想関数”であれば,間違い。
Apple Object Pascal では「全てが」仮想関数扱いになるのであり
後から来た TurboPascal 5.5 で(効率向上のために)デフォルト
静的メソッド,virtual を個別に指定することで動的メソッド,
すなわち仮想関数であることを宣言するようになった。
だいたい,継承のみ仮想関数なしのオブジェクト指向言語って何よ。
継承するたんびに全ての関数を実装し直すのかい?
3 :
p.169 左 下段:2001/05/19(土) 05:44
「しかし Delphi4 ではだめでした。「-cc」オプションはあるのですが,コンパイル時にエラーとなるのです」
ここから数行,Delphi4 コンパイラに対する愚痴。なぜいま?
ところで,Delphi4 で DCC32 を使った場合コンソールアプリケーションを
作成できない。ということを主張されておりますが,ちょっと信じられない。
いま,手元に D4 が無いので結論は出せないが,ガセネタっぽい。
どなたか確認できますか?
4 :
p.169 中 上段:2001/05/19(土) 05:47
「Delphi 5 の場合は,Delphi 統合開発環境で「コンソールウィザード」があるので自然にできてしまいます」
コンソールウィザードって,
{$APPTYPE CONSOLE}
uses SysUtils
begin
end.
ってコードを吐くだけでしょ。中身が無いことをすごいことのように
ふくらませている悪い例。
5 :
p.170 左 下段:2001/05/19(土) 05:52
「Real は6バイトという妙な長さですが」
Delphi4 から Real は 8 バイト。Delphi4 での言語仕様の変更を
理解していない。
6 :
p.170 中 上段:2001/05/19(土) 05:56
囲みの中
「実数型は4バイトの Single と8バイトの Double」
10バイトの Extended を忘れている。わざと無視したのか?
「C/C++ と同様の..」と弁解気味の言葉が書かれているが,
C/C++ で Single/Double が 4/8 バイトと規定されているのか?
単に x87/IEEE754 の実装に依存しているだけであり,それ以上の
意味はない。
7 :
p.170 中 上段:2001/05/19(土) 06:08
大きく「●パラメータの値渡し,参照渡し,ポインタ渡し」の部分。
典型的な Pascal の教科書であれば,ポインタ渡しの代わりに(返値を格納した)
構造体を返す関数による結果の返し方を先に説明するはず。
「Pascal にもポインタがあるんだぜぃ」って知識を見せびらかしたかったのかどうかは
わからないが,後にも先にもポインタを使う例は無いので無意味。
8 :
p.172 中 上:2001/05/19(土) 06:17
「本質的に再帰的な構造を持つアルゴリズムの記述には,このようなネスティング可能な
ルーチンが非常に自然にフィットします。」
「非常に自然にフィット」って言い回しの問題は脇においといて
再帰と関数内関数はなんの関係もない。関数内関数の定義ができない
C 言語ですら自己再帰関数によるプログラミングは自然にできる。
関数内関数定義はスコープの問題として読むべきで,変数をローカル変数として
局所的に定義するのと同様に,大域スコープを持つ必要のない関数を
使う場所の近くにおくことによってコードをまとめる(理解しやすくする)
と行った意味で説明するほうが普通だろう。
関数内関数を多用すると,一番外側の関数が肥大化するためコードの
保守性は逆に下がる場合もあるが,そこまでのつっこみはなしとしよう。
9 :
p.172 右 下:2001/05/19(土) 06:23
「次のような解明を強要されました。
Text -> TextFile
Assin -> AssinFile
Close -> CloseFile」
Assin が Assign の誤字なのは,まぁいいや。
Text, Assin, Close は全部そのまま使えます。確かに一般的な単語なんだけど,
一般的だから,という訳ではなく VCL でも同名のメソッドを提供し始めた
ことが主原因。逆に VCL を使っていなければ今まで通り使えるのだ。
この雑誌記事は,コンソールアプリケーションしか作っていないので
こんな(間違った)説明は必要ない。
10 :
p.173 右 上段:2001/05/19(土) 06:27
「第一バイト目に長さを保存」「第一バイト目に長さを格納することも無くなりました」
勘定の仕方にもよるけど,第0バイト目じゃないのか?
ShortString S の文字列長さを格納しているのは S[0] だ。
11 :
p.174 左:2001/05/19(土) 06:42
「●大文字への変換」
upcase とか UpperCase とかのライブラリ,知らないのだな。
たぶん,無理して Ord と Chr 関数を使う例を出そうとしたのでしょうが,
「煩わしいほどに使うはめになるのが Ord と Chr です」というほどではない。
もし煩わしく感じるのであれば,コードの設計に問題があるのだ。
彼の煩わしいサンプルコード(一部)
if (ord('a') <= ord(ch)) and (ord(ch) <= ord('z')) then
ch := chr( ord(ch) - ord('a')+ord('A') );
順序型(Ordinary type)は,各種演算はできないけど順序付けられた物なのだから
比較はできるし,Inc/Dec 関数を使って(数値に変換しなくても)一定範囲大きな/小さな
順序型を得ることもできる。
if ('a' <= ch) and (ch <= 'z') then
dec(ch, (ord('a')-ord('A')) );
まぁ,自分だったら
const delta = (ord('a')-ord('A'));
を定義した上で
if ch in ['a'..'z'] then dec(ch, delta);
だな。Chr と Ord がうるさいって?だれだ?そんなこと行っているやつは。
12 :
デフォルトの名無しさん:2001/05/19(土) 06:44
眠いんで,一時中断。
件の文書はかなり楽しめるので,みんなでつっこみを入れましょう。
寝る前に歯みがいて手首切れよ
13=吉田弘一郎またはその身内
このスレみてると、雑誌よみたくなってきたよ・・・。
ここの、つっこみだけ見る限り、Delphiはまだそんなに使ってない人なんでしょうな・・・。
まるで、以前あった
・懐かしいゲームつくったからみてくれ
・付属のソースコードにはDelphiのグチが一杯
・つっこみどころもりだすさん
なスレの1みたいだ・・・。
16 :
15:2001/05/19(土) 09:30
>もりだすさん
もりだくさん
18 :
デフォルトの名無しさん:2001/05/19(土) 15:39
>>1 先月号(だったかな)にも今月号にも記事あるね。
かんちがいだらけで吐き気がした記事。
>>15 たしかD1が出たばかりのころに「Delphiの奇跡」とかいう本を
書いたのもこの人だったような。
あれも嘘だらけだったが、あの時期なら許そうとも思う。
だが、今でもそんな記事が許されるかってーと…
使用時間だけは長いが、勘違いが多い、というか
勘違いを是正するということを知らない感じ。
SDとかの過去記事を眺めた感じでは、
なんというかアッチフラフラコッチフラフラして
ハート(w)に技術的なスジが通ってない人なんだと見た。
技術誌でMSの「売上」を熱く語られても困るんだがな。
立ち読みでいいよ。つーかSDの編集者さんにお願いなんだけど、
吉田の部分を他の記事と抱き合わせで売らないでくださいな。
あそこ切り捨ててください。その分安くするとかしてください。
いや、誤差範囲内ということで安くならなくても許可よ。
あるいはいちいち切らなくてもいいけど、吉田に金が行かないように
してくれればそれで十分です。まぁ記事というより晒しって感じで掲載とか。
19 :
名無しさん:2001/05/19(土) 16:39
>>1 君、凄いよ。ご苦労さま。
個人的な恨みから来るパワーかな?暇なのかな?
(Delphiユーザーってこういう手合いが多いのですね)
20 :
15:2001/05/19(土) 17:21
>>18 あの本書いた人かー。
ということは、ぜんぜんDelphi使ってないわけじゃないんだね・・・。
19の言うこともありありだし、プログラマ板向けなのでsageで。
21 :
デフォルトの名無しさん:2001/05/19(土) 17:28
>>19 人生を好き嫌いの二値評価でしかみれないんだね。
動機として恨みしかでてこない,ってのは人間として情けないぞ。
22 :
復活:2001/05/19(土) 17:35
わざわざ匿名掲示板で,氏の著作物に対する批判を行わなければいけない
理由を少しはくみ取っておくれ...
23 :
19:2001/05/19(土) 17:38
ちゃんと読めよ、疑問符が付いてるだろう。
1の情熱はどこから出てくるのか・・・・まあ感心感心。
暇なお人であるのは間違いなさそうだけど。(ワラ
24 :
デフォルトの名無しさん:2001/05/19(土) 17:42
1も痛いが批判は実に的確
知ったかして批評しているジジネコも痛い。
25 :
デフォルトの名無しさん:2001/05/19(土) 17:52
>>11 大小文字変換て例はともかく、順序型の使い方に目から鱗だ。
そうやって使うのか、始めて知った、何気に役に立ったよ。
26 :
デフォルトの名無しさん:2001/05/19(土) 18:00
吉田弘一郎が本当にどーしようもないぐらいのヘタレであることは
周知の事実であると思えるのに、執拗に使いつづける技術評論社は
何か弱みでも握られているのか?
27 :
デフォルトの名無しさん:2001/05/19(土) 18:01
私は思うんだけど、どうも、
ああいった物書きの書くことにいちいち反感持つ人が多すぎる気がするな。
まあプログラム板ではそれほど目立ってはいないけれど。
「こういう考え方もある、ああいう考え方もあるな」でいいんであってね。
1はテクニカルな面を書いているにしろ、やはり吉田氏への個人的な
攻撃なんだろねと思われるし。
(他の本、他の記事の間違いを調べ上げるようなことをしてないんだもん)
ことさらに取り上げて批判してるような内容も見受けられる。
ま、いいか。
28 :
VC厨房だけど:2001/05/19(土) 18:53
このスレを見て興味を持ったので、SoftwareDesignを買ってきました。
Pascalは全然知らなかったのですが、この記事を読んでDelphiを買おう
という気になりました。
OOPの話がほとんどでてこなかったけど、記事の範囲ではPascalの言語使用
はC(or C++)よりずっと良さそうです。
間違いを指摘してくれた1に感謝。ただし
>>8には賛成しかねます。関数内関数は、
Schemeで名前つきletを使って再帰を記述する感覚にとてもフィットしている気
がしました。確かに偏った説明だとは思いますが。
>>28 Delphiで育った人間にとっては
関数内関数と再起は全く結びつかないです。
関数ネストは再起だけにフィットするのではなく
もっと他にも便利な面が多いのです。
30 :
デフォルトの名無しさん:2001/05/19(土) 19:22
雑誌などに掲載されて影響力を持つ記事を批判・批評するのはごく当たり前のこと。
ましてやしょっちゅう間違いを犯すようなライターは始終警戒されて
当たり前。まあ、批判されているうちがハナだとも思われるな。
31 :
15:2001/05/19(土) 19:46
>関数内関数と再起は全く結びつかないです。
バリバリ再帰につかっちゃってるオレは一体(;´д`)
32 :
デフォルトの名無しさん:2001/05/19(土) 20:10
>>15 >・つっこみどころもりだすさん
>なスレの1みたいだ・・・。
あのスレの1は真性厨房で痛かったな。このスレの1さんはDelphiの事を
よく理解して指摘も的確なので全然痛くないと思うが?
>>31 29は別に再帰に使うなって言ってないでしょ?
俺も関数内関数は再帰のためだけに用意されていると思わないな。
29の言うとおり他の用途でもとても便利だよ。
関数内関数を使うと再帰関数でパラメータを隠蔽できるので便利だが。
これは
>>8で言っているのと同じだね。
33 :
このスレって:2001/05/19(土) 20:29
バトルロワイアルさながら本の逆宣やてるってわけ?
論議を巻き起こして書籍の売上を上げようって魂胆?
34 :
15:2001/05/19(土) 20:33
>>32 まぎらわしくてメンゴ。1のことではなく、SoftwareDesignの記事書いた人のことね。
>29は別に再帰に使うなって言ってないでしょ?
こっちもまぎらわしくてゴメンよ。
オレも他の用途でも使ってる。
35 :
デフォルトの名無しさん:2001/05/19(土) 20:57
36 :
デフォルトの名無しさん:2001/05/21(月) 02:00
>>27 >「こういう考え方もある、ああいう考え方もあるな」でいいんであってね。
ヨクナイですよ。少なくとも技術畑では、
「あきらかな間違い」ってのは常に存在するわけで、
そういう糞を踏んでいるのに気付きもせんような
じぶんの足を清潔に保とうとしないような人は
相応の扱いを受けて然るべきかと。
「考え方の相違」で何でも片付くわけじゃないっすよ、世の中。
>>35 とても良いってのはそれなりに同意だけど、
それ以外の面を叩き出したらキリがない相手なので
適度に控えないと埒があかない、とも言えるかも…
それに、とりあえずこのスレでは敢えて看過するのもいいけど、
常に揚げ足を看過するってのは、それもまた不味いこと。
37 :
デフォルトの名無しさん:2001/05/21(月) 03:24
関数内関数を再帰に使った場合、その再帰関数の文字列型のローカル変数の
初期化仕様が、関数外再帰関数の場合と違うと思われ
>>36 でもね。
個人批判や特定の記事批判って見ていて気持ちいいものじゃなくてよ。
そのとおりだと思う面が多くても。
C++世界で言う所のK仲川やその周りの駄人間のような
存在はDelphi/Kylixには持ち込まなくてよいと思うです。
K仲川の周りの薄汚れた世界を知ってるかな?
じじい本人に言って
納得してもらえるような技術批判なら見ていて気持ちいいし
じじい本人に言っても
それは価値観の違いだなと思われるような批判なら
見ていて気持ちよくはないな、言わないでおけばいいのにと思われる。
とりあえず、SD編集部にはこのスレのアドレス知らせておこうか?(藁
40 :
デフォルトの名無しさん:2001/05/21(月) 08:42
>>38 >とりあえず、SD編集部にはこのスレのアドレス知らせておこうか?(藁
おしえてあげれば?
Delphi使ってないからあまり興味ないけど、
>>10 みたいなこと書くから1の品性を疑われてしまうんだと思う。
あるいは、「為にする批判」と取られてしまう。
1よ、十分気をつけられよ。
42 :
デフォルトの名無しさん:2001/05/21(月) 13:28
>>38 Delphi/Kylixがキレイと思っている時点で、
そうとうイタいやつ(わら
キタナイのはpcodeだけだよ。
実際にはゴキみたいに隠れて数名いるけどな。(藁
>>38 じじいって誰だよ。
じじいラッシュのじじいか?
そうだYO
アイヨ〜アイヨ〜♪
47 :
デフォルトの名無しさん:2001/05/21(月) 17:01
このスレッド面白い。
48 :
デフォルトの名無しさん:2001/05/21(月) 17:16
岩谷が色々匿名で書いてたりしてな(w
イワタニに技術的な指摘はムリ。
50 :
デフォルトの名無しさん:2001/05/21(月) 18:36
わはは(笑)
どれ、SD立ち読みしてくるわ。
51 :
デフォルトの名無しさん:2001/05/21(月) 19:57
>>38 >個人批判や特定の記事批判って見ていて気持ちいいものじゃなくてよ。
だからナニ?
気持ち良さを技術的白黒と同列に語ろうっての?
それは単に貴方の目が曇っているだけでしょ。
つまり、貴方個人の意見にすぎず(つまり、狭い)、かつ、ダサイ。
個人って…?
人間はみんな「個人」に決まってるじゃん。
貴方のその説だと、人は「誰をも」攻められなくなるのよ?
自分が言ってること(の害)を判ってる?
今目の前にこうしてワルイものが有るのよ?
なんでそれを直接言っちゃ駄目なの?
それとも間接的にねちねち陰口だけにしろとでも?
>じじい本人に言っても
>それは価値観の違いだなと思われるような批判なら
少なくとも、技術的白黒を価値観の相違だと片付けたがるような
ドキュな人間(それが吉田であろうと貴方であろうと)は
居る価値がありません。技術畑には。
老(に限らぬが)害を看過するほうが却って悪い行いだと思うぞ。
>SD編集部にはこのスレのアドレス
名案だね。どうぞ。
で、それがナニ?
53 :
デフォルトの名無しさん:2001/05/21(月) 20:20
馬鹿こそ引っ込め!と言ったのがオナか?
55 :
デフォルトの名無しさん:2001/05/21(月) 20:26
みんなでわらい合おうぜ。幸せになれるらしいぞ。
癌も治るらしいで
というか本人に直接ここは誤りだ!という旨のメールでも送ってはどうか?
書籍と違い月間ペースの記事では誤りを完全に無くすのも容易ではなかろうし、
誤りを認めれば次号で訂正文も載るだろう。
本人に送るより編集部に送ったほうがいいと思われ
本人なら黙殺されかねないけど、編集経由ならそう酷い扱いもされないはず。
編集部に技術に明るい人間が居たらなおさら。
59 :
1:2001/05/22(火) 03:56
... なんか,変な雰囲気になっちゃたな ...
2ch にしては好意的に迎えられたみたいなんで,ヨカッタ。
さて。先月号をチェックしようか?
ん?
1と51は別人?
それならよいけど。
51のオナニー文章はpcodeのにほい。
まるで、そよかぜに流れてきた生ゴミのような......
>>51 君、よそのスレにもいろいろ書いてるみたいだけど、
君のスタイルが2chにあわないことがそろそろ判っただろ?
煽りスタイルを変えるか、書き込みを自粛するかしてくれよ。
うざ。
62 :
デフォルトの名無しさん:2001/05/22(火) 14:50
>>61 なーにがスタイルだ。
せっかくの2chで島国根性(=没個性ごっこ)を再発したいのか?
ところでpcodeって何?人名?とりあえず俺は知らぬけど。
>>58 編集部でも黙殺って有りそうな。
なんせ今まで長らく載せてたんだから。
というか今までも黙殺されつづけてきてたんじゃないかな。
100%憶測だが今まで他に誰もメールしなかったとは思いがたい。
あの人は今回に限ったことじゃなく頻繁にあんな調子だったんで。
編集部だって雑誌の売上に関わる事だから黙殺はしないんじゃないかな?
読者の為でもあるんだからこんな所に書くよりその方がいいと思われ。
キティに、"きみキティだよ"と言っても気が付かないし
かわいそうな人なんだから
そっとしておいてやろうよ。
>>61
65 :
デフォルトの名無しさん:2001/05/22(火) 15:17
>>63 うーん。「1通の」メールだけなら、
64みたいに(w)「きみはキティだよ」と
決め付けることで黙認問題ナシなんじゃないかな。
もちろん一人で100通送ったら本物のキティだし。
そういう意味でも大勢がタカッテいる2chは有望。
ばざーるもでるまんせー
んじゃ、某氏は放置プレイつーことで。
51=62=65だろ?とりあえずお前はコテハンを使え、ウゼー
68 :
64:2001/05/22(火) 17:29
65は一人で勘違いしているのかな。
>>64では
51=62をキティ呼ばわりしたのだが(w)
69 :
デフォルトの名無しさん:2001/05/22(火) 19:46
>>68 他人をキティと呼んだ、という例として参照したんだが、それがなにか?
順調に荒れてますね。
銘スレの尿管
72 :
kitty:2001/05/22(火) 21:10
>>62 > ところでpcodeって何?人名?とりあえず俺は知らぬけど。
以前、Delphi-MLに出没していた、自分が見えてない馬鹿プログラマー
のことです。
73 :
デフォルトの名無しさん:2001/06/18(月) 15:41
Software Design 発売日あげ。
Pascalは氏ってるようだがDelphiは氏らないみたいだ。
>>74 んだ。PascalとDelphiの差分、つまり進歩した点を
理解する能力はかなり耗弱してると思われ。
いや最初から無かったのかな?