- 1 名前:デフォルトの名無しさん [2008/08/28(木) 14:48:15 ]
- 仕様が大きすぎるくせに、
実用的なライブラリが未整備。 なんかいらいらしない? こんなこともできないくせに、 なんでこんな仕様ばっかり作るんだよって。 C++ってなんであんなに肥大化しちゃったの? 名前: 仕様書無しさん E-mail: 内容: 仕様が大きすぎるくせに、 実用的なライブラリが未整備。 なんかいらいらしない? こんなこともできないくせに、 なんでこんな仕様ばっかり作るんだよって。 C++はなんでもできます。でもなんにもできてないので つくってね。的な。
- 147 名前:デフォルトの名無しさん [2008/09/21(日) 09:35:20 ]
- それで10倍実行速度が遅いと。
- 148 名前:デフォルトの名無しさん [2008/09/21(日) 09:39:14 ]
- C/C++の弱点って、作られたバイナリの対象となる実行環境が限られるって事だけじゃん
それ以外の弱点っていうのは、ちょっと思いつかないなぁ
- 149 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 10:13:34 ]
- C#とかJavaでロジックを組んでるのとか見るとHaskellやprologを使った方が100倍短かく早く作れる事実を知らんのだろうなあと思う
- 150 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 10:23:12 ]
- でもHaskellやPrologで作ったOSは知らないなあ
- 151 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 10:32:27 ]
- Cのプログラマーが溢れて給料低下だから、
わざとごちゃごちゃしたC++作ったってネタは面白かったw まぁ、俺はカプセル化だけでもC++の意味はあると思うが。 そもそもプログラムなんて使えるライブラリがあるかどうかで90%は決まる。
- 152 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 11:13:29 ]
- >>140
>Objective-CはCを超える表現力を望んだとたんにインタプリタレベルの効率になるんでしょ メッセージ送信だけインタプリタになる。 ただし、ランタイムによってメソッドのアドレスがキャッシュされるのでしばらく動かすと高速になる。 >C++とは守備範囲が違うと思う 組込みとかには向いていないかもね でもiPhoneだと問題なく動いているし、組込みも高度化するとObjective-Cが使えるってことかと
- 153 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 11:22:20 ]
- C++でも仮想関数使えばObjective-Cと同じになるのではないかと
- 154 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 12:56:21 ]
- >>147
100nsが1msになったところでGUIアプリにとっては大部分がどうでもいいんです 何言ってるか分かりますか? ホットスポットだけDLLで外出しすれば100倍早く作れて体感できない程度しか遅くならないんです 何言ってるか分かりますか?
- 155 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:29:27 ]
- >>153
配列のインデックスアクセスとハッシュの要素アクセスの違いがあるんじゃないの
- 156 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:31:40 ]
- >>154
それが問題なんだよ。 プログラムは 8:2 の法則があるのを知ってるだろ。 要するにプログラムの実行時間の大半は2割のコードが 費やしているという事だが、その部分の速度が1/10に なったらもっさりするだろ。
- 157 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:33:09 ]
- 言葉だけ書いてもアレなんで実アプリで説明してみると、
例えばLimeWireってあるだろ。あれはJavaアプリだが、 実に動作がもっさりしている。 WinnyやShareと比べものにならない位もっさりしている。
- 158 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:34:56 ]
- >>156
何言ってるのか全く分からなかったんですね 残念です
- 159 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:37:14 ]
- あ、言っておくと>>146とは別人で、Javaは論外です
- 160 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:40:31 ]
- >>158
だからプロファイルを取ってタイムクリティカルな部分だけでも C/C++で書けって言ってるんだよ。察しが悪いな。
- 161 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:49:12 ]
- …それって結局、
> ホットスポットだけDLLで外出しすれば と同じことだよね。
- 162 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:50:41 ]
- まあそうだな
- 163 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 13:54:06 ]
- 要するにJavaは動作が遅いって認めてるわけだ
開発は早いけど WindowsだけならC#使っちゃうな Linux/UNIXならJava
- 164 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:15:34 ]
- 自分はC++が割りと好きだけど
あのコンパイルの遅さは糞だと感じる これで開発効率が落ちてる 実行時の効率とのトレードオフなんだけど、でもなぁ
- 165 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 15:56:22 ]
- precompiled header使える処理系使えばええやん
- 166 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 16:04:52 ]
- パースに時間が掛かってるというよりも
テンプレートによるコンパイル時演算で時間が掛かるのでPCHじゃ解決しない Boost.Function とか時間掛かるじゃない Boost.Iterator とかも
- 167 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 16:59:40 ]
- もうすべてHaskellで書いて未来の処理系のおまじないにすべてを託したい。
- 168 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 17:48:40 ]
- C++使いこなせない奴ってかわいそうってとこまで読んだ
- 169 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 17:54:23 ]
- >>155
>配列のインデックスアクセスとハッシュの要素アクセスの違いがあるんじゃないの それってユーザー側の影響はないのではないかと?
- 170 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 18:10:41 ]
- >>169
実行時の効率が結構違う
- 171 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:08:41 ]
- 現実の世界ではCの移植性が最高、次にだいぶ落ちるけどC++、Javaはもっとも移植性が低い
- 172 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:31:48 ]
- JAVAってマルチプラットフォームじゃなかったの?
- 173 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:43:40 ]
- Javaも動かないものは動かないしな。
原因がプログラムが悪いにしろなんにしろ、ランエニホエアとかを 売りにしてたから、がっかり度が大きい
- 174 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:53:22 ]
- >>173
いやいや、Java VMが移植されてない環境では動かないという意味だと思う
- 175 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:59:16 ]
- それと現実的な実行スピードとサイズもCが一番優れてるよな
- 176 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:04:31 ]
- >>175
結局のところCを完全に越えた言語がないってことだろ だから、C++,JAVA,C#,Objective-CなどのようなC言語の派生でうろうろしている DはCの派生言語の整理かつ集大成にしようとしているようだが、 移行するほどの利点がない
- 177 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:58:24 ]
- >>173
結局UNIXとWindowsじゃ要求されるものが違いすぎて そもそも要求の次元からして殆どの分野で同じものじゃ済まされないんだよな JAVAあほす
- 178 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 00:00:24 ]
- Cの移植性ってWIN32APIとかはどげんすると?
- 179 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 02:55:49 ]
- Objective-CなんてC++と同等に並べんなよ。原住民の言語じゃねーか。
C#もエスペラント語みたいなもんだろ。綺麗だけど流行っちゃいねえ。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 04:53:47 ]
- お前の中では8年前で情報が止まってるんだなw
- 181 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 06:52:46 ]
- お前は8年間妄想してたんだな。Objective-Cでパンは食べれたかい?
- 182 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:22:33 ]
- いやあのC#の話なんですが
- 183 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 15:10:11 ]
- Objective-Cは神
- 184 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 21:07:27 ]
- 一方、ベルギーの音楽ソフトメーカーは日本人を雇った
ttp://www.flstudio.com/documents/flchan.html
- 185 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 14:08:51 ]
- Objective-Cは神
つまり糞の役にも立たない
- 186 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 18:57:40 ]
- 例えば C++ のどの機能を削れるの?
- 187 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 19:30:02 ]
- マクロを削ろう。
ストローのおじさんもマクロを削りたいみたいだし。
- 188 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 21:41:24 ]
- 全部の機能を削ればいいと思うよ
そうすれば、移植性が最高、実行速度もトップレベル、バイナリサイズも小さい、しかも習得が容易な言語になる
- 189 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:01:52 ]
- Cコンパイラの移植性とネイティブの実行効率が欲しいだけなら
Cソースにコンパイルすればいいんですよ 昔のC++、eiffelやsatherのようにね
- 190 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:13:02 ]
- 昔のC++からCへのトランスレータには例外とかRTTIないでしょ
そのへんちゃんとしてるのある?
- 191 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:40:00 ]
- >>190
>>188
- 192 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:51:53 ]
- >>188
ばーか
- 193 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:58:18 ]
- >>190
eiffelもsatherも例外ぐらい当たり前のようにあるはずだよ
- 194 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:05:07 ]
- さらに C 言語から switch 文、for 文のように必要ない機能を削れば移植性が高くて
学習しやすい言語になるよ。
- 195 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:10:01 ]
- >>190
例外もRTTIも自前で実装できない人の発言。 例外なんてジャンプテーブルをスタック状に積み重ねるだけだし、RTTIなんてvtableのアドレスをそのまま使えばいいだけ。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:12:58 ]
- >>194
C言語からswitchとforを削って移植性が高くなるのは、 その仕様の処理系がC言語の処理系より多くの環境にある場合だけだね
- 197 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:30:53 ]
- >>196
C言語のサブセットだからすでにC言語の処理系と同じ数の処理系があると考えていい。
- 198 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:32:18 ]
- 同じ数の処理系なら移植性は同じっていってるんじゃん
- 199 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:46:40 ]
- サブセットの方が処理系が多いし、単純な仕様のほうが移植性が高いんじゃないの?
- 200 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:51:04 ]
- >>194
つまんね
- 201 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 23:54:05 ]
- 現実にそんな処理系があるなら移植性は高いけど
でもC言語からswitchとforを削った処理系がある?無いよね? だからそのサブセットは普通のCと比較して実際の移植性は同じだってこと いま世の中に存在しない夢のコンパイラは比較対象にならない
- 202 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 00:01:14 ]
- >195
cfrontと禿はそれが現実的なコストで出来ないって判断したよ つか、自前で実装って、毎回ターゲットの環境用に書くんだから移植性は最低だよね
- 203 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 00:02:27 ]
- >>194
ifやwhileなどで置き換えができるからいらないっていう主張なら、関数定義と?と末尾再帰だけでOKになってしまうぞ
- 204 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 00:09:22 ]
- >>194
使いにくくなっちゃうけどね
- 205 名前:195 mailto:sage [2008/09/24(水) 04:17:19 ]
- >>202
もっとわかりやすく。D&Eかなんかのページ数でもいい。 または、移植性最悪だからといってポーティングを諦めた処理系があるなら教えてくれ。
- 206 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 04:51:33 ]
- 正直、例外は好きじゃない。
- 207 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 08:42:09 ]
- Maybeを使うんですか
- 208 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 09:01:13 ]
- >205
ここまでの流れをまとめると >188 C言語最高 >189 ならC++からCへのトランスレータを使えばいいんじゃね? >190 でも例外とかRTTIとかモダンな仕様を満たすトランスレータは無いよね? >195 例外とRTTIくらい自前で実装しろ、雑魚 >202 禿もトランスレータでは現実的に無理って判断したよ?
- 209 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 10:15:23 ]
- >>195
移植性の話をしてる時に自前で実装すればいいって発言はありえない
- 210 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 11:41:49 ]
- >>205
スタック操作がからんだら移植性が失われるのは当たり前。阿呆か。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 20:23:42 ]
- C++は、C言語がそれほど変わらず存在し続ける為の生け贄。UNIXが存在する限りこの連鎖は断ち切れん。
未来永劫C++はC言語の為に拡張され続ける運命にある、..........................たぶん、
- 212 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:36:57 ]
- C++信者って195みたいなのばっかりなの?
- 213 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:44:13 ]
- C++信者なんていませんよ。
ファンタジーじゃあるまいし。
- 214 名前:デフォルトの名無しさん [2008/09/24(水) 23:08:17 ]
- 195はファンタジーかよ
- 215 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:10:55 ]
- C++がファンタジーになる時代はいつですか?
- 216 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:24:31 ]
- C++標準化委員会が「新しい機能はなるべく付け加えるな」と
言い続けてこれだからなあ PGの欲望っていうのはとどまる所を知らない
- 217 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 01:13:17 ]
- C++なんてコンピュータを制御するための設定ファイルですよ。
- 218 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 02:32:04 ]
- C++ってそんなにダメか?
スピードとそれなりの汎用性を必要とする信号処理フィルタなんて書こうと思ったら 「C++ と 部分的にアセンブラ化の組み合わせ」が、今の最適解じゃない? 実験程度ならmatlabやjavaでもいいけど、スピード命ならC/C++に適わない まあC++でなくても、Cで済むんだけど、規模が大きいときや、 フィルタを組み合わせたいとき、C++の方が記述が楽になる
- 219 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 04:10:09 ]
- ++とか一般人に分からない演算子使うのやめて
C 2.0に名前変えるべき
- 220 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 06:21:41 ]
- むしろすべてC++でいいと思う。最近似たような言語が増えて効率悪すぎ。
- 221 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 08:06:11 ]
- 配列とポインタは明確に区別するべきであった。
何故一つ余計に&付けるのをケチったんだ。
- 222 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 09:03:26 ]
- >>218
C++がどうしようもなくダメってわけじゃなくて CとC++を明確に区別して比較したらC言語の方がより良いってことでしょ
- 223 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 10:03:46 ]
- >>221
配列とポインタを同列に扱えるのがC/C++の強み。 嫌なら使うな。
- 224 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 10:25:46 ]
- >>222
>C言語の方がより良い 誰にとって、どういう点で「良い」つってんだお前は。
- 225 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 10:44:56 ]
- 188からの流れ読んだら?
移植性とか実行時の効率とか学習コストの点で「良い」んだろ まあ個人的には速度に関しては有意な差は無いと判断するけどな
- 226 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 11:12:26 ]
- 初期コストが低くてもその後ずっと開発コストが高かったら意味ないだろ。
開発コストが低くてもエンドユーザで実行コストが高かったら意味ないだろ。 C++ が最適
- 227 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 11:19:17 ]
- 1〜2行目と3行目に関連が無い
これがファンタジーってやつかw
- 228 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 11:50:19 ]
- >>225
>188からの流れ そっからかよw 強引な言い訳だな。
- 229 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 11:57:55 ]
- ごめんな
言い訳じゃないんだけど>>208にまとめがあったからつい…
- 230 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:25:28 ]
- ばかばっか
- 231 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:43:12 ]
- >>227
いちいち説明を書かないと関連性が分からない めんどくさいやつだな
- 232 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:18:26 ]
- いや、関連性は無いぞ。
C++が優れていると主張したいならもっと客観的・論理的な視点を持ってくれ。 226の場合はまず、開発コストという、あいまい且つ広範囲な言葉を使うのをやめて、 もっと定量化可能な別のものさしを定義する必要がある。 次にそれを測定し比較、さらに開発コストとそれ以外のメリットデメリットを比較検討、 その結果C++が最適だと主張するなら構わない。 それを行わず「C++最適」の一点張りでは信者は盲目だと思われても仕方が無いな。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:19:38 ]
- 長い。
3文字でまとめてくれ。
- 234 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:23:19 ]
- 無関連
- 235 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:23:22 ]
- 信
者 乙
- 236 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:44:40 ]
- な
お ガ …どうでもいいですが、C++ を More C として使う発想のない人がいますね。
- 237 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:52:53 ]
- そんな使い方つまらないから
- 238 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 18:57:16 ]
- BetterじゃなくてMoreなのかよwwww
さすがC++信者、その発想はなかったわwwww
- 239 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 20:18:14 ]
- 俺は自分でプログラム書くときは C++
しかし、外部の業者に仕様書出して作ってもらうときは原則C C++でかかれたひどいプログラムは見るに耐えない
- 240 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 22:14:12 ]
- 型チェックに厳しいところだけでも C++ の方が良いと思うが、もしかして C99 で同レベルになってたりする?
- 241 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 22:47:28 ]
- CINTで開発したら、コンパイル頻度へってええぞー。
- 242 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 00:51:49 ]
- 少なくともUNIX界では一部のtkが使ってる程度のニッチ言語
- 243 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 01:00:47 ]
- UNIXだとやはりCなのかね
- 244 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 02:32:28 ]
- GNUとかも大体Cだと思う。
プロジェクト管理ツールのsubversionはCでした。 FireFox3は大体C++でした。
- 245 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 07:57:31 ]
- >>242 Be…
- 246 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:54:54 ]
- >>240
C99はその辺の仕様は変わってない。 どっちかってーと、便利な方向に拡張されてる印象。 (複合リテラルとか可変引数マクロとか)
- 247 名前:デフォルトの名無しさん [2008/09/26(金) 10:34:37 ]
- いま全部読みなおしたけど意外と良スレ
ただもうちょっとまともなC++擁護派の意見が欲しい
|

|