トップページ⇒tech
301コメント82KB

VB vs Delphi @夏厨2003

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
はい、いつものやつ、どうぞ。

前スレ
VB vs Delphi @夏厨2002
http://pc2.2ch.net/test/read.cgi/tech/1028366005/l50
0153デフォルトの名無しさんNGNG
>>152
Delphiではできない。VB.NETでは異言語間で継承できる。
0154デフォルトの名無しさんNGNG
>>153
http://www.kari.to/upload/source/d/1168.jpg

嘘つき。
0155デフォルトの名無しさんNGNG
捏造w
0156デフォルトの名無しさんNGNG
>>153
Delphiのチュートリアルにはフォームの継承の仕方が解説されてたけど。
あれ?3.1のでもムービーだっけ?

とにかく出来たと記憶。
0157デフォルトの名無しさんNGNG
age
0158デフォルトの名無しさんNGNG
良く考えてみろよ フォームは コンポーネントでありコンポーネントはクラスなんだよ。
継承が出来なくてなんでクラスなんだよ!
0159デフォルトの名無しさんNGNG
>>158
だから出来るって。
0160デフォルトの名無しさんNGNG
158の2行目は釣り
0161デフォルトの名無しさんNGNG
よく考えたらTForm1ってTFormって言う素のフォームを継承したものだし。
0162デフォルトの名無しさんNGNG
TFormのTって何?
他にもやたらとTがつくよね?Turbo?
0163デフォルトの名無しさんNGNG
>>162
Type
0164デフォルトの名無しさんNGNG
Tのおかげで一目で型と分かるんだよね。
0165デフォルトの名無しさんNGNG
>>163-164
size_tとかのtと同じなのか。
0166デフォルトの名無しさんNGNG
継承して使ってるよ。 たとえば英語版と日本語版で微妙に位置変えたいダイアログとかさ

ただ、この2つを{$IF xx } で切り替えて使うときに、完全コンパイルしないとマズイ事があったかな。
両方をプロジェクトグループに入れた時だったけ?
0167デフォルトの名無しさんNGNG
Delphi には sizeof 演算子はなくて SizeOf 関数がある。 その帰り値は Integer だ。

で Sizeof(TForm1) も Sizeof(Form1) も同じ 4を返す。
理由は、クラス型は参照だから、参照ポインタの大きさを返す為だ。
0168デフォルトの名無しさんNGNG
>>167
Cでも一緒じゃなかったっけか?

TForm1 *とTForm * Form1は当然ながら同じ者を指す。
0169デフォルトの名無しさんNGNG
>>168
c だと sizeof 演算子は size_t 型を返し size_t 型が何かは実装依存じゃなかったかな

ただ、どうもレスの流れに沿ってない発言だった事に今気づいた。
0170デフォルトの名無しさんNGNG
>>169
ただし必ず符号無し整数型
0171デフォルトの名無しさんNGNG
今年のこのスレは冷夏だな、、、
0172デフォルトの名無しさんNGNG
そりゃ未来のない開発環境じゃ盛り上がりにくかろう。
0173デフォルトの名無しさんNGNG
そもそも日本の未来がなあ・・・
その前にプログラマだけに限っても未来ないか
0174デフォルトの名無しさんNGNG
おまえら原器出せよ
0175デフォルトの名無しさんNGNG
>>174
1kg原器なら家にあるけど。
0176デフォルトの名無しさんNGNG
HSPにその座を奪われた旧VB
PC-JAPANにまで掲載されるテイタラクのDelphi6
はやくC#の世界においでよ
0177デフォルトの名無しさんNGNG
145のツールまだー?
0178デフォルトの名無しさんNGNG
おまえら便器だせよ
0179デフォルトの名無しさんNGNG
>>177
DelphiはすでにJaneがあるのでは?
0180デフォルトの名無しさんNGNG
Delばっかじゃん。欲しけりゃソースダウソしろよ。
VBやドトネトみたいにコンポーネント内部が隠蔽されて拡張性が無い環境に移植は大変だろうけど。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/7562/
0181デフォルトの名無しさんNGNG
>>179
Janeってユーザがわざわざフィルタとか書かなくても
勝手に*広告のみ*あぼーんしてくれるんだ。
すごいね。さすがDelphi
0182デフォルトの名無しさんNGNG
>>180
=2ch見てから言った方が良いぞ。
0183デフォルトの名無しさんNGNG
>>180
>VBやドトネトみたいにコンポーネント内部が隠蔽されて

中身丸見えのコンポーネントにコンポーネントとしての意味はあるのか?
0184デフォルトの名無しさんNGNG
>>183
クラスの派生ってのは、ActiveXみたくバイナリの派生でなくて、ソース派生。
ソース派生で、ソース見せないってのは目隠し。

コンポーネントの値がある時点で変わる、ここを派生で元に戻したい、というときに、
派生元のソースを見れなきゃ実行させてデバッガやテストプログラムで値を確認するしかない。
結局はやってることは同じ。ドトネトでは労力100倍。
0185デフォルトの名無しさんNGNG
>>184
結局Delphiにはまともなドキュメントがありません、ということか
0186デフォルトの名無しさんNGNG
ドトネトがクラスライブラリとしてまともじゃありません、ということです。

派生元を見せた上で、private/publicするのがクラスライブラリでつ。
ドトネトはActiveX以上のものではありません。激重の。
0187デフォルトの名無しさんNGNG
ブビ厨は10年遅れでクラスライブラリを使わせてもらえることになったのに、
また不完全なものを提供されて不幸だな。
Delphiは1.0のときからクラス言語なのに。
0188デフォルトの名無しさんNGNG
VB.NETってXMLドキュメントサポートしてたっけ?
0189デフォルトの名無しさんNGNG
>>181
フィルタは配布されてるし山の幸とも海の幸ともつかない補助ツールと組み合わせれば自動
ついでにブラクラもあぼーんされるからたしかに*広告のみ*ってわけにはいかないな
0190デフォルトの名無しさんNGNG
VB6からVB.NETに逝こう(派生プログラミング込み)を成功した人は、10年無駄にしたことを肌で感じたと思う。
そういう人は、ドトネトを見限ってまともなクラスライブラリによる開発に逝こうすべきだと思う。





この意見を理解出来ない人は終わってると思う。
0191デフォルトの名無しさんNGNG
>>186
.netのクラスライブラリで派生元なんてドキュメント見ればわかるじゃん
delにはまともなのついてないから、ドキュメント見る習慣がないのかな
0192デフォルトの名無しさんNGNG
>>191
もう一度説明が必要か?

派生元が、ある変数をある時点で変更したとする。
派生後のクラスではそれは困る、となる。
その場合に、ここを派生クラスでは元に戻したい、というときに、
派生元のソースを見れないドトネトではデバッガやテストプログラムで値を確認するしかない。
結局はやってることは同じだが、ドトネトでは労力100倍。
0193デフォルトの名無しさんNGNG
>>191
Delには標準でXMLドキュメントもJavaDocもないからヘルプ作成が面倒。
しかもC/C++と違ってヘッダとソースが分かれていないから
クローズドソースでの配布ができない。
手作業でヘッダ相当部分を*.intファイルとして
切り出すことは可能だがあくまで参考程度。
だからなし崩し的にソース公開せざるを得なかった。
ソース公開と標準のドキュメント生成ツールの
どちらか一つを採れといわれればまずは後者を採りたいね。
それから>>186は狂信的原理主義者の主張で派生元クラスが
ソースを公開する必要はさらさらない。
0194デフォルトの名無しさんNGNG
どうみても193が狂信的カルト。
ろくでもないものにマンセーしてるんだから。

>標準のドキュメント生成ツール
これだと、192の内容が解決されてないじゃん。
0195デフォルトの名無しさんNGNG
>>194
不勉強だね。.Netはバージョニングの問題は解決されてるよ。
0196デフォルトの名無しさんNGNG
>>195
バージョニングが突然出てきて頭おかしい?

こういう問題が解決されてないの!

派生元が、ある変数をある時点で変更したとする。
派生後のクラスの仕様ではそれは困る、となる。
その場合に、ここを派生クラスでは元に戻したい、というときに、
派生元のソースを見れないドトネトではデバッガやテストプログラムで値を確認するしかない。
結局はやってることは同じだが、ドトネトでは労力100倍。
0197デフォルトの名無しさんNGNG
派生プログラミングに10年送れたブビ厨にプログラミングを教えるのは難しい。
0198デフォルトの名無しさんNGNG
ついでにDelは(準)標準のTestingFrameworkがないのも辛いな。
Delにはそういったモダンな開発ツール・ライブラリがないから
旧態依然としたソース添付に頼らざるを得ないんだよ。

>>196
>バージョニングが突然出てきて頭おかしい?
>派生元が、ある変数をある時点で変更したとする。
>派生後のクラスの仕様ではそれは困る、となる。
すまんが意味分からん。具体例お願い。
0199デフォルトの名無しさんNGNG
>>派生元が、ある変数をある時点で変更したとする。
>>派生後のクラスの仕様ではそれは困る、となる。
>すまんが意味分からん。具体例お願い。

頭おかしいんじゃないの?
派生で内部変数いじったりメソッド変更するだろうが。
それが派生プログラミングの基本であって、それがなきゃ、派生プログラミングにならんだろうが。

メソッド足すだけじゃぁ、ActiveXの偽クラスと同じだよ。
何をどう説明すれば良いのか。
0200デフォルトの名無しさんNGNG
>>199
で、具体例は?
どういうケースを想定しているのかが分からないんだが。
例が出なけりゃもういいよ。
0201デフォルトの名無しさんNGNG
派生プログラミングをやったことないブビ厨が派生を間違って論じてる。信じられん。

"派生=クラスの内部変数へのアクセス+メソッドの差し替え"
だ。
これらを効率よく、かつ、間違いなく行うには"派生元ソースを確認"することだ。
良く覚えとくように。

コントロールを派生して、閉じないコントロールを作りたいと思ったとする。
クラスの表向きの仕様としては、「コントロールのある変数(具体的にはコントロールの閉じたときの戻り値か)が設定されたら、自分を閉じる」、となってるとする。
対処として、a)その変数をセットするメソッドの派生、b)コントロールを閉じるメソッドを派生、c)監視しているメソッド(が合った場合のみ)を派生、と何パターンか考えられる。
派生元ソースで確認したら、その対処のプログラミングは、ほんの数行書くだけ。
が、クラス変数がヘッダーになってたところで、その変数がprivateかprotectedかくらいしか分からん。
これをデバッガで追いかけて動作を調べるなんてことになったら作業が多いという程度の問題でなく、
正しく派生されてるのか確認し得ない、ガクガクブルブル
0202デフォルトの名無しさんNGNG
じゃあ、君は同じDelphiでもDelphi StanderdやPersonalは否定するわけだ。

0203デフォルトの名無しさんNGNG
>>201
>コントロールを派生して、閉じないコントロールを作りたいと思ったとする。

OOP少しでもかじってるならそもそも思わない。
0204デフォルトの名無しさんNGNG
ブビ厨カルト大量発生。

202=現実を否定するために、情報を極論として歪曲

203=現実を受け入れることが出来ないので、例えの関係ない部分を攻撃
0205デフォルトの名無しさんNGNG
>>204
>202=現実を否定するために、情報を極論として歪曲

事実でしょう。クラスライブラリのソースの付いてこない言語はクソ。と言う論意でしょ?
0206デフォルトの名無しさんNGNG
またカルト厨か!
0207デフォルトの名無しさんNGNG
>>205
Delphi Standerdは存在しないし、Delphi Personalは無料ダウソの体験版。
0208デフォルトの名無しさんNGNG
>>207
Delphi 3(.1) Standerd

当時\25,000程度だったか。今のPersonalのポジションだな。


歴史を知らぬ者が何を偉そうに語る。
0209デフォルトの名無しさんNGNG
決着付いたな。

ブビ厨は派生プログラミングの用語くらい勉強しておくように。
0210デフォルトの名無しさんNGNG
>>209
どうでも良いがその言葉の意味取り違えてるぞ。
0211デフォルトの名無しさんNGNG
>>209
なぁ、差分プログラミングには興味はないの?
0212デフォルトの名無しさんNGNG
>>209
こいつってDel厨じゃなくてオプソ厨に見えてきたよ。
0213デフォルトの名無しさんNGNG
>>211
お前ばかじゃないの?

クラス派生=差分プログラミング
だろうが。
0214デフォルトの名無しさんNGNG
>>209
はつみみです
派生プログラミングってなんですか?
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E6%B4%BE%E7%94%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0
0215デフォルトの名無しさんNGNG
>>213
interfaceやcomposition知ってる?
0216クラス派生NGNG
214=馬鹿すぎブビ厨

クラス派生のプログラミングだろうが。

http://www.google.co.jp/search?q=%E3%82%AF%E3%83%A9%E3%82%B9%E6%B4%BE%E7%94%9F&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0217デフォルトの名無しさんNGNG
>>209はDel厨を装ったアンチです。騙されないでください。
209のアホさ加減とDelphiの価値は無関係です。
0218デフォルトの名無しさんNGNG
>>213
だとしたらカプセルを無視するお前のスタイルは問題外と言わざるを得ない。
0219デフォルトの名無しさんNGNG
>>217
激しく同意。Del3stdしらんみたいだしな。
0220デフォルトの名無しさんNGNG
>決着付いたな。
>
>ブビ厨は派生プログラミングの用語くらい勉強しておくように。

派生プログラミングに該当するページが見つかりませんでした。

検索のヒント
- キーワードに誤字・脱字がないか確かめてください。
- 違うキーワードを使ってみてください。
- より一般的な言葉を使ってみてください。

>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
>派生プログラミング派生プログラミング派生プログラミング派生プログラミング派生プログラミング
0221デフォルトの名無しさんNGNG
あのさ、今度からDel VS .NETにしない?
0222デフォルトの名無しさんNGNG
>>221
Del.NETが出たら意味無いじゃん。
0223デフォルトの名無しさんNGNG
>>221
土俵違いだからなぁ。

ネイティブ組
VB VC++ Del gccなどなど

中間コード組
.NET Java
0224デフォルトの名無しさんNGNG
>>223
そういう区分ってあまり意味ないと思うけどな。
DelphiもC#も普通に作って使ってる分には全然変わらないよ。
0225デフォルトの名無しさんNGNG
WindowsがカバーできるコンピュータはデスクトップPCだけだし、
.NETのみしか使えない言語の時代はもう終わりじゃん。
0226デフォルトの名無しさんNGNG
>>224
コンシューマーからすればそれで良いんだけど、ここ、ム板なのよね。
0227デフォルトの名無しさんNGNG
>>223
ていうか何でVBがネイティブ組み何だよ? 釣りか?
0228デフォルトの名無しさんNGNG
>>227
お前が釣りだろ(w


もしかして・・・マジ?
0229224NGNG
>>226
開発側としての感想でもあるんだけど。
で、「具体的」にどう区別されるわけ?
0230デフォルトの名無しさんNGNG
>>229

>>223
0231デフォルトの名無しさんNGNG
せっかく、VBランタイムから離れるチャンスがあったのに、ブビ厨は。
またまた酷いドトネトランタイムにひっかかるんだから。
これからはユビキタスであって、PCの時代終焉。
ドトネトはPCでもデファクト取れてない。
0232224NGNG
違いはVMか否かよりもプラットフォーム(Win32API, Linux/Unix, .Net, Java)と
それが提供するAPIセットの違いの方がよほど大きいと思う。

なんか書き込み辛いな・・・
0233デフォルトの名無しさんNGNG
>>231
釣りはいい加減にしなさい。
0234デフォルトの名無しさんNGNG
KylixはSHプロセッサでも動作するんだから、Delphiの勝ちでしょ。
0235デフォルトの名無しさんNGNG
>>231
でも、クロスウインドウズプログラミングってのは魅力だぞ。
Win64な環境でもエミュレーションなしで動く。
それがインタプリタのメリットだな。
0236デフォルトの名無しさんNGNG
>>234
・・・何が?
0237デフォルトの名無しさんNGNG
>>235
Win64でインタプリタかよ。

魅力を感じない。
.NETの魅力は、魅力ですと宣伝してるだけで実質的な良さが無い。
0238デフォルトの名無しさんNGNG
>>234
えと。また釣りでしょか?
KylixはSHプロセッサで動作してないからDelphiの負けと言ってほしいとか?
0239デフォルトの名無しさんNGNG
.net/javaはインタプリタじゃないんだが・・・
さらに実行時には中間コードですらない(ようにすることができる)んだが・・・
0240デフォルトの名無しさんNGNG
>>239
そういう”遅くない”という魅力的な宣伝してもらっても、
実際のドトネトアプリの動作に魅力が無い。






というか遅くてビクリした。
0241デフォルトの名無しさんNGNG
>>239
でも、JIT使ってもネイティブアプリ並みのスピードって出ないですよね。
0242デフォルトの名無しさんNGNG
良い部分が全く無いドトネトを、悪くないです、と宣伝するのはつらいだろうな。
0243デフォルトの名無しさんNGNG
ASP.NETとかは結構良い感じなんだけどな。

なんかサーバサイドでは良い感じってとこまでJava似だなと思った。
0244デフォルトの名無しさんNGNG
>>241
起動時やGUI周りの重たさは確かにあるけど
コードの実行性能は悪くないと思ってるよ。

実感としては
C/C++>=Delphi=C#>>>>>>>>>>>>>>Perl
ってとこかな。
ただ無駄にGC走らせるようなコード書くと極端に遅くなるケースはあるけど。
0245デフォルトの名無しさんNGNG
>>244
DelphiがC++(MFC?)より遅いってのもあんまり聞かないけど、どんな環境でベンチしたの?

DelphiとBCBで全く同じコンポーネント使ってとか?
0246デフォルトの名無しさんNGNG
結局ホワイトボックス継承マンセーのアホがブラックボックス継承を知らずに自爆したということでFA?
0247デフォルトの名無しさんNGNG
コーディングの前に設計をきちんと勉強してほしいよなあ。アホアンチには。
0248デフォルトの名無しさんNGNG
>>246
自爆はブラックボックスで発生する。

"派生=クラスの内部変数へのアクセス+メソッドの差し替え"
だ。
これらを効率よく、かつ、間違いなく行うには"派生元ソースを確認"することだ。
良く覚えとくように。

コントロールを派生して、閉じないコントロールを作りたいと思ったとする。
クラスの表向きの仕様としては、「コントロールのある変数(具体的にはコントロールの閉じたときの戻り値か)が設定されたら、自分を閉じる」、となってるとする。
対処として、a)その変数をセットするメソッドの派生、b)コントロールを閉じるメソッドを派生、c)監視しているメソッド(が合った場合のみ)を派生、と何パターンか考えられる。
派生元ソースで確認したら、その対処のプログラミングは、ほんの数行書くだけ。
が、クラス変数がヘッダーになってたところで、その変数がprivateかprotectedかくらいしか分からん。
これをデバッガで追いかけて動作を調べるなんてことになったら作業が多いという程度の問題でなく、
正しく派生されてるのか確認し得ない、ガクガクブルブル
0249デフォルトの名無しさんNGNG
>>246-247
一人で踊ったところで、終わった祭りはもう戻ってこないんだよ。
0250デフォルトの名無しさんNGNG
あげ
0251デフォルトの名無しさんNGNG
ブラックボックス継承とは何かと考えてみると、ActiveX。
プログラマからみると変なことなんだけど、ブビ厨には今までと同じだから違和感無いんだ。納得。
こんな詐欺みたいなことが許されて良いのだろうか。
タイムスリップというか、タイムカプセルに閉じ込められて進化を止められてるよ。
0252デフォルトの名無しさんNGNG
>>251
フィルタであぼーんできるようにコテハンにしてくれ。
■ このスレッドは過去ログ倉庫に格納されています