【肥大化】C++ を見捨てたヤシ【複雑化】at TECH
【肥大化】C++ を見捨てたヤシ【複雑化】 - 暇つぶし2ch428:デフォルトの名無しさん
08/04/27 22:07:54
>>427
GNUがやってる、全ファイルをあらかじめ一本に結合してからコンパイル。
互換性の問題があって難航している。

429:デフォルトの名無しさん
08/04/27 22:08:49
関数マクロを使えば、インライン展開されるから
普通の関数より実行速度が速いってことではないか?
今はインライン関数があるから要らないな。

430:デフォルトの名無しさん
08/04/27 22:10:55
C++からC言語の悪い部分を取り除いた、ネイティブコード吐ける言語がほしいな

431:デフォルトの名無しさん
08/04/27 22:12:43
>>428
CPPとは別のプリプロセッサがあるのか。
それをやると、objごとにコンパイルするとかできなくなるんじゃないの?
ファイル数が減ると極端に速度が上がるのは検索システム作った時に経験したけど、
なんか逆向き行ってるような気がしないでもない。

432:デフォルトの名無しさん
08/04/27 22:13:13
んなことしたってさしてメリットのない非互換C++が増えるだけだろ。

433:デフォルトの名無しさん
08/04/27 22:14:54
>>431
仕組みでポカすると、それだけ深刻って事
アルゴリズム軽視するべからず。

434:デフォルトの名無しさん
08/04/27 22:15:14
>>429
ほー。

435:デフォルトの名無しさん
08/04/27 22:15:29
>>418
へー面白そう
やってみよっと


436:デフォルトの名無しさん
08/04/27 22:19:25
まぁRuby最高って書いとけばいいみたいだな。

437:デフォルトの名無しさん
08/04/27 22:22:26
>>433
つまりジェネリクスはダイナミズムで桶ってことですか?

438:デフォルトの名無しさん
08/04/27 22:30:32
趣味でやるならC++だが、
仕事では、絶対に使いたくないな。

バカが一人居ると、まともなものが完成しなくなる

439:デフォルトの名無しさん
08/04/27 22:36:21
2チャンネルももうだめかもなぁ。
前はたまに賢い人がいたもんだけど、最近は呆れてすぐ帰っちゃうな。
全員で釣竿垂らしてるような状態だな。

440:デフォルトの名無しさん
08/04/27 22:36:41
>バカが一人居ると
敷居が低い言語程、バカによるダメージが小さいってのはあるな。
バカが居た場合のダメージは
  C++ >>> Java > PHP
個人的な経験からだけどね。

でもまともなメンバーならある程度逆になる。
ライトウェイト系も悪くは無いけど、コンパイラの助けが少ないからね。
Javaも大人数でやれるけど、
パフォーマンスの問題が出たときとか結構大変だった。

441:デフォルトの名無しさん
08/04/27 22:38:14
>>439
まじで。プログラム板すごくレベルが低い。見てられない。

442:デフォルトの名無しさん
08/04/27 22:40:04
昔からこの板のレベルは大したことなかったろ。

443:デフォルトの名無しさん
08/04/27 22:42:06
>>442
いや、そんなことなかった。
まえは、なんだかんだいって煽りあいつつもまともな議論をしてたよ。
それなりのバックグラウンドのある人が煽りあってたっていうかさ。
今は何だか知ってる単語並べてるだけみたいな。
なんだかなぁ。

444:デフォルトの名無しさん
08/04/27 22:48:05
>>443
キミがゆうな

445:デフォルトの名無しさん
08/04/27 22:49:29
2003年の頃 (googleキャッシュ)
URLリンク(72.14.235.104)

446:こうですか? わかりません
08/04/27 22:52:33
キモいんだよね。
みみっちい言い合いばかりで。
がみがみ言うのもなんだけど、
ゆとりを持とうよ。あれこれ言われても
うざいなんて思わずに
なかよくやろうよ。


447:デフォルトの名無しさん
08/04/27 22:52:39
2001年の頃 (文字化けする人はソース表示で)
URLリンク(web.archive.org)

448:デフォルトの名無しさん
08/04/27 22:53:44
>>445
149: 人工ガッツ石松をプログラミングするヌレッド (16)
このスレなんか名スレだったんだろうなぁ。
おれの予想ではたった16レスで人工知能完成させたと思うぜ。
今の造るスレは>>50までいかないで放棄されるからなぁ。

449:デフォルトの名無しさん
08/04/27 22:57:38
モリタポ使って見たけど、確かに16レスで完成してたなw

16 :デフォルトの名無しさん :03/08/18 00:00
main()
{
while(1)
printf("OK牧場\n");
}

450:デフォルトの名無しさん
08/04/27 22:59:06
>>446
いやそうじゃなくてさ。
あおりあいは昔からすごかったぜ。
でも中身はしっかりしてたよな。
今って適当に相槌うったりしてるけど、バックグラウンドが透けて見えるじゃんか。
何書いてんだろこいつ・・なんて思いつつ、ほーそれはすごいねとか書きこんでるわけよ。
言ってみればリア中が多いんだろな。
リア中って昔はHSPスレにいて棲み分けできてたんだけどなぁ。

451:デフォルトの名無しさん
08/04/27 23:00:12
>>449
うけたw
ほんとに名スレだったんだなw

452:デフォルトの名無しさん
08/04/27 23:01:11
>>450
このスレタイは、そういう人を呼び寄せるタイトルだと思います。

453:デフォルトの名無しさん
08/04/27 23:05:06
しかし、見れば見るほど洗練されたコードだなぁ。
たった数行にガッツ氏のすべてが詰め込まれてるなぁ。

454:デフォルトの名無しさん
08/04/27 23:09:11
まぁ2chの性質上仕方ないかもな。
あとIDが出ないのがそれを加速させてる。

455:デフォルトの名無しさん
08/04/27 23:17:03
>>454
俺もそう思う。
IDがあった方が良いって言っても
「書き込みが減る」「IDがあっても変えて自演出来る」とか言われるんだよな。

それで減るような書き込みなんて大したレスじゃないだろうし、
ID変えたって
スレリンク(software板:29-43番)n
みたいなことになるから、IDあっても良いと思うんだけどな。



456:デフォルトの名無しさん
08/04/27 23:57:10
R15指定でおk

457:デフォルトの名無しさん
08/04/28 17:53:27
馬鹿っぽい書き込み発見!!!


458:デフォルトの名無しさん
08/04/28 18:50:25
そもそもC#からDirectXを呼ぶ公式な手段は消滅しました。

459:デフォルトの名無しさん
08/04/28 19:25:08
それが肥大化と

460:デフォルトの名無しさん
08/04/28 21:49:37
>>458
だから何?アホ?

461:デフォルトの名無しさん
08/04/28 22:26:37
SlimDX

462:デフォルトの名無しさん
08/04/29 21:03:23
昔と比べて質が下がったとか言ってるけど
一番、質を下げてるのはその発言だってのは、お兄さんと君との「ひ・み・つ」だぞ!!!


463:デフォルトの名無しさん
08/04/29 23:59:32
テンプレートがソースに混ざると
なんか異物っぽいんだよねぇ なかなか慣れないですC++

464:デフォルトの名無しさん
08/04/30 00:03:34
テンプレートで異物感を感じてるようじゃ、C++0xなんか拒否反応だろうな。

465:デフォルトの名無しさん
08/04/30 00:23:15
テンプレートははまる

466:デフォルトの名無しさん
08/04/30 03:18:16
実際テンプレートだけ扱いや制限がかなり異なるからなぁ

467:デフォルトの名無しさん
08/04/30 13:37:16
CよりC++のほうがわずかに速い。
理由は・・・知らん。
Rubyが意外と善戦してて僅かながらPrologより速いのには恐れ入った。
↑褒めといたから荒らすなよ。

URLリンク(shootout.alioth.debian.org)

468:デフォルトの名無しさん
08/04/30 14:10:12
>>467
コンパイル時解決を多用して
オーバーヘッドを極力減らすコーディングになってるんじゃないかね

469:デフォルトの名無しさん
08/04/30 14:11:03
C++を静的なPerlとして使ってる奴も少なからずいるだろう。
そういう場合はCの方が速い。

470:デフォルトの名無しさん
08/04/30 19:49:39
C++を性的な目的で使ってごめんなさい

471:デフォルトの名無しさん
08/04/30 19:54:51
詳細希望

472:デフォルトの名無しさん
08/04/30 19:58:22
(i)

473:デフォルトの名無しさん
08/04/30 20:25:31
->*

474:デフォルトの名無しさん
08/04/30 22:36:40
エロゲ屋くらいか、そういうの。

475:デフォルトの名無しさん
08/04/30 23:19:36
決して万人受けしない拡張がいくらか入ってるのはそりゃそうだけど、
クラスとあんまり関係ない部分も「便利C」程度にはなってんだから、そこらへん愛せばいいじゃない、とも思う

あとString関連とか。
C文字列の扱いなんて「理屈は分かり切ってるけど、まどろっこしい」人が使うにはちょうどいいだろうし。
(Stringから入ったりしたら怖いけど)

476:デフォルトの名無しさん
08/04/30 23:35:53
えーとStringってどこのnamespaceですか。
stdはstringですよ。

477:デフォルトの名無しさん
08/04/30 23:44:36
知ってるけどCStringその他あるから限定しないように書いた

478:デフォルトの名無しさん
08/05/01 00:27:27
は?

479:デフォルトの名無しさん
08/05/01 00:30:11


480:デフォルトの名無しさん
08/05/01 02:28:40
何にせよCの方が楽だけどね

481:デフォルトの名無しさん
08/05/01 03:30:47
デストラクタが無いCはまともに使う気しない

482:デフォルトの名無しさん
08/05/01 03:53:53
デストラクタなんて要らない
必要以上に高い所へ上がろうとするから、
落ちやしないかと心配になるんだよ

483:デフォルトの名無しさん
08/05/01 09:36:30
>>482は、malloc()しても、free()しない要注意人物


484:デフォルトの名無しさん
08/05/01 09:57:26
>>483はコンストラクタ/デストラクタがnew/delete時にしか実行されないと思っているうっかり屋さん。

485:デフォルトの名無しさん
08/05/01 10:06:48
>>484
使ったら、後始末をする
そんな当たり前の事をするのが、コンストラクタとデストラクタ
Cで、malloc()したらfree()するのとなんら変わらない

そして、明示的にnewをしても、明示的にdeleteするとは限らないのがC++


486:デフォルトの名無しさん
08/05/01 10:09:56
>>485
メモリだけじゃないってことを言いたかったんだけどね。
リソースリークはmalloc/freeのペアでは解決できない。

487:デフォルトの名無しさん
08/05/01 10:18:35
コンストラクタ/デストラクタっていろいろ応用が利くじゃん
ぶっちゃけ処理はみんな関数じゃなくて関数オブジェクトに分割すべきだと思えてきた
そして俺はきっとこの後関数型言語へ流れていく…

488:デフォルトの名無しさん
08/05/01 10:19:20
>>486
一行で、簡潔にどの環境でも起こりうる事を書けば
malloc()とfree()で十分伝わると思うが
伝わったから、newとdelete時しかって言ったんだろ?

つーかさ、リークはメモリだけじゃないつって>>483に煽り入れるのが間違ってるだろ
そもそも、リークさせてるのは>>482なんだから


489:デフォルトの名無しさん
08/05/01 10:19:54
双方の主張の意味が分からないのは俺だけですか。
RAIIとか自動変数が分からないってことではなく。

490:デフォルトの名無しさん
08/05/01 11:19:01
少なくてもコンストラクタ/デストラクタ無しなんて
ありえないってことは分かったろ?

C時代もmallocで確保したメモリをまとめて管理できる
ポインタリスト作ってたよ、俺は。

491:デフォルトの名無しさん
08/05/01 11:53:17
>>488
>そもそも、リークさせてるのは>>482なんだから

文字列如きでデストラクタ使わないとリークさせちゃう奴なんかいねーよ
それともあんたはそうなのかい?

492:デフォルトの名無しさん
08/05/01 12:53:09
>>491
すげー自信だな
文字列如きでリークなんかしねーよなんて口が裂けても言えないなぁ
メモリの確保が単純にmalloc()すればいい保証なんて何処にもないし


493:デフォルトの名無しさん
08/05/01 12:59:46
おそらくスタック上にchar string[30];とかしてオーバーランさせまくってんじゃないか



494:デフォルトの名無しさん
08/05/01 13:27:13
文字列如きでリークさせちゃう>>491が居るから
C++でvectorとかstringとか出来たのにな

495:デフォルトの名無しさん
08/05/01 13:55:17
うちにも注意しとけばリークなんて起きないと思ってる爺がいるよ

496:デフォルトの名無しさん
08/05/01 14:22:02
>文字列如きでデストラクタ使わないとリークさせちゃう奴なんかいねーよ

すとりんぐって一応スマートポインタの仲間よね と最近思った

497:デフォルトの名無しさん
08/05/01 14:26:56
資源管理オブジェクトとスマートポインタは違うんじゃないかと。
逆参照を抽象化するものがスマートポインタなのでは?

498:デフォルトの名無しさん
08/05/01 14:29:50
いちいち注意してないとリークするWindowsがおかしいんだろ。
おれはLinuxで一度もリークしたことない。

499:デフォルトの名無しさん
08/05/01 14:31:51
ハァ?
アクセス違反ごときでOSごと落ちる窓95の事言ってるのならわかるけどw

500:デフォルトの名無しさん
08/05/01 14:32:35
むしろWindowsとの互換性のためにデストラクタがあるようなもので
Windowsさえなかったらデストラクタは必要なかっただろうな。

501:デフォルトの名無しさん
08/05/01 14:33:55
え??

502:デフォルトの名無しさん
08/05/01 14:43:40
DigitalMars の D ってどうなんかなー

503:デフォルトの名無しさん
08/05/01 14:45:37
>>498
> おれはLinuxで一度もリークしたことない。
「俺は生まれてこの方嘘を吐いたことがない」に負けない位、信用ある言葉だなw


504:デフォルトの名無しさん
08/05/01 14:47:00
意味わがんねー ネタだとは思うけど

Windowsって確かMFCとかでウィンドウ系オブジェクトはこちらのnewではなく自動の動的生成に任せて
ウィンドウとしての寿命の終了に合わせて勝手に破棄される、とか妙なルールあるよね 嫌いじゃないけど。

505:デフォルトの名無しさん
08/05/01 14:54:35
>>504
わからないならレスしないでください。
Linux使ったことないんだろ?

506:デフォルトの名無しさん
08/05/01 14:59:24
>>503
まぁ、低スキルな自分を「普通」と思いたい人には、その二つが同じような言葉に見えるよね。

507:デフォルトの名無しさん
08/05/01 15:02:35
そりゃ、こんぴゅーたーがあるにも関わらず、自分の頭でかんりするような高スキルな人とは話があうわけがないw


508:デフォルトの名無しさん
08/05/01 15:14:22
malloc()とfree()って
fjかここは

509:デフォルトの名無しさん
08/05/01 15:24:21
>>507
誰でも何かをこんぴゅーたーにかんりしてもらいつつ、自分でも何かをかんりしてて、
違うのはその内容なんだから、自分のあたまで何かをかんりしてる図そのものを取り出しても、
意味のある返しにはならないなぁ。

510:デフォルトの名無しさん
08/05/01 16:33:03
仮に、「俺はデストラクタを書いたことがないからデストラクタが不要だ」と言うならば
「馬鹿は死ね」と言いたい

仮に、「メモリやリソースの管理位、デストラクタを使わなくても出来るだろう」と言うならば
「会社辞めて僧侶になって、鬱で自殺した人たちの供養をしろ!!!」と言いたい


511:デフォルトの名無しさん
08/05/01 16:37:58
【米国】 中国はわが国の「敵対者」になり得る CIA長官が警鐘
スレリンク(news板)

512:デフォルトの名無しさん
08/05/01 16:38:18
↓釣り宣言

513:デフォルトの名無しさん
08/05/01 16:39:59
↓幼稚な煽り

514:デフォルトの名無しさん
08/05/01 16:40:56
浜辺で見知らぬおじさんが僕を釣り上げビックリしてた

515:デフォルトの名無しさん
08/05/01 16:43:48
プロセスが落ちても、プロセスが持ってたメモリやリソースを開放しきらない、
昔のWindowsの話をしてる奴が居る予感。

他の人はプログラム上でのリーク、開放してないメモリのアドレスや、リソースのハンドルをロジック的に見失うことについて話してる。

長時間稼働し続けるサービス、デーモン、組み込み系のプログラムでリークは普通に致命的。

プロセス終了時にOSが開放するとか全然関係無い。

516:デフォルトの名無しさん
08/05/01 16:56:48
1941年12月8日に日本が真珠湾を攻撃し、太平洋戦争が始まると、
ヒトラーはその直後の12月11日の演説で
「我々は戦争に負けるはずがない。
我々には3000年間一度も負けたことのない味方が出来たのだ!」
と日本を賞賛し、アメリカに宣戦を布告した。

517:デフォルトの名無しさん
08/05/01 17:05:10
「ヒロポンでは戦争に勝てない。」まで読んだ。

518:デフォルトの名無しさん
08/05/01 17:09:27
Windowsがへぼいからデストラクタが必要になるだけで、コンピューティングの
本質とデストラクタは無縁。
デストラクタはないほうがいいのだから、Windowsに合わせる必要はない。
結果、Windowsを使ってはいけないという結論が出てる。

519:デフォルトの名無しさん
08/05/01 17:17:31
>>518
釣りはいいよ、もう
君だって、デストラクタは使わないにしても
デストラクタ的な、xxx_dispose()のような関数作って
使ってるんだろ?
一緒だよ、むしろしょぼいよ

520:デフォルトの名無しさん
08/05/01 17:19:20
>>518

>>515

521:デフォルトの名無しさん
08/05/01 17:21:38
>>519
> xxx_dispose()
これでは語順がおかしいだろう。
人に意見するなら最低限の知識を仕入れてこい。
最低限、Ubuntuくらい使いこなせないと話にならない。

522:デフォルトの名無しさん
08/05/01 17:30:39
>>521
昔のCはクラスや名前空間がないから
そういう風に表すのが一般的「だろう」と
まあ想像なんだけどねぇ。

例えば、タイマのサービスなら
timer_initialize()
timer_get()
timer_dispose()
とか。

あんたさぁ本当にCプログラマ?

523:デフォルトの名無しさん
08/05/01 17:34:42
>>522
スレたいよめ。
知ったか無用。

524:デフォルトの名無しさん
08/05/01 17:50:04
C++規格策定時からあるものでwindowsとか関係ねーし

525:デフォルトの名無しさん
08/05/01 18:09:17
atexit はデストラクタ的だ

526:デフォルトの名無しさん
08/05/01 18:46:29
>>518
あんたの脳内では「デストラクタは無いほうが良い」が不動の真理であるようだが
みんな「そんなことないんじゃない?」って思ってるんだから
まずはなぜ「デストラクタは無いほうが良い」のかを説明してくれないか。

527:デフォルトの名無しさん
08/05/01 18:49:26
『僕はデストラクタが無いと文字列操作も出来ないです』
『asprintf() を知らないので、C は怖くて使えません』

↑これに該当しない人はこのスレにはいないみたいだな…

528:デフォルトの名無しさん
08/05/01 18:51:57
むしろGC無いと組む気がしない

529:デフォルトの名無しさん
08/05/01 19:07:28
例外あってデストラクタ無いとコードが膨れ上がっちゃうな。

530:デフォルトの名無しさん
08/05/01 19:10:20
>>518 >>527
釣りはよそでやってくれないか。

531:デフォルトの名無しさん
08/05/01 19:15:59
釣りってことにしないと真っ直ぐ歩けないのかな

532:デフォルトの名無しさん
08/05/01 19:18:55
何故釣り呼ばわりされるか、自覚無いだろうけど、
相当痛いこと言ってるんだよ、お前は。

533:デフォルトの名無しさん
08/05/01 19:28:13
つまりデストラクタが無いと何も出来ないんだな
そこまで染まっちゃうと冷静な比較も無理だろう

534:デフォルトの名無しさん
08/05/01 19:31:18
>>531
釣りってことにしないと、ホントの本気で馬鹿にするしかなくなるからでは?

535:デフォルトの名無しさん
08/05/01 19:38:50
デストラクタ君もデストラクタが無いなんて有り得ないの一点張りでしょ。
もともとまともな会話が始まる余地が無い。

536:デフォルトの名無しさん
08/05/01 19:43:14
釣りとかネタとか言う前に地の議論がお寒い。

537:デフォルトの名無しさん
08/05/01 19:49:48
>>536
全体を等しく腐してドロー狙いですか?w

538:デフォルトの名無しさん
08/05/01 19:54:22
いや、あんたの所まで落ちるつもりは無いよ。

539:デフォルトの名無しさん
08/05/01 19:55:45
盛り下がってまいりました

540:デフォルトの名無しさん
08/05/01 19:57:19
最早 C++ とは関係が無いな

541:デフォルトの名無しさん
08/05/01 19:57:54
釣りではなく本気だとしたら、哀れすぎて手が出せない。


542:デフォルトの名無しさん
08/05/01 19:59:38
>>536
機能についての雑談は良いんじゃね?スレタイ的に。

>>537
しょうがないから真面目に相手するよ。
まずRAIIについて軽くググってくれ。
とりあえずそれが代表的なデストラクタの利点だ。

不要と思う理由を頼むよ。
OSは関係無いからね。

それと、ここのスレタイ見て来たC++ユーザーに、
>>527に該当する奴はまず居ないだろう。
初心者スレとかには、そういうのも居るだろうけどね。

543:デフォルトの名無しさん
08/05/01 20:02:40
>>538
お寒い返し乙。

残念だったね一人負けでw

544:デフォルトの名無しさん
08/05/01 20:03:46
javaやC#も採用したってことは必要なんでしょ。

545:デフォルトの名無しさん
08/05/01 20:10:23
C++ がもう少しまともな言語だったら良かったのにとつくづく思うよ。

546:デフォルトの名無しさん
08/05/01 20:11:17
javaとc#にデストラクタは無いよ。
ファイナライズは事実上別物。
ただし、そこを補完するため、

javaはtry-finally、c#はusingが用意されてる。

547:デフォルトの名無しさん
08/05/01 20:14:23
>>545
具体的に書こうぜ。
ただ「駄目」とだけ書くのは誰でも出来る。

548:デフォルトの名無しさん
08/05/01 20:26:23
>>545
誰かが(いずれかの言語が)やってみなきゃならなかったことを
やる役だっただけさ。

549:デフォルトの名無しさん
08/05/01 21:02:21
>そこを補完するため、

足りなかったんですね。

550:デフォルトの名無しさん
08/05/01 21:02:48
>>546
なんで無用なものに対して「補完」する必要があるの?
無用なら全く無くしちゃってもいいじゃん。

551:デフォルトの名無しさん
08/05/01 21:10:53
>>549
はい、足りなかったんです。
GCでメモリは回収出来ますが、リソースは無理でした。

>>550
え?なんで無用なの?
ファイルとか閉じれないとヤバいでしょ?

552:デフォルトの名無しさん
08/05/01 21:13:23
>>546の途中の改行はミスだから気にしないでね。
文は繋がってるよ。

553:デフォルトの名無しさん
08/05/01 21:29:39
だからWindowsが糞な実装だから必要になってるだけで、まともな実装では
必要ないだろが。
お前ちゃんとLinux使ってから発言しろよ。
Linuxも使えない雑魚が。

554:デフォルトの名無しさん
08/05/01 21:31:01
>>524

MSC7.0/VC1.0発売は1992年で、結構早い時期に登場したC++コンパイラ、
C++がISO認証されたのはもっと後

555:デフォルトの名無しさん
08/05/01 21:36:17
>>553
なぁ、>>515読んでもOSが関係無いってことが分からないか?

それとお前以外がLinux使えないって思い込んでるけど、それも間違い。

556:デフォルトの名無しさん
08/05/01 21:37:22
BSD派だからペンギンは使え(わ)ない。

557:デフォルトの名無しさん
08/05/01 21:42:06
コンストラクタとデストラクタでログ吐くモジュールとか
破棄時に遅延評価を行うプロキシクラスとか
デストラクタなしでどうすんの?

ファイナライザでやれ、つうのは名前変えてるだけで同じだね。

あ、もしかして
デストラクタ(ファイナライザ)の有用性は認めるが
そこに資源破棄の役割を持たせる必要は無い、という主張なのかな?
一考には価するかも。

558:デフォルトの名無しさん
08/05/01 21:42:14
>>553
それと、まさか勘違いはしてないだろうけど、
こっちはデストラクタが無いとプログラム組めないとか
そういう主張はしてないからな。

ガベージコレクタ無くても組めるのと同様。

559:デフォルトの名無しさん
08/05/01 21:43:11
OS関係ないだろ
寧ろ基幹鯖とかで致命的

560:558
08/05/01 21:43:44
555=558

561:デフォルトの名無しさん
08/05/01 21:47:47
mallocやnewで借りたものは
Win9xですら終了時にプロセス空間ごと更地になるわけで…
いつのwindowsの話かと

562:デフォルトの名無しさん
08/05/01 21:50:19
結局デストラクタは無くても良いという事で全員の意見が一致したなw

563:デフォルトの名無しさん
08/05/01 21:51:58
プロセス終了までリソースを解放しない人は誰ですか?

564:デフォルトの名無しさん
08/05/01 21:53:23
しかし何でWindowsとLinuxを比べてるんだろうか

言語の違いで言うなら、GCのある言語ではデストラクタがほぼ空になるから
GCの無いC++を批判する気持ちは分かるんだが…

565:デフォルトの名無しさん
08/05/01 21:54:33
反論出来なくなったら勝利宣言とは・・・。
釣りじゃなかったら、すごい哀れだな・・・。

566:デフォルトの名無しさん
08/05/01 21:57:53
あれあれ、まだデストラクタが無いとプログラム組めない人が居たのかな?

567:デフォルトの名無しさん
08/05/01 21:59:51
しおり
>>480-566

568:デフォルトの名無しさん
08/05/01 22:00:15
オブジェクト指向にデストラクタが本当に必要か考えてみるがいい。
Windows使ってると頭おかしくなるのか?
なんでここまで説明してやらないとわからないんだろう?

569:デフォルトの名無しさん
08/05/01 22:05:20
オマエより頭が良くて偉い人が必要だと判断したからな

570:デフォルトの名無しさん
08/05/01 22:05:45
for文て何のためにあるの?
while文で十分じゃん

571:デフォルトの名無しさん
08/05/01 22:07:11
いや、末尾再帰の最適化があればそれで十分だ

572:デフォルトの名無しさん
08/05/01 22:08:03
何故OSが関係無いことを理解出来ないのかが分からない・・・。

シックスセンスじゃないけど、
見たいレスしか見えないんだろうか。

573:デフォルトの名無しさん
08/05/01 22:09:38
デストラクタといえばDのscope(…)文が羨ましい

574:デフォルトの名無しさん
08/05/01 22:11:11
>>570
いやいや。Goto文かJump命令で事足りるぞ

575:デフォルトの名無しさん
08/05/01 22:13:28
asmキーワードでイナフ。

576:デフォルトの名無しさん
08/05/01 22:13:33
>>568
何も説明してないし。


577:デフォルトの名無しさん
08/05/01 22:13:34
>>572
だからLinuxなら全然問題なく完璧にできるっつってるだろ。
なんでわかんねんだ。
これだからM$信者は駄目なんだよ。

578:デフォルトの名無しさん
08/05/01 22:14:02
>>504
それMFC固有のことで、Windowsは関係ない。

579:デフォルトの名無しさん
08/05/01 22:18:46
UNIXでもLinuxでもWindowsでも、CやJavaで問題無くソフトウェアは作れるけど、
メモリリークしていい理由にも、C++にデストラクタが不要だという理由にもならない。

580:デフォルトの名無しさん
08/05/01 22:19:52
>>577
mallocしたメモリやopenで得たファイルディスクプリタが
プロセス終了時にOSが解放したり閉じたりしてくれるということを言っているなら、
Linux/Unixプログラマだって、OSに任せないで
自分で呼んだりデストラクタに任せる奴は当たり前のように存在する。

581:デフォルトの名無しさん
08/05/01 22:21:11
デストラクタをメモリ管理にだけ使っていて、
デストラクタを使わないとメモリリークが止まらない
プログラマが居るだけだお!

582:デフォルトの名無しさん
08/05/01 22:21:29
>>577
mallocで10bytr確保したとしよう。どうやってそれを開放するのか教えてくれるかな。

583:デフォルトの名無しさん
08/05/01 22:22:54
>>582
そんなことも知らないのか。
M$信者は達者なの口だけだな。

584:デフォルトの名無しさん
08/05/01 22:27:23
教えて!


585:デフォルトの名無しさん
08/05/01 22:28:39
さつき先生!!

586:デフォルトの名無しさん
08/05/01 22:28:52
多分free()とかOSが解放してくれるとか言うんだろうな

587:デフォルトの名無しさん
08/05/01 22:36:44
デストラクタ無しだと例外処理とかどうするんだ

588:デフォルトの名無しさん
08/05/01 22:37:01
そこは『OOM Killer が根こそぎ回収する』だろ

589:デフォルトの名無しさん
08/05/01 22:38:26
お前らはカーネルのソース読むとこから始めたほうがいい。

590:デフォルトの名無しさん
08/05/01 22:38:58
C に例外処理なんて無いし要らん

591:デフォルトの名無しさん
08/05/01 22:50:01
110レスか…

592:デフォルトの名無しさん
08/05/01 22:52:35
もう終わりか…

593:デフォルトの名無しさん
08/05/01 22:56:10
結構皆頑張って説明したけど、全然話が通じなかったな。
久々に真性というものを見た・・・。

594:デフォルトの名無しさん
08/05/01 22:56:34
まだやってんのかよ…

595:デフォルトの名無しさん
08/05/01 23:17:04
まとめ。

>>482 降臨 「デストラクタなんて要らない」
>>491 「文字列如きでリークさせる奴なんかいない」
>>498 「Windowsがおかしい、Linuxでリークしたことない」
>>500 「むしろWindowsとの互換性のためにデストラクタがある」
>>518 「Windowsがへぼいからデストラクタが必要になるだけ」
    「Windowsを使ってはいけないという結論が出てる。」
>>527 C++ユーザーは皆、デストラクタが無いと文字列操作も出来ない
>>533 「デストラクタが無いと何も出来ないんだな」
>>553 「Windowsが糞な実装だから必要になってるだけ」
    「Linuxも使えない雑魚が。」
>>562 突如、勝利宣言
    「結局デストラクタは無くても良いという事で全員の意見が一致したなw」
>>566 「デストラクタが無いとプログラム組めない人が居たのかな?」
>>568 「オブジェクト指向にデストラクタが本当に必要か考えてみるがいい。」
    「Windows使ってると頭おかしくなるのか?」
    「なんでここまで説明してやらないとわからないんだろう?」
>>577 「だからLinuxなら全然問題なく完璧にできるっつってるだろ。」
    「これだからM$信者は駄目なんだよ。」
>>583 「そんなことも知らないのか。M$信者は達者なの口だけだな。」
>>589 「お前らはカーネルのソース読むとこから始めたほうがいい。」

IDが無いので完全な抽出は不可能でした。

596:デフォルトの名無しさん
08/05/01 23:18:04
>>482氏の主張(想像)
 ・Windowsだとリークする
 ・Linuxだとリークしない
 ・プロセス終了時にOSが解放するから、解放は不要
 ※ 長時間稼動するソフトウェアについては返答無し

597:482
08/05/01 23:29:46
一応言っておくが Linux 云々は俺じゃないぞ。茶々入れはしたが…
中身の無い煽り合いに熱を上げるのも楽しいかもしれんが、程々にね。

598:デフォルトの名無しさん
08/05/01 23:34:01
ということは、Linux云々の人はデストラクタ関係無しに
「OSが解放するから、解放は不要」とだけ主張していたのだろうか。

599:デフォルトの名無しさん
08/05/01 23:34:42
スルーされたレス
>>515
>>524
>>526
>>542
>>559
>>561
>>563
>>564
>>576
>>579
>>580
>>582-584

見当違いな返答が来たレス
>>519-521

600:デフォルトの名無しさん
08/05/01 23:39:15
そのスルー力は見習うべき・・・でもないなw

601:デフォルトの名無しさん
08/05/02 00:42:15
取り敢えず>>482が、オブジェクト指向と、C++を理解してないのは判った
ついでに、RubyかJAVAを判ったつもりでいることも判った


602:デフォルトの名無しさん
08/05/02 00:53:03
彼と一緒に仕事するわけでもないんだしほっとけよ。

603:デフォルトの名無しさん
08/05/02 01:15:00
鯖毎(同じ鯖なら同じID)じゃなくてスレ毎でもいいからID欲しいな・・・。
騙り・自演防止とかじゃなくて、単純に議論or雑談での識別子として。

どのレスが同じ人のか分からないと、相手の考えも読み取り辛い。

604:デフォルトの名無しさん
08/05/02 01:33:52
例外がからんでくると RAII のイディオムなしで
(エラー処理込みの)正しいプログラムを書くのは
現実的にほとんど無理

あとこんな馬鹿のせいでLinuxが悪く思われるのは悲しいなあと思った


605:デフォルトの名無しさん
08/05/02 02:14:34
大丈夫だ
彼が馬鹿だからと言ってUNIX系が悪いなんて誰も思っちゃいない

606:デフォルトの名無しさん
08/05/02 02:54:20
C++の話がなんでOSの話になるんだろうか。


607:デフォルトの名無しさん
08/05/02 03:37:55
まぁ各種リソースに関しては
言語で組んでる側でポカやっても確実に対処してほしいところではあるな。

608:デフォルトの名無しさん
08/05/02 05:15:48
凄腕の釣り氏だったようだな

609:デフォルトの名無しさん
08/05/02 07:13:37
何だこの伸びは?
Windowsもプロセスの終了時にリソースは開放されるよ。
ハンドルリストにあるのがそのプロセスしか使用してなければ、
ハンドルの対象のリソースは開放される。

610:デフォルトの名無しさん
08/05/02 09:40:13
3.1とか想定してるんじゃないの?

611:デフォルトの名無しさん
08/05/02 12:06:38
プロセス終了では、プロセス内で立てた別スレッドは解放されなかったような。
スレッドが握ってるリソースも解放されない。

612:デフォルトの名無しさん
08/05/02 12:10:02
プロセスを終了したら、そのプロセスはなくなるのに、どうやってプロセス内のスレッドが生き延びるっていうんだ

613:デフォルトの名無しさん
08/05/02 12:16:51
>>611
スレッドは即死するからデストラクタは呼ばれない。でもシステムのリソースは開放される

614:デフォルトの名無しさん
08/05/02 12:17:12
もしかして彼は
コンストラクタ・デストラクタは使わず
ぜんぶ子プロセスを作ってOSに資源管理させろという主張だったのでは…

615:デフォルトの名無しさん
08/05/02 12:20:18
>>614
そして、書き込んだファイルの後ろが切れるOSは糞って切れるわけだ。

616:482
08/05/02 13:59:46
>>601
釣りなのかもしれんがw 俺じゃねえっつの。
妄想人格作り上げて悦に入るなよ…

617:デフォルトの名無しさん
08/05/02 14:01:09
もはやスレ全体がネタと化しているな。

618:482
08/05/02 14:06:06
C++ が欠陥の多い言語なのは議論の余地が無いからな。
昔は C++ が唯一無二の最高言語だと主張する奴も多かったが、
そういう輩は既に絶滅して久しいし、C++ の駄目駄目っぷりを
ネタとして楽しめる土壌が出来て来たんだろう。

619:デフォルトの名無しさん
08/05/02 14:13:47
とりあえず>>526に返答してあげたらいいんじゃないかな

620:デフォルトの名無しさん
08/05/02 14:16:16
>昔は C++ が唯一無二の最高言語だと主張する奴も多かったが、

なことない。

最近の携帯OSが出るまでC++不毛の時代だった。

ブビ厨と最近のM$のダメっぷりに呆れたのと、
独自基板対応のためにC++が再度注目された。

621:482
08/05/02 14:24:32
>>619
518 は俺じゃないよ。
無闇矢鱈とレスを欲しがるのもどうかと思うよ。
スルーされると寂しいのかもしれんが、俺は関係無いし。

622:デフォルトの名無しさん
08/05/02 14:36:19
C++の優位性はtemplateだけだからなぁ
他高級言語でtemplate並みのメタプログラミングが出来るなら
C++を使う理由はなくなるな。
ネイティブコード吐ける云々はどうでもいいことだしな。


623:482
08/05/02 14:37:38
つ Common Lisp / Scheme

624:デフォルトの名無しさん
08/05/02 14:38:24
>>622
「俺にとっては」と付け加えといてくれ。

625:デフォルトの名無しさん
08/05/02 14:38:51
>>621
518じゃないのは前のレスで分かってる
>>482宛だと思って答えてくれ

626:482
08/05/02 14:40:43
それじゃ文脈がおかしいだろ。聞きたい事があるならきちんと聞け。

627:デフォルトの名無しさん
08/05/02 14:46:05
>>626
なぜ「デストラクタなんて要らない」のかを説明してくれないか。

628:482
08/05/02 14:55:04
>>627
簡単な話。
Cではデストラクタが無くてもみんなプログラムを組んでるから。

それとも、
『デストラクタが無いCはまともに使う気しない』人が可哀想だね。
『デストラクタが無いとプログラム出来ません』なんて恥ずかしいよ。
つう感じでガソリンを補給して欲しいのか?

629:デフォルトの名無しさん
08/05/02 15:10:03
それは「無くてもなんとかなる」
だけで、「要らない」理由にはならない。
自動車、飛行機、原子力、etc

630:482
08/05/02 15:14:27
何だよ。言葉遊びか?
下らん。

631:デフォルトの名無しさん
08/05/02 15:20:23
ここはニュースグループか

632:デフォルトの名無しさん
08/05/02 15:25:22
>>628

>>529 >>587 >>604の通りでCには要らなくてもC++には必要。
で、>>590と答える?
だとすると「デストラクタは要らない」じゃなくて、
クラス、例外、テンプレートなどのC++の機能が要らないってことでは?

それは単に「俺はC言語で十分」ってことだと思うんだけど。
違う?

633:デフォルトの名無しさん
08/05/02 15:28:19
>>631
反論の余地がなくなると国語辞典持ち出して単語の粗探しするんだよなw

634:デフォルトの名無しさん
08/05/02 15:31:27
ノイマン型コンピュータのプログラムを組むのに
Cを超える高級言語は不要ってこと?
んー以外に支持受けるかもしれんな

635:482
08/05/02 15:32:08
どうでも良い話だが「俺はC言語で十分だからデストラクタは要らない」
という文章は思い付かなかったのか? 元々そういう文脈だし、余程
国語が苦手じゃなきゃ自明だろ。

こんなどうでも良い話でよくこれだけ盛り上がれるな…

636:デフォルトの名無しさん
08/05/02 15:34:20
URLリンク(mentai.2ch.net)

637:デフォルトの名無しさん
08/05/02 15:38:27
>>635
思いつくわけないだろw
何でピンポイントにデストラクタだけなんだよ。
C++要らない、とかなら分かるけど。

638:デフォルトの名無しさん
08/05/02 15:42:43
C言語はコンストラクタが無いから使えねぇ

639:482
08/05/02 15:43:31
>>637
お前 >>481 を読んでないのか?
粘着する前に周りを良く見ろよ

640:デフォルトの名無しさん
08/05/02 15:43:44
cには不要。
c++には必要。
でFA

641:482
08/05/02 15:49:24
>>640
『C++要らない』も追加でw

642:デフォルトの名無しさん
08/05/02 15:59:40
そうだな、そういやそういうスレだった

643:デフォルトの名無しさん
08/05/02 16:03:47
そもそもC++なんぞ窓以外では閑古鳥

644:デフォルトの名無しさん
08/05/02 16:12:48
つまり、正統派はCOBOLと言いたいのだな

645:デフォルトの名無しさん
08/05/02 16:43:22
C++はいらない子

646:デフォルトの名無しさん
08/05/02 18:04:51
でもCよりC++の方が明らかに便利じゃないか?

int func(int arg) {
 if (arg < 0) return -1; // error
 int param = ...;
}

Cだとこんなのがコンパイルできないし。

647:デフォルトの名無しさん
08/05/02 18:08:29
C99で十分

648:デフォルトの名無しさん
08/05/02 19:08:08
てst

649:デフォルトの名無しさん
08/05/02 19:43:48
よくわかんないけど、これわだめなのか

% cat c.c
#include <stdio.h>
#include <stdlib.h>
int func(int arg) { if (arg < 0) return -1; int param = 0; return param; }
int main() { printf("%d¥n", func(-1)); exit(0); }
% cc -ansi -Wall c.c
% ./a.out
-1

650:デフォルトの名無しさん
08/05/02 20:26:46
Javaの方がC++よりひどい欠点がある。
JavaのJava Runtime Environmentのバージョンの問題だ。
Javaで書かれたプログラムはRuntimeバージョンが違うと動作が保障されないだろ。
これだと、Runtimeバージョンが違う二つのソフトは同じマシンで動作する保障がない。
駄目だこりゃ。

651:デフォルトの名無しさん
08/05/02 20:28:43
>>603
それはこういう所の楽しみ方が分かってないからだよ
意見が純粋に意見として存在出来るというのは貴重なんだぜ

誰であるかという属性を意識したいならば、そういう場所へ行けば良い

652:デフォルトの名無しさん
08/05/02 20:36:46
>>651
単に>>616みたいなことにならないように、ってことじゃね?
スレ毎でいいってのも属性を意識する気はないってことかと

653:デフォルトの名無しさん
08/05/02 20:50:27
>>647
少なくとも既存のCでは不足ということでよろしいか?
というか、Cが好まれる理由はポータビリティにあると思うのだけど、
C99にその役目は果たせるのか?
あと、C99でよくてC++でダメな理由は何?

>>649
あれなんでコンパイルできるの?
msvc6,7,8、もBorlandCも全部できなかったよ。

654:デフォルトの名無しさん
08/05/02 20:54:59
>>643
個人PCの約9割がwindowsを使っているわけだが・・・

655:デフォルトの名無しさん
08/05/02 20:55:44
>>650
JREって複数バージョンを同一マシンにインストールできるんじゃないの?

656:デフォルトの名無しさん
08/05/02 20:59:26
vcランタイムやvbランタイムや.netやjava VMやらが、しかも複数インスコされたら
もうそれだけでお腹いっぱい。

657:デフォルトの名無しさん
08/05/02 21:02:29
gccだと>>649のコンパイルできるんだな
-std=c89 -pedantic-errors
これつけるとだめだけど

658:デフォルトの名無しさん
08/05/02 21:12:58
これでいいのか

% cc -ansi -pedantic -Wall c.c
c.c: In function ‘func’:
c.c:3: warning: ISO C90 forbids mixed declarations and code

たしかにC99でじゅうぶんだな

% cc -std=c99 -pedantic -Wall c.c
% ./a.out
-1

659:デフォルトの名無しさん
08/05/02 22:13:54
>>650
Runtimeバージョンが同じでもプラットフォームが違うと動かなかったりする。
WOREをもじってWOTEと冗談ぽく言われたり。

660:デフォルトの名無しさん
08/05/02 23:10:46
>>651
意見=その瞬間の思いつき、ならそれでいいけどね。
ちょっとでも「根拠」というものが関わってくる「まともな」意見交換になると、
ある1レスに意見の全容が入ってることはまず無くて、そいつの発言のラインを辿って
読み込んでいく必要が出てくるけど、そこで誰が誰やらわからないと、ちょいと面倒になる。

661:デフォルトの名無しさん
08/05/02 23:18:06
そういうのを求めるのであれば別の所へ行く方が君の為だろう

662:603
08/05/02 23:50:16
まさに俺自身が誤解されてるような気がするから書いておくけど、
>>603以降で俺のレスは>>627>>640だけだからね。

663:デフォルトの名無しさん
08/05/02 23:52:04
>>661
「そういうの」がどういうのかわからないけど、
「意見が純粋に意見として存在」するためには前後の認識が必要になるという話。

>>651が「意見ではないものを意見と呼んでいる」場合、野暮なツッコミだったけどね。

664:デフォルトの名無しさん
08/05/02 23:59:02
>>662
誰が誰だか気にし過ぎ

665:デフォルトの名無しさん
08/05/03 00:07:59
そうでもないと思うよ。

666:デフォルトの名無しさん
08/05/03 00:13:52
651は属性とか言わず、普通に

単発の適当な内容をわかった風に書き散らすには、IDは邪魔

って言っておくべきだったんだよ

667:デフォルトの名無しさん
08/05/03 00:14:58
わかった風な事言うなよ

668:デフォルトの名無しさん
08/05/03 00:19:21
お楽しみ頂けただろうか。
実はこのスレには俺とお前と読んでるだけの奴の3人しか居ないんだ。

669:デフォルトの名無しさん
08/05/03 00:27:10
ねーよw

670:デフォルトの名無しさん
08/05/03 00:30:14
以下の不等式に付いて論じよ(30点)

C + LL > C++

671:デフォルトの名無しさん
08/05/03 00:45:44
ナタネ油くらいの燃料が投下されました。

672:デフォルトの名無しさん
08/05/03 00:49:42
#include <iostream>

class Hoge {
public:
  Hoge(int n) : n_(n) {}
  Hoge(const Hoge& hoge) : n_(hoge.n_) {}
  bool operator>(const Hoge& rhs) const { return n_ > rhs.n_; }
  Hoge operator+(const Hoge& rhs) const { return Hoge(n_ + rhs.n_); }
  Hoge operator++(int) { Hoge tmp(*this); ++n_; return tmp; }
private:
  int n_;
};

int main(int argc, char* argv[]) {
  Hoge C(10), LL(20);

  bool ret = C + LL > C++;
  std::cout << ret;
  return 0;
}

# 1 (BCC5.6.4)

673:デフォルトの名無しさん
08/05/03 01:30:55
> C++ が唯一無二の最高言語

俺にとってはそうだ。
既に万人向けの言語ではなくなってしまったが…

674:デフォルトの名無しさん
08/05/03 02:05:56
何が最高なの?


675:デフォルトの名無しさん
08/05/03 02:18:25
template
boost
concept
move semantics

676:デフォルトの名無しさん
08/05/03 02:25:29
自分は >>673 ではないが自分にとってもC++は最高だ
実用に耐えるのに面白い
初心者向きではないだろうが、長い間使い続けても新発見があるカオス言語
プロは毎日コードを書くんだよ
すぐに全貌が見えきってしまう言語なんて飽きちゃってつまらないだろう

Haskellとかは面白いけど実用に耐えないから仕事で使えないし

677:デフォルトの名無しさん
08/05/03 02:46:21
C++に関してはgccの方が規格外

678:デフォルトの名無しさん
08/05/03 08:17:50
>>676
×初心者向きではない
○一般人向きではない

×長い間使い続けても新発見があるカオス言語
○誰も全貌を把握していないカオス言語

変態言語のトップランナーである事を分かって使ってればオケ

679:デフォルトの名無しさん
08/05/03 08:38:23
どこまで登っても頂上が見えてこないのがC++

680:デフォルトの名無しさん
08/05/03 08:42:43
※頂上が見えて来たら土を盛って継ぎ足します

681:デフォルトの名無しさん
08/05/03 09:16:26
boost使うと、C++っていったいどこまで上れるのかってそりゃあ恐ろしくなるな。

682:デフォルトの名無しさん
08/05/03 09:27:54
下りのエスカレータを上ってるみたいなもんか

683:デフォルトの名無しさん
08/05/03 09:38:24
C++は登れば登るほど汚くなる山

684:デフォルトの名無しさん
08/05/03 10:21:44
富士山?

685:デフォルトの名無しさん
08/05/03 10:54:14
汚いのがわかってても下山できないのがC++プルグラマ

686:デフォルトの名無しさん
08/05/03 10:59:09
山がある限り登り続ける

687:デフォルトの名無しさん
08/05/03 11:05:06
有名な登山家が言ったよな
地球は青かった
って

688:デフォルトの名無しさん
08/05/03 12:00:59
>>678
c++に限らず、他の言語もお前さんが思ってるより奥が深いよ。

しかし言語のすべてを理解して、すべての機能を使ってコードを書く必要は無い。

クラスを作らせず、スマートポインタやvecterなどの
用意されたライブラリを使って書かせれば、Cより初心者向きだ。

まぁそうは言っても、
俺もwindowsアプリならC#、サーバーサイドならjava、
比較的簡易なウェブアプリならPHPを薦めたりするんだけどな。

他人にC++を薦めるのはActiveXとかの場合かな。

689:デフォルトの名無しさん
08/05/03 12:24:26
>>685
C++は馬鹿が使ったり、馬鹿と一緒に使ったりすると悲惨だけど、
自分が一人で高みに行って使う分には、実に強力だからなぁ。
「ある程度以上へ登れた」人間には、下山する理由が無いんだよね。

690:デフォルトの名無しさん
08/05/03 13:04:18
意味のある難解さは歓迎だ。


691:デフォルトの名無しさん
08/05/03 13:30:20
URLリンク(members.jcom.home.ne.jp)
日時:2001年12月14日18時30分~ 場所:京都YWCA
在日外国籍市民の参政権を考える連続講座 第3回
演題:在日韓国・朝鮮人と国籍 講師:李敬宰さん

ただ、在日が日本国籍をとるということになると、天皇制の問題をどうするのかという人がいますが、
外国人がたくさん日本国籍を取ったほうが、早く天皇制は潰れると思います。
というのは、この先もどんどん外国系市民が増えます。 ある統計では、
一〇〇年後には五人の内三人が外国系になるといいます。 そうなれば、
日本で大和民族がマイノリティーになるのです。 だから、私はあと一〇〇年生きて、
なんとしても日本人を差別して死にたいです。これが夢です(笑)。そういう社会が来たら、
その時に天皇なんていうのは小数民族の酋長さんみたいなものになります。

こうした素晴らしい戦術があるのに、それを、今の左派のように、日本国籍を取ったらダメだということをやっていたら、
いつまでたっても天皇制は温存されたままではないですか。

692:デフォルトの名無しさん
08/05/03 13:45:33
難解さって言っても
C++の難解って誰かの言ったことを丸暗記しろとかそういう類でしょ

693:デフォルトの名無しさん
08/05/03 13:46:31
いや大量のバッドノウハウ

694:デフォルトの名無しさん
08/05/03 14:00:27
>>688
深い奥地まで行っちゃったつもりの奴が一番たちが悪いというか…
底が浅いから辿り着いた事に気付いていない奴が一番痛いというか…
一歩上がっただけで高みに登ったつもりの奴が一番目障りというか…

自覚症状が無いのが哀れだな。
言語の仕様をすべて理解する必要がないって、どんだけ酸っぱい葡萄だよw

695:デフォルトの名無しさん
08/05/03 14:01:31
そうは言うが常人には全て理解するのはまず不可能だと思うぞ

696:デフォルトの名無しさん
08/05/03 14:07:36
誰も全てを理解してないからあんな汚くなったんでしょ
普通の言語じゃ考えられないよね

697:デフォルトの名無しさん
08/05/03 14:08:12
>>692
使わないならそうだね。
使うなら、機能同士が引き起こす「組み合わせ爆発」にも挑まなきゃいけない。
これは丸暗記とはまるで系統の違う難しさだよ。

698:デフォルトの名無しさん
08/05/03 14:12:06
>>689
そのまま山に籠りきって街に出てこなくても誰も困らんけどね

699:デフォルトの名無しさん
08/05/03 14:19:29
>>694
上の文は俺に対してか?
俺は奥地とやらに行ったつもりも、高みに居るつもりも無いぞ。
例えば、boostは基本的にブラックボックスとして使う、と割り切っているし。

あと、俺が言った「奥が深い」は、
複雑性についてでは無いからな。
必要に応じて、より特化出来ることを指している。
javaで例えを挙げると、ソフトリファレンスを使ってキャッシュするとか、
スレッドローカルでやや初期化コストがあるスレッドセーフで無いオブジェクトを使い回すとかな。

俺は出来るだけ言語仕様を理解しようと努めているけど、
他のメンバーにまで強要は出来ない。
それでも開発・メンテで、それによるさしたる問題は起きてない。

700:デフォルトの名無しさん
08/05/03 14:26:21
>>692
馬鹿丸出しの発言ですね。
自分のことでしょう。> 丸暗記のみ

701:デフォルトの名無しさん
08/05/03 14:27:05
いやいや、こういう事がさらっと言えちゃう奴は何か勘違いしてる奴だろ。

>他の言語もお前さんが思ってるより奥が深いよ。

しかもやっぱり自覚が無いみたいだな。

702:デフォルトの名無しさん
08/05/03 14:28:38
>>701はどんな言語も浅く見える天才

703:デフォルトの名無しさん
08/05/03 14:30:18
>>702
俺は何だって必要以上に崇めたりはしないよ

704:デフォルトの名無しさん
08/05/03 14:30:30
>>701
反論なら具体的に頼むよ。
独り言ならそれで結構だけど。

705:デフォルトの名無しさん
08/05/03 14:31:28
小手先のテクニックに溺れるには一番良い言語だよなあ。

706:デフォルトの名無しさん
08/05/03 14:32:46
>>703
ああ、崇めてる、と読み取ったのか。
単なる誤解だな。

707:デフォルトの名無しさん
08/05/03 14:34:51
>>704
>>688 は自分で書いた通りの人間だって事さ。
他人より深い所とやらが見えてしまう病気だね。

708:デフォルトの名無しさん
08/05/03 14:35:56
なにこれ、こんなのrubyなら(ry、haskellなら(ry、lispなら(ry
って考え方しちゃうと生産性の低い言語って見方になっちゃうから変態極めるのも難しいのぅ

709:706
08/05/03 14:37:16
補足すると、
>>678の「誰も全貌を~」に対して、
他の言語も全貌を把握するのは容易ではない、と言いたかっただけだ。

710:デフォルトの名無しさん
08/05/03 14:40:30
>>707はすべて見通せる超人

711:デフォルトの名無しさん
08/05/03 14:40:39
>>709
>他の言語も全貌を把握するのは容易ではない

C++と一緒にされたら笑うしか無いなw
レベルが違うよ

712:デフォルトの名無しさん
08/05/03 14:47:09
それでも規格書のページ数ならまだcommon lispの方が上だよw

713:デフォルトの名無しさん
08/05/03 14:49:46
>>711
俺には「俺はjavaやc#の全貌を把握している」
なんてことを言うことは出来ない。
言語以外もだけど、まだまだ勉強は続いている。
力不足ですまない。

714:デフォルトの名無しさん
08/05/03 14:53:21
天才がいらっしゃるようですね

715:デフォルトの名無しさん
08/05/03 14:55:01
おまいらさっきまで意気揚々と山登りしてたくせに、えらい変わりようだな。

716:デフォルトの名無しさん
08/05/03 14:56:50
山登りしてますよ

717:デフォルトの名無しさん
08/05/03 14:59:09
一番高い山はどの山?

718:デフォルトの名無しさん
08/05/03 15:02:01
haskellに一票

719:デフォルトの名無しさん
08/05/03 15:05:13
lispとperlもヤバいw
ハッカー連中は雲の上行ってんなw

720:デフォルトの名無しさん
08/05/03 15:08:36
一人で登る分にはいいけど馬鹿と一緒だと悲惨な山は?

721:デフォルトの名無しさん
08/05/03 15:09:48
boostって山道教えてもらったんだけど。どう?C++山の近道らしいよ。


722:デフォルトの名無しさん
08/05/03 15:09:59
全部

山をなめんな

723:デフォルトの名無しさん
08/05/03 15:14:08
サーセンw

みんなと街にいるのが好きなもんで

724:デフォルトの名無しさん
08/05/03 15:15:49
Lispやべぇ
URLリンク(www.geekpage.jp)

725:デフォルトの名無しさん
08/05/03 15:17:43
>>698
別に地球の人々を救うためにプログラミング言語選ぶわけじゃないからなぁ。
なに言語のユーザーであれ、山で餓死しようが海で溺死しようが、他人はあんまり困らないものだよ。

726:デフォルトの名無しさん
08/05/03 15:18:55
むしろ山にいるつもりのままで里に下りて来られると困る

727:デフォルトの名無しさん
08/05/03 15:20:33
ねーよw

728:デフォルトの名無しさん
08/05/03 15:20:40
特に、無能が無能であることに寛容なヌルい里はやばいね。
修行帰りの人が混じると地獄と化すね。

729:デフォルトの名無しさん
08/05/03 15:21:03
修行w

730:デフォルトの名無しさん
08/05/03 15:23:47
>>729
実際、C++を学習する程度のことが、なんかこう、修行とか拷問に見えちゃうたぐいの人、
結構多いからねぇ。このスレ立てたのもそのクチだけど。

731:デフォルトの名無しさん
08/05/03 15:25:27
いやいや、c++に限らず、他の言語も奥が深いよ。

732:デフォルトの名無しさん
08/05/03 15:27:42
むしろ、c++以外わからない奴が必死にc++広めようとしてるんだろ

733:デフォルトの名無しさん
08/05/03 15:31:26
まあ、C++より簡単な言語は、C言語ぐらいで、他は難しいもんなぁ


734:デフォルトの名無しさん
08/05/03 15:32:19
しかし、>>1が言ってるのは実は
C++でなく、C++/CLIである件

735:デフォルトの名無しさん
08/05/03 15:32:32
せめてJavaくらいは学んで欲しいよね

736:デフォルトの名無しさん
08/05/03 15:34:59
JAVAなんて、なぜ、仮想マシンなんか作ってその上で実行しないと行けないのか考えたら
夜も眠れなくなるから、学ぶ気にもなれない
JAVA使うぐらいなら、Java Scriptでいいじゃないかと思う


737:デフォルトの名無しさん
08/05/03 15:35:47
落ち着け

738:デフォルトの名無しさん
08/05/03 15:35:56
最後の行はネタだよなw

739:デフォルトの名無しさん
08/05/03 15:36:18
ソースを見たときに、

float x = std::min( 1.0f, y );

とあったとする。このソースから
関数の機能は、名前からある程度推測することは可能だが
二つの引数の意味を知ることは、不可能だ。

俺は、ここはC系統のひとつの弱点だと思っている。
これを克服した言語はあるか?VB以外で

740:デフォルトの名無しさん
08/05/03 15:37:01
最後の行だけ?

741:デフォルトの名無しさん
08/05/03 15:38:36
>>739
名前から推測で良いなら CL, Smalltalk, ObjC などなど

742:デフォルトの名無しさん
08/05/03 15:44:34
>>740
悩むのは自由w
というかjavavmを使わないケースあるからね

743:デフォルトの名無しさん
08/05/03 16:06:50
>>739 Python
def foo(a, b, c):
print a, b, c
foo(a = 1, c = 3, b = 2)
名前つき引数が可能

744:デフォルトの名無しさん
08/05/03 16:07:48
C++にはキーワード引数は無いの?

745:デフォルトの名無しさん
08/05/03 16:13:46
ocaml

746:デフォルトの名無しさん
08/05/03 16:15:07
>>744
無い。
D&Eのどっかにその話があった気がする。

747:デフォルトの名無しさん
08/05/03 16:18:56
JAVA VMを使わないなら、JAVAを使う意味も無いのでは?
そして、JAVA VM使うなら、Java Scriptでも十分じゃなかろうか?


748:デフォルトの名無しさん
08/05/03 16:20:53
意味有るし、javaとjavascriptは単に名前と構文が似てるだけで、
別の言語。

749:デフォルトの名無しさん
08/05/03 16:22:21
>>746
考慮したんだ。意外。

750:デフォルトの名無しさん
08/05/03 16:25:06
JAVAとJava Scriptは違うなんて常識の話じゃん
何を今更
それはともかく、JAVA VMを使わないJAVAに何の意味があるのか全く判らない


751:デフォルトの名無しさん
08/05/03 16:29:46
まず、何で意味が無いと思うか聞こうか。
vmware上で動くlinuxが、
物理マシンで動いても何ら困らないと思うんだが。

752:デフォルトの名無しさん
08/05/03 16:38:15
つまり翻訳するとこういう事だろう!

ECMAScript は現在望み得る最も素晴らしい神の言語。
C++ は Tamarin や JavaScriptCore の実装言語だから
それなりに良いんじゃない。どうでも良いけど。

753:デフォルトの名無しさん
08/05/03 16:44:40
戸田翻訳かよw

754:デフォルトの名無しさん
08/05/03 17:12:13
>>751
それは意味が違うだろう
x86用のソフトを、68000で動かしているそんな違和感

755:デフォルトの名無しさん
08/05/03 17:15:12
Tamarinが悪いのっ

756:デフォルトの名無しさん
08/05/03 17:17:40
>>754
68000で動くとソフトの意味無くなるの?


757:デフォルトの名無しさん
08/05/03 17:20:10
奈津子さんこそ神だろ。
wつけんなよ。
馬鹿にしてると思われるぞ。

758:デフォルトの名無しさん
08/05/03 17:22:04
ごめんなさい。

759:デフォルトの名無しさん
08/05/03 17:26:31
Tamarin、Tamarinうっせーよと思いつつググって、
ちょっと興味持ってしまった。

760:デフォルトの名無しさん
08/05/03 17:53:39
>>744
boostで名前つき引数に対応してる
URLリンク(www.kmonos.net)

761:デフォルトの名無しさん
08/05/03 17:54:40
>>756
貴方日本語判りますか?
私少し判ります
貴方日本語変


762:デフォルトの名無しさん
08/05/03 18:01:47
>>761
変でも何でもいいけど、
>>750-751の通り、意味が無いと思う理由を書いてくれないかな。

763:デフォルトの名無しさん
08/05/03 18:09:25
貴方JAVA理念しってますか?
VM使わない、理念に合わない、しってますか?

764:デフォルトの名無しさん
08/05/03 18:12:42
JazelleとかLiquidVMとかjavaコプロセッサとか
ネイティブトランスレータとかあるけど、
理念に合わないことはない。

理念に合わない理由を説明してもらえないか?

765:デフォルトの名無しさん
08/05/03 18:20:30
>>764
貴方嘘良くない
貴方言うハードワイヤードVM
それJAVA VMね


766:デフォルトの名無しさん
08/05/03 18:22:30
それも仮想マシンに含むならそれで結構だよ。

767:デフォルトの名無しさん
08/05/03 18:27:50
プロセッサも仮想マシンならCも仮想マシン上になるな
処理系がターゲット環境だし

768:デフォルトの名無しさん
08/05/03 18:31:21
HotSpot も Strongtalk も LLVM も Squirrel も Tamarin も
JavaScriptCore もその一部の KJS も C++ なんだよな。
Firefox も Thunderbird も OOo も KDE も Qt も Qtopia も
wxWidget も C++ だし、C++ が分からないとパッチも
書けやしない。嗚呼 C++ がもう少しまともだったら…

769:デフォルトの名無しさん
08/05/03 18:32:16
>>760
すげーな、
boost無理やりすぎ

770:デフォルトの名無しさん
08/05/03 18:33:44
>>767
それは、違うだろ


771:デフォルトの名無しさん
08/05/03 18:39:04
C++は言語自体はあれで出来るだけ最小化されてるんだけどな。
それでも足りないからライブラリで補う、って言って、
あのカオスなライブラリなんだよな。

実際、キーワード引数やガベージコレクタや
今ライブラリでどうにかしてる他多数の機能を
言語に入れろって要求がめちゃめちゃ来てるそうだし。

多分、手に負えない程高度に見えるのは、
ライブラリ作る人達が気合い入れすぎだからだと思う。

772:デフォルトの名無しさん
08/05/03 18:39:07
それじゃあ、JavaVMの理念どうこう以前に
仮想マシン自体が存在しなくなっちゃうよ

773:デフォルトの名無しさん
08/05/03 18:39:40
>>770
何で?

774:デフォルトの名無しさん
08/05/03 18:42:53
>>770
Cの処理系=ネイティブトランスレーター

775:デフォルトの名無しさん
08/05/03 18:48:56
>>773
JAVA VMってのは、仮想のCPUを定義したクラス
インスタンスとしてのJAVA VMがソフトウェアかハードウェアかは問題では無く
JAVA VMの定義に合っていればJAVA VM


776:デフォルトの名無しさん
08/05/03 18:56:01
>>775
Cは物理的なマシンとかCPUを定義してたっけ?

777:デフォルトの名無しさん
08/05/03 18:58:38
何か面白いの見つけた

URLリンク(www.geocities.co.jp)

778:デフォルトの名無しさん
08/05/03 19:01:06
>>771
大きい小さいと言うのもあるけど、みんなが嫌がってるのは
文法が汚いって事じゃないかな。その所為でコンパイルも遅いし。

779:771
08/05/03 19:09:03
>>778
>>777も見て納得した。
ただ、Cとの互換を維持しようとしたのと、
拡張を重ねたって事情はある程度分かってあげて。
この対処は作り直ししかないけど、
javaとかDも徐々に拡張が・・・

780:デフォルトの名無しさん
08/05/03 19:09:55
>>776
してないよ


781:デフォルトの名無しさん
08/05/03 19:13:49
C++の文法は汚いって言われればそのとおり何だけど、それ以上に強力で面白い。

782:デフォルトの名無しさん
08/05/03 19:14:01
だよな
だからCは処理系という仮想的な環境で動いてる
と考えられるわけだ

783:デフォルトの名無しさん
08/05/03 19:14:12
>>771
ライブラリで無理やり実装ってのはCOMで懲りた。
俺もライブラリで補填ってのは間違った方向性だと思う。

言語仕様にあるなら使う、無いなら使わない。
これを守れば、それなりにすっきりまとまるのに
無いならライブラリでそれっぽいの作りましょうとかするから
複雑化するんだよな。

784:デフォルトの名無しさん
08/05/03 19:26:31
>>777のはマジ別の言語を作ろうとしてるなw
テンプレートも使い過ぎると高度過ぎるけど、
プリプロセッサまで使ってメタプロされると流石にギブアップ
boostのmplとかラムダとかの人はそろそろ勘弁して欲しい

785:デフォルトの名無しさん
08/05/03 19:28:48
間違えた
777じゃなくて>>760のリンクだった

786:デフォルトの名無しさん
08/05/03 19:30:03
URLリンク(en.wikipedia.org)

C++は文脈依存文法であるのがコンパイルを遅くする原因みたいだから、
JavaやDが拡張されてもC++の様にはならなさそうな。

787:デフォルトの名無しさん
08/05/03 19:32:13
テンプレートとプリプロセッサだけでここまでできるなんて、C++なんて恐ろしい子

788:デフォルトの名無しさん
08/05/03 19:33:59
>>782
ちげぇーよ
CやC++に仮想環境なんてないよ
そんなの、古いコンパイラに今のコード突っ込めば判るだろ

789:デフォルトの名無しさん
08/05/03 19:35:23
ソリアセンブラで出来ることさえ押さえてまけばマクロで銅にでもなる

790:デフォルトの名無しさん
08/05/03 19:36:19
自前プリプロセッサでラムダとかC++の人は節操ない

791:デフォルトの名無しさん
08/05/03 19:37:43
>>788
はぁ?

792:デフォルトの名無しさん
08/05/03 20:20:15
>>786
特にDは、コンパイラの作りやすさに重点を置いていることを
はっきり明言している言語だものな。

793:デフォルトの名無しさん
08/05/03 20:42:10
Javaもその道の達人が設計に関わったからな

794:デフォルトの名無しさん
08/05/03 21:31:04
コンパイラの作りやすさなんていう利用者には
問題にならないことを優先するよりも、コーディング時の
融通の利きやすさを優先させたほうが、使うほうには
有りがたいと思うけどな。
コンパイル速度はさすがに無視できんけど。

795:デフォルトの名無しさん
08/05/03 21:31:51
処理系の実装のし易さと言語それ自体の使いやすさを混同しないように

796:デフォルトの名無しさん
08/05/03 21:45:58
>>795
釣りだとは思うが…

797:デフォルトの名無しさん
08/05/03 21:54:30
>>796
どういう趣旨の釣りだとお思いで?

798:デフォルトの名無しさん
08/05/03 21:55:05
コンパイラの実装しやすさと、
言語の使いやすさが別物というのに異論は無いけど、
コンパイラの実装しやすさが、コンパイル速度の向上や、
コンパイラが用意されるプラットフォームの増加に繋がって、
言語ユーザーへの恩恵にもなったりするよ。

799:デフォルトの名無しさん
08/05/03 22:12:26
>>797
パーサが書き易いと言う事は自分で好きなだけ構文を弄れるという事だ。
Boost を有り難がってる人種ならその意味が分かるだろ。

釣りか素人かどちらか知らんが、こんな事説明させるなよ。

800:デフォルトの名無しさん
08/05/03 22:19:37
>>799
あほですな

801:デフォルトの名無しさん
08/05/03 22:20:06
パーサを弄るのとテンプレート弄るのは難易度や労力が全然違うだろ。
わかりやすい文法はパーサ作るのは楽だろうが、パーサ作るのが楽なら文法がわかり易くなるかというとそうではないし。FORTHのパーサとか超簡単だけど読みにくいし。


802:デフォルトの名無しさん
08/05/03 22:22:35
>>801
誰もそんな話してないだろw
曲解して否定するのが得意だな

803:デフォルトの名無しさん
08/05/03 22:25:31
>>799>>802
パーザなんて弄ったことない小学生なんでしょ?

804:デフォルトの名無しさん
08/05/03 22:29:26
>>799
1行目と2行目の関連がよくわかりません
ご説明をお願いします

805:デフォルトの名無しさん
08/05/03 22:33:18
>>804
パーサが何をするかは知ってるの?

806:デフォルトの名無しさん
08/05/03 22:35:27
構文解析をします

807:デフォルトの名無しさん
08/05/03 22:39:13
C++の文化だと自分でコードの自動生成したり構文拡張したりはしないのか

808:デフォルトの名無しさん
08/05/03 22:39:27
Boostが何をしないかは知ってるの?

809:デフォルトの名無しさん
08/05/03 22:41:51
>>807
OpenC++ってのもありますが、
今やtempleteがありますしね。

810:デフォルトの名無しさん
08/05/03 22:42:44
超言語的拡張をしません

811:デフォルトの名無しさん
08/05/03 22:44:27
>>808
何をしないの?

812:デフォルトの名無しさん
08/05/03 22:45:07
>>811
>>810


813:デフォルトの名無しさん
08/05/03 22:45:23
boostは小文字でおk

あと、
>Boost を有り難がってる人種ならその意味が分かるだろ。
分かりません。
機能性の優先度は高いものの、メジャーな環境で使えるよう
かなり配慮されて #if とか入りまくりなのに
俺構文作って他のコンパイラで使えなくなったら意味無いじゃん。

何のための(次期)標準かと。

814:デフォルトの名無しさん
08/05/03 22:45:26
>>807
プリプロセッサとテンプレートの仕事なのです。

815:デフォルトの名無しさん
08/05/03 22:46:18
具体的にどんな超言語的拡張をしたいの?

816:デフォルトの名無しさん
08/05/03 22:46:52
>>814
自分でプリプロセッサ作りたくなるでしょ

817:デフォルトの名無しさん
08/05/03 22:47:48
>>807
コードの自動生成はよく行われると思うけど
構文拡張を個々人がするような文化はC++にはないと思う

そんな文化があるの?
ポータビリティはどうなるの?

818:デフォルトの名無しさん
08/05/03 22:51:15
>>816
それと処理系の実装しやすさとは関係ないでしょ
自分プリプロセッサの文法とは関係するけど

819:デフォルトの名無しさん
08/05/03 22:52:07
>>817
例えば cfront を書きたくなったりしたのも最初は個人でしょ

820:デフォルトの名無しさん
08/05/03 22:54:22
コンパイル時に帰納関数を計算するtemplate
演算子オーバーロード
SFINAE
に加えて、
concept_map
があるから独自プリプロセッサなんかいらない。

821:デフォルトの名無しさん
08/05/03 22:55:22
>>819
そんなの上位の一握りだし、さらにその頃とは状況がかなり変わってるし。

822:デフォルトの名無しさん
08/05/03 22:55:37
>>819
だから何?

823:デフォルトの名無しさん
08/05/03 22:57:54
cfrontを書いたのは個人じゃないぞ、AT&T。
bsは方針を練ったが、実装は雇われプログラマがやった。
テスターも雇われがいた。
もともとは電話交換機用のプログラミング言語として作ったから。

824:デフォルトの名無しさん
08/05/03 23:00:56
やっぱり文化が違うな。
まあC++どっぷりじゃそんな気もなくなるか…

825:デフォルトの名無しさん
08/05/03 23:02:29


826:デフォルトの名無しさん
08/05/03 23:02:54
URLリンク(fabrice.bellard.free.fr)

例えばC++だと↑こういうのを作るのは無理だよね
コンパイルに死ぬ程時間が掛かるから

827:デフォルトの名無しさん
08/05/03 23:04:13
理屈ではC++最強とは思うが
現実的に何かを作る際に他言語のほうが手っ取り早い(、上に最近は処理時間にそれほどシビアにならない)ってのが
C++選択を躊躇させる

828:デフォルトの名無しさん
08/05/03 23:06:29
コンパイラの実装が無いプラットフォームへの対応とかならまだしも、
ポータビリティ0の独自仕様を個人でとかありえないな。

829:デフォルトの名無しさん
08/05/03 23:06:35
上位レイヤーにしか関わらないPG/SEが増えてきたって事かな。

830:デフォルトの名無しさん
08/05/03 23:10:33
>>828
プリプロセッサならポータビリティは損なわれないでしょ
例えば↓ObjC->Cのトランスレータだけど、C Compilerは何でも良い

URLリンク(users.pandora.be)

831:デフォルトの名無しさん
08/05/03 23:11:35
下位レイヤーが大勢居たらカオスになるだろ。

832:デフォルトの名無しさん
08/05/03 23:14:21
>>794
>コンパイラの作りやすさなんていう利用者には

コンパイラを書かないしコンパイラのソースも読まないPGが
増えてきたって事かな。

833:デフォルトの名無しさん
08/05/03 23:17:55
これからはプロセッサのスペックアップは鈍化して
期待できないから、C++がまた隆盛になるかもだな。

834:デフォルトの名無しさん
08/05/03 23:18:27
読むのはともかく、コンパイラ書く奴が大勢居たらカオスになるだろ。

835:デフォルトの名無しさん
08/05/03 23:18:53
URLリンク(jikes.sourceforge.net)

Jikesみたいなコンパイル速度が売りのコンパイラはC++にあるの?

836:デフォルトの名無しさん
08/05/03 23:23:08
>>834
特色のある言語処理系が色々と出てくるのは悪い事じゃない
例えばCINTとか

URLリンク(root.cern.ch)

837:デフォルトの名無しさん
08/05/03 23:25:23
まあでも今時C++を使ってる人間は余程の熟練者なんだろうな
そうじゃなきゃ普通は>>827みたいに考えるよね

838:デフォルトの名無しさん
08/05/03 23:25:35
>>835
頑張ってググッたようだけどjikesなんて使われてねぇよ

839:デフォルトの名無しさん
08/05/03 23:27:28
>>838
昔は結構使ってたぞ。それなりに有名だったんだが、最近の連中は知らんのか。

840:デフォルトの名無しさん
08/05/03 23:28:35
今は使われていない事に変わりはないだろ。

841:デフォルトの名無しさん
08/05/03 23:28:58
>>839
古参乙
いつのJDK互換か知ってて言ってるのか?

842:デフォルトの名無しさん
08/05/03 23:30:41
>>840
それでも言いたい事は分かるだろ
C++は今も昔もゼロなんだよ

843:デフォルトの名無しさん
08/05/03 23:31:03
C++と比べれば、Javaなんて標準のコンパイラでもめちゃくちゃ速いです。

844:デフォルトの名無しさん
08/05/03 23:32:43
>>843 つまらん

845:デフォルトの名無しさん
08/05/03 23:33:59
C++は標準のコンパイラも無いからポータビリティが大変です。

846:デフォルトの名無しさん
08/05/03 23:34:28
IBMみたいに体力あるところとかOSSならともかく、
独自実装なんてやったアホなコンパイラは標準について来れずに死滅しました

847:デフォルトの名無しさん
08/05/03 23:34:53
>>842
C++に大衆性がないのに同意しない人間はいないだろ。
firefoxとかadobe readerとか、一部のエリートプログラマは使っているが。

848:846
08/05/03 23:35:03
javaコンパイラのことな

849:デフォルトの名無しさん
08/05/03 23:36:05
>>847
エリート乙

850:デフォルトの名無しさん
08/05/03 23:38:08
>>846
Microsoft ってまだ Java やってたんだな…

851:デフォルトの名無しさん
08/05/03 23:41:52
>>821
>そんなの上位の一握りだし

今日一番寂しい言葉だったよ... (´・ω・`)

852:デフォルトの名無しさん
08/05/03 23:43:28
>>850
やってないよ
お亡くなりになるJ#のこと?

853:デフォルトの名無しさん
08/05/03 23:45:15
>>851
何で?
メジャーな環境のフリーなコンパイラがあるのにそんなことするのは
余程上の人間か、もしくはただのアホだろ

854:デフォルトの名無しさん
08/05/03 23:45:43
>>852
やっぱりそうか
「独自実装」で一番最初に思い浮かんだw

855:デフォルトの名無しさん
08/05/03 23:48:08
>>853
何でって、昔は俺言語を作るのが普通だったから…
ガッコでコンパイラの授業あるだろう

856:デフォルトの名無しさん
08/05/03 23:48:17
J#あったなw
最後までJDK1.1(笑)互換だったけど騙されて使ってた会社は、
今もメンテで使ってるかもな。

857:デフォルトの名無しさん
08/05/03 23:50:58
授業で習って、その流れで俺言語作るのと、
実用のために俺言語作るのはわけが違うだろ常考。
どんだけの新言語がポシャッってると。

858:デフォルトの名無しさん
08/05/03 23:54:11
俺言語作るよりチャレンジングなのがC++のtemplate変態プログラミング。

859:デフォルトの名無しさん
08/05/03 23:55:29
ハードウェアとセットで囲い込むか、
マーケティング力が無いと無理だろうな。

そういう意味でRubyはすごいと思うよ。
Railsのおかげではあるけど。

860:デフォルトの名無しさん
08/05/03 23:55:35
実用の為の俺言語作ってる奴も多かったよ
ツール組み込みのマクロとか

861:デフォルトの名無しさん
08/05/03 23:58:29
マクロまでハードル落としたなw
そりゃマクロなら結構居るだろうさw

862:デフォルトの名無しさん
08/05/03 23:59:59
>>861
マクロっつってもフルセットの Scheme とかだぜ
まあ俺言語じゃないけど…

863:デフォルトの名無しさん
08/05/04 00:01:30
反応を見てると、やっぱり最近の人はそういうのやらないんだな…

864:デフォルトの名無しさん
08/05/04 00:05:39
俺の先輩は新入社員研修でCのコンパイラ作らされたって言ってたな
やっぱり文化が違うw

865:デフォルトの名無しさん
08/05/04 00:07:44
俺言語の話をしたいのか互換実装の話をしたいのかちゃんと絞ろうぜ・・・

俺も別に完全否定する気はないし、
  小規模な俺言語(マクロ)
  コンパイラが無いプラットフォームへの実装
  標準についていく力がある組織による競合実装
なら十分有りだと思ってる。
  
C++の個人での俺拡張がありえないって言ってるわけで。

866:デフォルトの名無しさん
08/05/04 00:10:51
>>865
>C++の個人での俺拡張がありえない

俺もそう思うよ。腐った木に水やりをする人間はいないからね。
D や Java はそこら辺ちゃんと筋を通してる。

867:デフォルトの名無しさん
08/05/04 00:22:25
今日は入り浸りすぎたんで暫くレスを自粛するわ…
じゃあね

868:デフォルトの名無しさん
08/05/04 00:24:39
Javaはコンパイラ拡張が専門のPolyglotって実装があるよ。
C++はg++ベースが多い。例えばConceptGCC。

869:デフォルトの名無しさん
08/05/04 01:16:59
プログラム書くのにコンパイラの実装なんて気にする必要ないじゃん

つか、C++簡単だろう
わかんない、どんだけ低能なんだよ

870:デフォルトの名無しさん
08/05/04 01:20:55
簡単ではないだろう
STLからbostまでにどれだけの英知が必要だったか

871:デフォルトの名無しさん
08/05/04 01:38:30
>>870
それは別にC++が特別ではないだろ。
本格的な言語ならどれだって大量のリソースが注ぎ込まれているはず。

あと、使う方もC++が特別難しいとは思わないが、ほかが特別簡単とも思わない。
例えば、自分1人で作るプログラムなら当然C++は候補の1つ。
利点欠点を考え気分を加味して、C++が最良と思えばそれを使う。別のが良ければそれを使う。

872:デフォルトの名無しさん
08/05/04 01:50:00
程度問題だけど
標準ライブラリがあれほど言語の能力を使いきれてなかったのも珍しくない?
つまり標準化委員達にも把握できてなかったわけで

自分はC++を理解しているつもりだけど、本当はboostの先が果てしないのじゃないかと

873:デフォルトの名無しさん
08/05/04 01:56:03
そもそも標準ライブラリのbind.*とかが欠陥品だからなぁ・・・

874:デフォルトの名無しさん
08/05/04 01:58:11
かなり早い時期に作られたライブラリなんだから責めないで。
何年もの研究の成果があってこそのboostなんだし。

875:デフォルトの名無しさん
08/05/04 02:01:05
というわけで正しくC++を使うのは識者たちにも難しかった

876:デフォルトの名無しさん
08/05/04 02:13:02
正しくって?
限界まで、の間違いだろ

877:デフォルトの名無しさん
08/05/04 07:40:58
iostreamきもい

878:デフォルトの名無しさん
08/05/04 07:43:23
>>847
パソコンで箱売りされているソフトの大半がVCで書かれてますが?

879:デフォルトの名無しさん
08/05/04 07:49:17
土方の話はしてないからw

880:デフォルトの名無しさん
08/05/04 11:16:01
>>870
道具を作るのには英知が必要かもしれないが
道具を使うのには英知なんて必要ないだろうが

881:デフォルトの名無しさん
08/05/04 12:22:17
>>879
話を限定しないと、C++に大衆性が無いなんてトンデモ理論は
言い続けられないですもんねw

882:デフォルトの名無しさん
08/05/04 16:13:39
>>880
最近その言葉の意味を身をもって知ることになったんで同意する。
道具を使うのは簡単なんだよな。使い方勉強すればいいだけなんだし。

883:デフォルトの名無しさん
08/05/04 16:32:55
まぁ、使うのは作る知識の5%くらいは必要とかそんな感じなんじゃない。
その5%にも満たないという残念な実感、そんな経験が俺にもありました。

884:デフォルトの名無しさん
08/05/04 17:01:25
よく見ると>>2が痛々しいな

885:デフォルトの名無しさん
08/05/04 17:34:27
          >  新総督はナナリーだよ!!!  <
           ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
      _ - '´rニ- 、_  ノ}
   /{/:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.: ̄._ニア       : , '´::::::::::::::::::::::::::::::`丶、: 
   {:.:.| .:.:.:.:.:.:.:.:.:.:.:.:.:.:. :.ノl:.:.ヽ       : /:::::::::::::::::::::::::::::::::::::::::::::::ヽ :
  __,>:.:.: .: :.:.l:.l:.:.l:.:.:.:.:. .: .ヽ、.:.:.\     : /::::::::::::::::::::::::::::::::::/::::::::::::::::::::', :
∠_:.:.:.:.:.:.:.:.:.ノノ_:.`ニ=‐.:.:.:.:ハ:.ヽ:.:.:.:.ニ=- : //::::l:::::::/:::::;/::/::::;ヘ:::::::|:::::::::::::} :
 . |.:.:.:.:.|:.:.|:.:.|:.ゝゞ`、:.:|:.|_}.:.|:.:.:.:..}   ://::::::l:::::;ヘ/, '/:/::/ ::::|:::::l:::::::::::::{ :
 . |:|.:.:.:.{:.:.{∨仁¨-、ヽ/≦ソリ:.:i|ノ    : /|::::::l/(◯), 、(ひ)::::リ:/:::::::::::::l :
  リ:.:(\ヽ rr=-,   r=;ァ{:./´     : .|ハ::|:::l"",rェェェ、"" ::::::/::::::/`i;':| :
   `ヽヽゝヽ  ̄     ̄ l:.ヽ、     : l' |l:::!  |,r-r-|   :::::/;::::::;'_.'´ハ :
   ∠_:..:.¨ヽ   'ー=-' ,ノ  ̄        : l;' ',  `ニニ´  :::::/:://:::/ :

886:デフォルトの名無しさん
08/05/04 18:08:58
>>883
5%どころか0.05%ぐらいが妥当じゃないかと

887:デフォルトの名無しさん
08/05/04 22:22:26
>>880
残念だが、俺の作ったライブラリを使うには
とびっきりの英知が必要になるぞ

888:デフォルトの名無しさん
08/05/04 22:26:44
mb2sync乙

889:デフォルトの名無しさん
08/05/04 22:42:56
>>887
使い勝手が悪いってことじゃないかそれ。

890:デフォルトの名無しさん
08/05/04 23:25:02
>>887に英知が無いことだけは良く分かった

891:デフォルトの名無しさん
08/05/05 00:19:01
酷いネタにマジレスを見たw

892:デフォルトの名無しさん
08/05/05 10:27:56
レスを追ってて思ったんだが、
CのFree()とC++のデストラクタとC#のDispose()って具体的に挙動や用途としてはどうちがうの?
なんとなくはわかるんだが、正確にどういう違いがあるかわからん。

893:デフォルトの名無しさん
08/05/05 10:39:12
C++にはdeleteもあるぞ。

894:デフォルトの名無しさん
08/05/05 10:39:25
malloc して free しない →100%メモリリークする
new して delete しない  →メモリリークするかどうかはケースバイケース
New して Disposeしない →メモリリークするが一部はガベージコレクションで救済される

895:デフォルトの名無しさん
08/05/05 11:25:11
ちょっと3レスに分けて書くよ。

<C>
・malloc() :メモリ確保
・free() :メモリ解放(mallocが再利用出来る。OSに返すとは限らない)

すぐ終了するプロセスは、大量に確保を
繰り返すもので無い限りfree()しなくても大丈夫。
長期的に動くプロセスはfree()を使わないと
malloc()で再利用出来ないため、問題となる。
ただし、mallocの実装によっては徐々に断片化してオワル。
なので、組み込みのようなものではmalloc系を使わない、
ページ単位で確保する処理でラップなどで対応。

896:デフォルトの名無しさん
08/05/05 11:25:40
<C++>
・new:malloc()して、それをthisとしてコンストラクタを実行
  ※厳密にはmallocとは限らない。
・delete:デストラクタを実行したあと、free()する
・デストラクタ:メモリ解放はしないけど、リソースの解放などをする。
 なので基本的に呼ぶこと。

newを使用しない自動変数の場合は、
変数のスコープから出る際にデストラクタが呼ばれる。
リソースもモダンなOSはプロセス終了時に破棄するけど、
名前付き共有メモリマップのような
プロセスを超えて生存する仕様のリソースは当然残る。

897:デフォルトの名無しさん
08/05/05 11:26:06
<C#>
・メソッド内のusing:指定された変数が
 usingのスコープから出る際にDispose()が呼ばれる。
・Dispose():メモリ解放はしないけど、リソースの解放などをする。
 なのでDisposableを持っている場合は基本的に呼ぶこと。

C#はGCがあるので放っておいてもメモリは解放される。
その前段でFinalizeが呼ばれるので、その際通常はDispose()が呼ばれる。
つまり明示的にDisposeしなくて呼ばれるが、
GCはコネクションプールの枯渇などを検知しないので、
メモリに余裕がある場合はいつまでもFinalizeも呼ばれず問題となる。

898:デフォルトの名無しさん
08/05/05 11:35:43
デストラクタはいるけど、deleteはいらないな。

899:デフォルトの名無しさん
08/05/05 11:39:44
そうだね
delete不要論はsmart_ptrによるRAIIのテクニックが広まった頃にC++プログラマは口々に言ってたよね

900:デフォルトの名無しさん
08/05/05 11:42:10
>>894
1行目をリークとするなら2行目も100%リークです。
3行目もおかしい。文脈的にはそのケースはメモリリークしない。

>>898
何で?

901:900
08/05/05 11:43:55
スマートポインタが内部的に呼ぶから明示的なdeleteは不要、
ということならおk。それなら同意なので。

902:デフォルトの名無しさん
08/05/05 11:51:30
ユーザコードでdeleteを記述したかどうかなんてのは、deleteの有無を論じる上で正確じゃない。

A * a = new A;
// iroiro
a->~A();
こんなコードを書く奴が出てきてしまうかもしれん。

903:デフォルトの名無しさん
08/05/05 12:07:00
>>902
しかし、
class A{
B *b;
public:
A(){
b = NULL;
};
~A(){
delete b;
};
void SetB(B *s){
b = s;
};
B *GetB(){
return b;
};
//色々な処理
}
というクラスの場合、
自分がnewしたからと言ってbを勝手にdeleteしちゃうと不味いよね


904:デフォルトの名無しさん
08/05/05 12:19:12
それただのクソコードじゃんw
どういう責任範囲か不明だし、Aが責任もつならSetBのときにdelete bだろ

905:デフォルトの名無しさん
08/05/05 12:21:21
newをユーザコードで直接使わずにfactory methodを使えと言うことですか

906:デフォルトの名無しさん
08/05/05 12:22:20
>>903
>>902のAの設計思想を知らんけど、Bの生存期間をAに移譲しないなら、
自分でdelete bに相当する操作を行うべきで、~Aにdelete bがあるのがおかしい。
仮に>>902のAをそのまま使うとしても、次のようなコードにするべきだ。

some_smart_ptr<A> a(new A);
some_smart_ptr<B> b(new B);
a->SetB(b.get());
// iroiro
a->SetB(NULL);

907:デフォルトの名無しさん
08/05/05 12:44:55
>>906
a = new A;
some_smart_ptr<A> b(a);
delete a;


908:デフォルトの名無しさん
08/05/05 12:50:13
>>907
何が言いたいんだw
バグを披露したいのか?

909:デフォルトの名無しさん
08/05/05 12:51:27
そこでGCだ

910:デフォルトの名無しさん
08/05/05 12:55:43
newしたらdeleteすべしと言うことは、>>907って事だろ

a->SetB(new B);
とどう違うのかって話にも取れるな


911:デフォルトの名無しさん
08/05/05 13:03:18
どんだけw

a = new A; //newしたら
some_smart_ptr<A> b(a); //deleteすべし

「明示的な」「責任」「生存期間」とか言い方はそれぞれだけど
>>899 >>901 >>902 >>904 >>906 は皆そういうことを言ってる

912:デフォルトの名無しさん
08/05/05 13:10:26
>>896
> ・delete:デストラクタを実行したあと、free()する

ちがうぞ。allocatorのdeallocate()を呼ぶ。


913:デフォルトの名無しさん
08/05/05 13:14:52
>>912
だから「※厳密にはmallocとは限らない。」って書いたんだけど・・・。
>>892向けに書いたから分かりやすいようにあえてそうしたの。

914:デフォルトの名無しさん
08/05/05 13:17:21
newも厳密に言ったらoperator newとか配置newとかあるしな

915:デフォルトの名無しさん
08/05/05 13:19:26
>>911
>>903コードだと、class Bは、class Aのプライベートなメンバーじゃん
class A以外で、*bをdeleteしちゃ不味いだろ、Aの生存期間が終了するまでの間にBを利用する可能性があるんだし
ゲタやセッタがあって、Aのコンストラクタでbをnewしないって事は、クラスBの派生クラスCを使う可能性だって考えられるし


916:デフォルトの名無しさん
08/05/05 13:21:52
>>911にclass Bなんか出てきてないけど。

917:デフォルトの名無しさん
08/05/05 13:23:30
>>916
>>903にでてるじゃん


918:デフォルトの名無しさん
08/05/05 13:23:55
>>913
malloc/free使う実装ってあるの?

919:デフォルトの名無しさん
08/05/05 13:27:32
>>915
> >>903コードだと
まだ>>903のコードのこと言ってると分かって軽くフイタw

> プライベートな
privateだろうがset,getがあれば同じこと

> Aの生存期間が終了するまでの間にBを利用する可能性
>>904 >>906であるようにAの仕様が意味不明なので何とも言えない

> 派生クラスCを
Cを使っても問題無い(virtual ~B()でないのに継承してAに渡すのはただのバグ)

920:デフォルトの名無しさん
08/05/05 13:27:49
>>917
なぜ>>911に対してコメントしたの?

921:デフォルトの名無しさん
08/05/05 13:30:38
>>920
>>910への返答が>>911だから


922:デフォルトの名無しさん
08/05/05 13:31:55
>>918
あると思うよ。

923:919
08/05/05 13:33:41
>>921
ああスマン a->SetB(new B); のところはどうでも良すぎて無意識にスルーしてた

924:922
08/05/05 13:36:30
>>918
とりあえずVC++
URLリンク(okwave.jp)

925:デフォルトの名無しさん
08/05/05 13:42:05
a->SetB(new B)は駄目で、some_smart_ptr<A> a(new A)はいいって、どんなやねん
どっちもスマートポインタだろうがw


926:デフォルトの名無しさん
08/05/05 13:43:16
>>918
g++は下請のlibiberty/xmalloc.cからmalloc()呼び出してる。
libibertyは差し換えられるようになっているけれど。

927:デフォルトの名無しさん
08/05/05 13:48:46
>どっちもスマートポインタだろうがw

>Aの仕様が意味不明なので
とあるように、それならそうと始めから書いてくれないと。
>>903のようなコードからスマートポインタを
書こうとしたことを読み取るのは難しい。

分かってる人ならサフィックスに_ptr付けるとかする。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch