トップページ⇒tech
1001コメント285KB

【肥大化】C++ を見捨てたヤシ【複雑化】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/01/29(火) 09:52:47
文法面での機能拡張しすぎ。
C++の構文解析とか、もうワケワカメ。
マイクロソフト拡張大杉。
gcnew とか使うぐらいなら素直に Java でも C# でもつかえ!!!

0002デフォルトの名無しさん2008/01/29(火) 09:53:57
つ C++ Builder
0003デフォルトの名無しさん2008/01/29(火) 09:55:02
標準と非標準の区別もつかない池沼か
確かにC++から離れた方がいいな
0004デフォルトの名無しさん2008/01/29(火) 10:00:01
__LINE__ とか __FILE __ とか __FUNCTION__ はMS仕様かい?

0005デフォルトの名無しさん2008/01/29(火) 10:12:55
>【肥大化】ユーザー を見捨てたヤシ【複雑化】

これって何てM$?
0006デフォルトの名無しさん2008/01/29(火) 10:18:53
classname hoge;

てやったときに静的インスタンスが作られるってのがすごく扱いづらい。
JAVAみたいにみんなポインタ扱い、関数の引数は参照渡しでいいのに。

0007デフォルトの名無しさん2008/01/29(火) 10:21:42
>>6

ヒント: 慣れ
0008デフォルトの名無しさん2008/01/29(火) 10:22:22
>>6
お前は何を言っているんだ?
0009デフォルトの名無しさん2008/01/29(火) 10:23:28
× C++ を見捨てた
○ C++ に挫折した
0010デフォルトの名無しさん2008/01/29(火) 10:25:36
そもそも全てのクラスの基底になるクラスが存在していないのがおかしい
throw で何でも投げられて catch で何でも補足できるのもヤメレ。


0011デフォルトの名無しさん2008/01/29(火) 10:27:32
void f() throw() が文法上定義されているのにコンパイラ側が未実装ってどういうことやねん!!!
0012デフォルトの名無しさん2008/01/29(火) 10:28:50
うちの会社はなぜ C++ なんかつかっているのだ。
DirectX つかうなら C# でいいじゃんよ
過去の資産が問題ならDLL化すればいいじゃないのよ。

0013デフォルトの名無しさん2008/01/29(火) 10:45:02
>>6
そらそうよ
ていうか静的結合って時点でC++はオブジェクト指向じゃないし。
0014デフォルトの名無しさん2008/01/29(火) 10:53:23
>>12
逆だろ。

次の環境とか言語が発生したら、C丼資産即氏だろうが。
C丼禁止
0015デフォルトの名無しさん2008/01/29(火) 10:58:48
C++でさ
class A {..};
class B: public A {..}
て宣言して B の静的オブジェクトを作ったとき、
B b()
これってちゃんとポリフォリズム動作するの?

0016デフォルトの名無しさん2008/01/29(火) 10:59:56
動作するよ。常考。
0017デフォルトの名無しさん2008/01/29(火) 11:05:50
catch (例外の最上位クラス e)
てやってクラスツリー末端の静的例外オブジェクトを投げても、ちゃんとキャッチしてくれるのか
0018デフォルトの名無しさん2008/01/29(火) 11:15:41
そういう場合は、

catch (...)

と書く。常考。
0019デフォルトの名無しさん2008/01/29(火) 11:16:19
>ちゃんとキャッチしてくれるのか

yes.
0020デフォルトの名無しさん2008/01/29(火) 11:16:46
なんだ、C++最強。
0021デフォルトの名無しさん2008/01/29(火) 11:44:53
何一人で会話してるの?
0022デフォルトの名無しさん2008/01/29(火) 14:07:43
( ^ω^)今日もC++使うお
0023デフォルトの名無しさん2008/01/29(火) 19:40:30
>>17-18
まあそういうのは限定的な状況でしかやるべきじゃないけどな。
0024デフォルトの名無しさん2008/01/29(火) 21:17:05
次のc++だとまたあたらしい文法ふえるみたい。どこまで複雑にすればきがすむんだ?
0025デフォルトの名無しさん2008/01/29(火) 21:59:54
MS拡張がクソってことだろ
0026デフォルトの名無しさん2008/01/29(火) 23:45:50
正直、ここまでくるともう失敗作としか言いようがない気がする。
いったん破棄して全てを無に戻すんだ!
0027デフォルトの名無しさん2008/01/29(火) 23:55:43
いや、もっと突き進んで門を狭くしてくれ。馬鹿が入って来られないように。
0028デフォルトの名無しさん2008/01/30(水) 00:04:51
俺も、こんなんじゃまだまだ生温いから、もっとガンガンに突き進んで欲しい
一つのファイルをコンパイルするのに最新マシンで 1 時間以上かかるくらい
じゃないと C++ の到達点としては不十分だな

そして、一般人が付いてこられなくなって、言語そのものが廃れます様に
( -人-).。oO(ナムナム...)
0029デフォルトの名無しさん2008/01/30(水) 01:22:34
C++ の仕様はまだまだ不十分だろ

世の中にあるプログラミング言語の機能を全て盛り込んで、
全てのアルゴリズムを標準ライブラリとして規格に入れて、
仕様書の厚みがブリタニカを超えて、コンパイラ作成者が
実装を諦めるくらいじゃないといかん

C++ は現在・過去・未来に於ける全ての言語を超越して
唯一無二の輝かしき超言語として地上に君臨し、プロ・アマ
を問わず全てのプログラマがその恩恵に感謝すべきだ
0030デフォルトの名無しさん2008/01/30(水) 01:25:45
とりあえずGUIとCOMとブラウザと動画音声コデックぐらいは
言語仕様として欲しい
0031デフォルトの名無しさん2008/01/30(水) 01:31:30
俺が使っている C++ とお前が使っている C++ は全然別物だな
というくらいの仕様の広がりは欲しいな。

C++ は単一にして全てを包含する、神の言葉を記す為の言語だ。
0032デフォルトの名無しさん2008/01/30(水) 01:33:01
boost::lambdaを使ってるとC++のコードに見えなくなってくる。
0033デフォルトの名無しさん2008/01/30(水) 01:42:52
>>24
複雑性を認識出来るうちはまだまだなんだって。
本当に複雑な物は、それが複雑なのかどうかすら 分 か ら な い 。
0034デフォルトの名無しさん2008/01/30(水) 01:51:38
言語仕様にテトリスとマインスイーパーが入るのはいつかな。
0035デフォルトの名無しさん2008/01/30(水) 01:54:12
昔のgccは
#pragma
って書くとcppがダンジョンゲームを立ち上げたんだぜ、豆知識な
0036デフォルトの名無しさん2008/01/30(水) 08:12:49
MS拡張ではなく、次期 Ansi C++ の仕様では
std::vector<int> v = { 1, 2, 3 };
というのが可能になるらしい。。。。
ttp://pc11.2ch.net/test/read.cgi/tech/1191842951/
0037デフォルトの名無しさん2008/01/30(水) 08:39:16
やはり C >>>>>>>>>>>>>>>> C++ みたいです。
ttp://www.aoky.net/articles/steve_yegge/tour_de_babel.htm
0038デフォルトの名無しさん2008/01/30(水) 15:28:18
>>37
OOPを正しく理解していたらC>>>C++になるわけがないのだが。
0039デフォルトの名無しさん2008/01/30(水) 19:20:39
OOP は言語に依存しないからな
0040デフォルトの名無しさん2008/01/31(木) 05:39:07
他人と一緒にC++を使う難しさはよくわかるんだけど、
自分一人で使う場合、本人がまともに勉強してさえいれば、C++の複雑さの殆どは
長所として機能すると思う。
0041デフォルトの名無しさん2008/01/31(木) 09:06:20
コンパイルに時間が掛かるのが好きな人ならそうだろうね
0042デフォルトの名無しさん2008/01/31(木) 10:27:21
C++ は一人で使っていても面白くないよ
0043デフォルトの名無しさん2008/01/31(木) 10:30:19
>>41
そりゃー、お前はヘッダに全部書くからそうなるかもしれないけどさ。
0044デフォルトの名無しさん2008/01/31(木) 14:30:20
>>43
C++の旨味ってヘッダに殆ど書ける所だろ。
テンプレートライブラリが典型。
0045デフォルトの名無しさん2008/01/31(木) 16:56:36
典型というかそれだけだな。
あとの場合でやるのは、コンパイルに時間が掛かるのが好きな人or無能。
0046デフォルトの名無しさん2008/01/31(木) 21:08:27
むしろC++は一人向けだろ。フリーソフトなんてみんなC++なわけで。
企業でチーム開発はJavaとかしょ

てか10年以上C++やってる俺にとっては肥大化どころか機能不足に感じるよ。
使えるoperator記号とかもっと増やしてほしい
0047デフォルトの名無しさん2008/01/31(木) 22:06:01
>>43
もしかしてC++のコンパイルが遅いのに気付いてないのか?
羨ましいな感覚の持ち主だな。
0048デフォルトの名無しさん2008/01/31(木) 22:12:08
なにがどれくらい遅いと言ってるの?
0049デフォルトの名無しさん2008/01/31(木) 22:57:58
コンパイル速度が超遅い
0050デフォルトの名無しさん2008/01/31(木) 23:05:49
>>46
一人じゃ優越感に浸れないじゃん。個人で勝手にアプリ作ってるのに
わざわざC++使ってる俺ってこんなに凄いぜだけじゃ単なる自己満足。
0051デフォルトの名無しさん2008/01/31(木) 23:31:11
>>45
>典型というかそれだけだな。

C++ユーザの心の支えを軽々しくそれだけとか言うな。
むしろそれこそが全てだ。それ以外に利点など無い。
0052デフォルトの名無しさん2008/01/31(木) 23:32:25
>>50
C++で優越感に浸りたいって・・・おまえ向いてないよ・・
0053デフォルトの名無しさん2008/01/31(木) 23:34:32
>>49
いやだから超遅いって・・なにがどうなのよ
0054デフォルトの名無しさん2008/01/31(木) 23:36:21
(なにが):コンパイル速度が
(どうなのよ):超遅い
0055デフォルトの名無しさん2008/01/31(木) 23:39:44
質問が悪い。
0056デフォルトの名無しさん2008/01/31(木) 23:47:20
くだらね
0057デフォルトの名無しさん2008/01/31(木) 23:52:14
これは仕方が無い
0058デフォルトの名無しさん2008/02/01(金) 00:09:09
>>52
他にわざわざC++を持ち出す理由なんて無いだろ。向きは典型的だよ。
0059デフォルトの名無しさん2008/02/01(金) 00:37:33
ANSI C++ を完璧にサポートしてるコンパイラって何?
MSVC++ は
void hoge() throw(std::bad_alloc) {...}
ていう例外指定が未実装だからダメだし。
0060デフォルトの名無しさん2008/02/01(金) 07:08:01
>>47
それは君が「でっかいプロジェクト」を強く想像するあまり、これが個人のプログラミングの話だってのを
失念してるからでは。
個人作業なら、その辺はまともにやればかなりスマートになるよ。
俺が想定したのは、俺なりの「普通の個人のプログラム」・・・具体的には、10万行未満の少ないコード量で、
マシン性能がまぁ普通で、書き手が「無能ではない」ケース。
このケースで5秒以上かかるコンパイルなんて滅多に起こらない。

まぁ、個人の感覚に結構差があるのは確かで、この5秒に対してそこまで皮肉めいた羨ましさを示すのなら、
そこで話は物別れになってしまうんだけれども、俺的にはその5秒は、腕でも伸ばして身体をほぐすのに丁度良いんだ。
0061デフォルトの名無しさん2008/02/01(金) 09:21:48
コードを書くのにオープンソースのライブラリに手を入れて使うのは想定外
なんだろうな。気分が乗ってコーディングしている時にも一々コンパイラを
走らせる度に強制的に休憩を取らされるのを鬱陶しいと思った事は無いのかな。

羨ましいというか珍しい感覚の持ち主だよ。C++のコンパイルが遅いという
過去繰り返し叫ばれている客観的事実を認めたがらない人間は初めて見た。
10万行が5秒で終わるかどうかは週末にでも計測しておく。
0062デフォルトの名無しさん2008/02/01(金) 09:30:42
>コードを書くのにオープンソースのライブラリに手を入れて使うのは想定外なんだろうな。
>10万行が5秒で終わるかどうかは週末にでも計測しておく。

C++とは無関係だろ。常考。

ま、C++のコンパイルは劇遅だが。
0063デフォルトの名無しさん2008/02/01(金) 10:17:06
>>62
kwsk
0064デフォルトの名無しさん2008/02/01(金) 10:23:19
うちの会社は、なぜかライブラリを dll 化したり lib かしたりしません。
プロジェクトには大量のライブラリ用 hとcppが登録されており、リビルドする時は
強制的にコーヒー休憩です。
0065デフォルトの名無しさん2008/02/01(金) 10:42:43
>>63

何を聞きたいのかkwsk。

前文なら、10万行のオプソなら、どの言語でもおせーよ、だし。

後文なら、C++ってクラス毎にヘッダーがあってあらゆるcppファイルで展開されるから、
プログラムが短いのに何万行もコンパイルされてるー、みたいになるし、
文法が複雑だから、コンパイラの構文解析が手間取るんじゃね?
0066デフォルトの名無しさん2008/02/01(金) 22:09:59
まあスクリプト厨が増えた現代ではC++できると優越感になるのかもな。
昔はできてあたりまえだったのになあ
0067デフォルトの名無しさん2008/02/02(土) 01:17:28
>>64
dll, lib, so, sl, a, dylib等にしないものをライブラリとは言わないのでは?
あと、まさかdependency checkもしてないとか言わないよね。
0068デフォルトの名無しさん2008/02/02(土) 01:47:14
dependency check ってなに?
0069デフォルトの名無しさん2008/02/02(土) 01:57:58
ビルド時においては、コンパイル対象ファイルが依存するファイルの更新状態を確認し、不要なコンパイルを省略すること。
0070デフォルトの名無しさん2008/02/02(土) 04:31:06
そういうのはしてないよという話に見えるが…
0071デフォルトの名無しさん2008/02/03(日) 00:42:09
>>61
> 一々コンパイラを走らせる度に
> 10万行が5秒で終わるかどうかは週末にでも計測しておく。
この2つが同時に出てくるということは、明らかに誤読してるか、あるいは君のコーディングは
何かを変更するたびに一々そのプログラムの全行がコンパイルし直される
問題外な構造だってことだな。
0072デフォルトの名無しさん2008/02/03(日) 03:28:21
>>71
他の人が誤読してるのかなと思ったら、その周囲のレスを
もう一度注意深く読み返してみると良いよ。レスは慎重に。
0073デフォルトの名無しさん2008/02/03(日) 04:36:13
10万行は2,3分はかかるねえ。普通はある程度コンパイルする単位を
プロジェクトとして分けるね。
0074デフォルトの名無しさん2008/02/03(日) 12:11:25
分割するかどうかは別の文脈で出て来た話なんだけどね。
一つのレスの中で複数の文脈が出てくると混乱する人がいるみたいだ。

10万行のコンパイル時間の話は、他の言語に比べてC++のコンパイル
時間が劇的に遅いという議論で出て来ている事だから、分割するしない
の議論とは独立した話なんだけどね。他の言語だって分割コンパイル
すればもっと速くコンパイルが終わる訳だから。
0075デフォルトの名無しさん2008/02/03(日) 14:09:29
>>72
いや、「自分一人の裁量で好きに書かれた全10万行程度のプログラム」であれば、
まともに書けていればそう滅多に全体をコンパイルすることなんて起きないから、
C++のコンパイルの遅さをモロに味わうことなんて滅多に無い、と言っているのに、
なんで「何かするたびに一々」という言い方で「10万行のC++コードをコンパイルするのにかかる時間」
について語るんだろう、と思って。

それに、開発環境2つ起動させといて、片方が長めのコンパイルしてる間は他方で作業を続行するとか、
それくらいは普通に工夫するのでは。
0076デフォルトの名無しさん2008/02/03(日) 16:03:20
>>75
なんでかと言えば、そういう話をしている訳じゃないからだよ。
流れが見えてないのに無理矢理レスする神経が分からん。
0077デフォルトの名無しさん2008/02/03(日) 16:09:06
そりゃ他の言語はその分のしわ寄せが、実行時に遅いってことで出てくる
わけだからね。
てか、他のコンパイル言語?って何のこと言ってんの。Delphi?
0078デフォルトの名無しさん2008/02/03(日) 16:15:56
結局まだC++のコンパイルが遅いという事実を直視出来ない奴はいるのか?
0079デフォルトの名無しさん2008/02/03(日) 16:40:00
どうしたの?仕事つらいの?
0080デフォルトの名無しさん2008/02/03(日) 16:42:45
いや、光を見つけられない人が居るのが心配なだけ。
0081デフォルトの名無しさん2008/02/03(日) 17:14:09
コンパイルも実行速度も速いのがあればいいんだけどね
0082デフォルトの名無しさん2008/02/03(日) 17:17:53
>>80
へんな光が見えちゃう病気でつか。早く治るといいね。
0083デフォルトの名無しさん2008/02/03(日) 17:20:50
>>81
C++が特段実行速度が速いという訳ではないからね
0084デフォルトの名無しさん2008/02/03(日) 17:25:29
こんな簡単な事実からすら目を逸らそうと必死になるなんて、毎日大変だろうな…
0085デフォルトの名無しさん2008/02/03(日) 18:04:31
C++以外の言語は遅すぎるのでせいぜいWebアプリにしか使えないことが
この10年でわかった事実
0086デフォルトの名無しさん2008/02/03(日) 19:06:53
おまいは10年間寝てたのか?
0087デフォルトの名無しさん2008/02/03(日) 19:27:23
>>85
残念だがそれなりに事実ではあるな
0088デフォルトの名無しさん2008/02/03(日) 19:33:54
自己レスが流行ってるのか?
0089デフォルトの名無しさん2008/02/03(日) 20:31:41
標準化委員会の中の人にすら理解できない言語というのも珍しい。
0090デフォルトの名無しさん2008/02/03(日) 20:45:26
他言語は個人の趣味で作られてるからな
0091デフォルトの名無しさん2008/02/03(日) 20:59:50
対岸の C++ を見ていると、GLS が如何に偉大かが分かるよな
0092デフォルトの名無しさん2008/02/03(日) 21:09:00
主流に乗り損ねた奴らはいつの時代もみじめなもんだな
0093デフォルトの名無しさん2008/02/03(日) 21:14:25
つまらん事を気にするな
主流じゃなくともBoostとか楽しげじゃん
0094デフォルトの名無しさん2008/02/03(日) 21:41:11
>>91
仕事ない言語選んじゃった奴はかわいそうだよね。対岸で指くわえてないで、
今からC++とかJavaとか勉強しなよ。まだ間に合うって。
0095デフォルトの名無しさん2008/02/03(日) 21:51:51
>>94
GLS も知らない素人に Java を勧められた場合はどうすれば良いでしょうか?
0096デフォルトの名無しさん2008/02/03(日) 22:00:15
>>95
求人広告はC++/Javaばっかだもんね。いやだよね。
最初は難しいかもしれないけどそのうちできるようになるよ。
0097デフォルトの名無しさん2008/02/03(日) 22:02:25
恥の上塗り
0098デフォルトの名無しさん2008/02/03(日) 22:07:08
C++は才能ない奴は何年やっても無理
0099デフォルトの名無しさん2008/02/03(日) 22:13:06
『GLS?何だ、また新しいLLかよ。どうせ俺の理解出来ないチャラチャラした
機能が満載なんだろう。取り敢えず煽っとけ』みたいな感じかな?
0100デフォルトの名無しさん2008/02/03(日) 22:16:47
そこでPHPですよ
0101デフォルトの名無しさん2008/02/03(日) 22:22:14
>>98
最新の便利言語を一切無視してC++を続けるには非凡な才能が必要そうだね
超越した忍耐力がないと続かないよ
■ このスレッドは過去ログ倉庫に格納されています