【肥大化】C++ を見捨 ..
[2ch|▼Menu]
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がありますしね。


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

5086日前に更新/219 KB
担当:undef