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

C++0x 6

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/06/16(火) 03:57:31
The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/

Wikipedia
http://ja.wikipedia.org/wiki/C%2B%2B0x

C++0x
http://pc11.2ch.net/test/read.cgi/tech/1149440647/
C++0x 2
http://pc11.2ch.net/test/read.cgi/tech/1191842951/
C++0x 3
http://pc11.2ch.net/test/read.cgi/tech/1204808027/
C++0x 4
http://pc11.2ch.net/test/read.cgi/tech/1214407525/
C++0x 5
http://pc12.2ch.net/test/read.cgi/tech/1232460649/
0232デフォルトの名無しさん2009/07/20(月) 07:55:04
もうやめて!あれは不幸な事故だったのよ!わたしたちがいがみ合ったってコンセプトさんは帰ってこないわ!
0233デフォルトの名無しさん2009/07/20(月) 07:56:33
>>231
それ本当?clangの実装させてるとか?
だとしたらApple許しがたいな
0234デフォルトの名無しさん2009/07/20(月) 09:38:21
Concept-GCC やってたのはこの人
http://www.osl.iu.edu/~dgregor/
だけど、
http://www.osl.iu.edu/people.php
みると alumni になってるんだよね。
http://www.linkedin.com/pub/doug-gregor/4/556/731
をみると、Apple の C++ グループで何かやってる。
去年の10月から働いてるようで、そのあたりで突然ブログ
http://conceptgcc.wordpress.com/
も止まってます。

clang は去年の段階では C++ が全然だったから、
きっと clang の C++ サポートを頑張ってるんでは。
http://clang.llvm.org/cxx_status.html
0235デフォルトの名無しさん2009/07/20(月) 09:40:55
Objective-Cの競合相手だからな
潰しに来たとしても不思議じゃない
0236デフォルトの名無しさん2009/07/20(月) 10:09:11
う〜ん、WebKit とかは Objective-C と C++ の両方に依存しているので
競合相手というのはちょっと違うのでは...
concept-clang とか出てくれればいいですが。
0237デフォルトの名無しさん2009/07/20(月) 13:33:18
まあObjective C++があるわけだし、さすがにC++を葬り去りたいわけでは
ないだろうけれど。MSに行かれるより遥かにマシだとも言えるし。
0238デフォルトの名無しさん2009/07/20(月) 13:58:45
>>219
0239デフォルトの名無しさん2009/07/20(月) 14:31:39
もうやめてー、>>219のライフは0よ。
0240デフォルトの名無しさん2009/07/20(月) 16:28:12
Conceptは未だコンセプトの域を出ていないって事だろ。
0241デフォルトの名無しさん2009/07/20(月) 16:29:52
アホは黙ってろ
0242デフォルトの名無しさん2009/07/20(月) 17:30:03
なんでConceptは外されることになったの?
0243デフォルトの名無しさん2009/07/20(月) 19:27:12
>The Committee voted to remove concepts from the version of the standard
>now being worked on because we estimated it would take at least 2 more
>years, and possibly 5, to complete the work and publish.
>
>With many other desirable features ready to go, and with the current
>standard already more than 10 years old, that seemed too long a delay.
>
>The choice was difficult, and nobody was happy about having to drop
>concepts, but the alternatives -- 5 years delay or standardizing an
>unusable version of concepts -- were far worse.

だって。
0244デフォルトの名無しさん2009/07/20(月) 19:35:18
別にConcept自体はどーでもいいけどさ
ここまで来てやっぱやーめた→何このgdgd
0245デフォルトの名無しさん2009/07/20(月) 22:50:53
WinFSよりもひどい
0246デフォルトの名無しさん2009/07/20(月) 23:00:49
もうC#でいいよ。
0247デフォルトの名無しさん2009/07/20(月) 23:15:33
コンセプトさんは悪くないんや
メタプログラミングの道具にしようとした周りの大人が悪いんや
0248デフォルトの名無しさん2009/07/20(月) 23:34:35
こんな高い山を目前にして下山する勇気を持つのはすごいことでしょ。
正しい決断だったと思うよ。
0249デフォルトの名無しさん2009/07/21(火) 00:15:53
トムラウシ山の教訓が生かされましたね
0250デフォルトの名無しさん2009/07/21(火) 00:46:44
登る前に気付くのが真の賢者
0251デフォルトの名無しさん2009/07/21(火) 00:55:32
と言いながら何処にも登らないニート
0252デフォルトの名無しさん2009/07/21(火) 01:27:40
>>243
この理由が通るなら、次回もその次も「誰も喜ばない難しい選択」で外されそうだ。
俺が現役のうちには手にできないかも知れない気がしてくる。
0253デフォルトの名無しさん2009/07/21(火) 03:37:50
禿の書いた"Simplifying the use of Concepts"がトドメを刺したっぽいな。

http://www-949.ibm.com/software/rational/cafe/blogs/cpp-standard/2009/07/20/the-view-or-trip-report-from-the-july-2009-c-standard-meeting
0254デフォルトの名無しさん2009/07/21(火) 07:20:49
>>251
実装なしで規格の上だけで大半の議論をやってるC++0xの事ですねわかります
0255デフォルトの名無しさん2009/07/21(火) 11:03:07
実装あるよ。未完成なだけで。
0256デフォルトの名無しさん2009/07/21(火) 12:19:54
>>255
Concept-gcc のこと?あれは開発が止まってるわけだが。
clang はエラー報告機能が強化されているらしいが、
いずれconcept 無しで concept 有りのとき並みの
エラーメッセージがでるようになるかな?それは無理かな?
まあまずは C++ をコンパイル出来るようになってもらわないといけないが...
0257デフォルトの名無しさん2009/07/21(火) 12:25:03
>>243
つまり、5年先の将来のバージョンには
含めたいってことなのかな。
0258デフォルトの名無しさん2009/07/21(火) 12:28:06
>>256
おちつけ
0259デフォルトの名無しさん2009/07/21(火) 13:34:50
>>257
Committeeに近い人の話は大体そういう感じだね。
0260デフォルトの名無しさん2009/07/21(火) 20:48:17
>>257そのペースなら、boost::conceptを安心して使えるってことかな?
boost::conceptは既存のSTLと一緒に使えるし。
0261デフォルトの名無しさん2009/07/21(火) 20:55:42
>>243を拙い英語力で訳してみた。

>委員会は、コンセプトを現在作業中バージョンの標準から取り除く事を表明した。
>(コンセプトの)完成と公開には最低2年、可能なら5年は必要だと見積もられたからである。
>
>他の沢山の魅力的な機能は既に固まった。また現在の標準は(策定されてから)10年以上経った。
>これは長すぎる遅れであろう。
>
>これは辛い決断だった。コンセプトの撤回など誰も喜ばない。しかしこれは一対一の選択である
>−−5年の(コンセプトの)遅れか、誰も使わないコンセプトかの−−それははるかに悪い(?)。
0262デフォルトの名無しさん2009/07/21(火) 21:36:58
最後の段落だけ。

困難な選択だったし、誰も Concepts を削りたくはなかったが、代替案(5 年の遅れか、使いものにならない Concepts の標準化)より遥かにマシだった。
0263デフォルトの名無しさん2009/07/21(火) 21:52:54
簡単な部分だけというわけにはいかないのかな
定義本体のないコンセプトだけとか
0264デフォルトの名無しさん2009/07/21(火) 21:59:56
>>262
unusableは「使えない」「使いにくい」でいいんじゃないかな。
STLがconcept化されてないことを言っているんだと思う。だから、
>>263
それが、
> standardizing an unusable version of concepts
で、
> were far worse.
だと。
0265デフォルトの名無しさん2009/07/22(水) 01:02:37
Conceptsのプロポーザルを書いた一人であるJeremy Siekのコメント

http://lambda-the-ultimate.org/node/3518#comment-50071

これとは直接関係ないが、標準ライブラリでconceptを使うのをやめた時点で
終わってたのかもな
0266デフォルトの名無しさん2009/07/22(水) 01:19:08
concept-based overloading なんかを念頭に置くと
どうしても explicit concept のほうに好みが偏ってしまうかもね

みんな implicit か explicit どっちのほうが好みなんだろうか
0267デフォルトの名無しさん2009/07/22(水) 06:27:08
両方ないと使いづらい。
0268デフォルトの名無しさん2009/07/23(木) 00:03:38
禿自らの記事きたわ
ttp://www.ddj.com/cpp/218600111
0269デフォルトの名無しさん2009/07/23(木) 01:15:43
現状のテンプレートが実装されるまでにもかなりかかったし、そんなペースでいいんだけど。
遅れた分だけ仕様が洗練されるならいいけど、実装が遅れるだけなら前と一緒だし入れて欲しかった。
0270デフォルトの名無しさん2009/07/23(木) 21:13:41
次に消される機能は何かなーワクワク
0271デフォルトの名無しさん2009/07/23(木) 22:17:01
exceptionを消せよ

邪魔過ぎ
0272デフォルトの名無しさん2009/07/23(木) 22:27:05
まあ例外クラスは新しく作り直してもいいと思う、今のを全部非推奨にして。
0273デフォルトの名無しさん2009/07/23(木) 23:02:02
バベルの塔は崩れゆく
0274デフォルトの名無しさん2009/07/23(木) 23:24:13
Perl6の末路と良く似てるな
0275デフォルトの名無しさん2009/07/23(木) 23:25:54
C++1xのxがいくつになることやら
0276デフォルトの名無しさん2009/07/24(金) 01:34:39
五年後を考えているようだが。
> Bjarne Stroustrup
> Maybe a significantly improved version of "concepts" will be available in five years.
0277デフォルトの名無しさん2009/07/24(金) 01:41:08
もうC#でいいよ。
0278デフォルトの名無しさん2009/07/24(金) 01:52:56
敢えてのDで
02792192009/07/24(金) 02:17:06
何処から叩き出されて流れ着いたのかツマラン奴がスレに居付いてるな
0280デフォルトの名無しさん2009/07/24(金) 02:28:20
9割つまらん奴だろう2chなんて。
0281デフォルトの名無しさん2009/07/24(金) 13:39:16
全人類の9割はつまらん奴だから気にするこたあない
02827602009/07/24(金) 15:05:13
>>277
constとtypedefの無いC#は地獄
0283デフォルトの名無しさん2009/07/24(金) 18:07:03
constを真面目に使ってる奴はほとんどいないし
typedefも型を不完全に隠蔽するだけの邪悪な機能としてよくやり玉に挙がる

なんだこいつらもコンセプトと一緒だな
0284デフォルトの名無しさん2009/07/24(金) 18:15:24
typedefなかったらSTLどうすんだよ。
0285デフォルトの名無しさん2009/07/24(金) 18:37:34
typedefの糞なところは
typedef char hoge;
してhogeの型エラーがでても
エラーメッセージにはcharしか表示されないってとこだっけ
0286デフォルトの名無しさん2009/07/24(金) 19:31:59
いりまくるよぉ、const
constないとconst付けないメソッドとかconst付けない引数とかどう書けばいいんだよ
0287デフォルトの名無しさん2009/07/24(金) 19:33:45
const/immutateも弱いtypedef/強いtypedefもあるDでよくね?
0288デフォルトの名無しさん2009/07/24(金) 19:55:47
DはGC外してから出直してこい
0289デフォルトの名無しさん2009/07/24(金) 20:20:45
>>285
VC++2005つかってるけど、警告最大にして
char c = hoge
とかやったら警告で両方の型が表示された気が。
これって別に規格で定められてるわけじゃないのか。
0290デフォルトの名無しさん2009/07/24(金) 20:29:10
もしDから完全にGCを取り去って使うことができたらC++から移住してしまう人いるのか?
ずっと安定し(て)ないからいないだろ
0291デフォルトの名無しさん2009/07/24(金) 20:37:20
もしGCがなくて安定したDがあれば是非移住したいね

どっちの条件も叶いそうにないが
0292デフォルトの名無しさん2009/07/24(金) 20:56:47
>>282
usingがある程度まではC++のtypedefみたいに使えるぞ。
using HWND = System.IntPtr;のように書ける。
0293デフォルトの名無しさん2009/07/24(金) 21:53:45
>290
俺的にはDよりもLinqのないネイティブなC#の方がいいな
GCは別にフレームワークで実現するからいらない。動作が確定的なCと互換性のある
言語が欲しい
0294デフォルトの名無しさん2009/07/24(金) 22:03:01
Linqはいるだろ。
いや、クエリ式は無くてもいいが、Enumerableクラスは必須。
これがないC#なんて、<algorithm>なしのC++と一緒。
ないと使う気になれない。
0295デフォルトの名無しさん2009/07/24(金) 22:09:15
>294
ああ、そっちは確かに。ただ、クエリ構文はいらん
Dはそんな言語を目指していると思っていたんだがなぁ
0296デフォルトの名無しさん2009/07/25(土) 01:26:33
俺は純粋C++派だけど、query構文は面白いと思う。
0297デフォルトの名無しさん2009/07/25(土) 02:57:10
つまりExpression Templateを駆使したboost/linqとかあればいいわけですねわかりますわかりたくもありません
0298デフォルトの名無しさん2009/07/25(土) 04:02:18
CLinqのことですね。わかります
0299デフォルトの名無しさん2009/07/25(土) 06:26:10
>>298
わざわざ構文にする必要性ってあるのか?
使いやすいSQL操作ライブラリは結構あるけど
そういうのじゃ足りない?
0300デフォルトの名無しさん2009/07/25(土) 09:02:45
Linqは各種のデータに統一構文でアクセスできるのが強みであって、
必ずしもクエリ式を言語に埋め込む必要はないと思うな。
0301デフォルトの名無しさん2009/07/25(土) 10:12:33
>>299
リアルSQLだけしか扱わないならLinqは必要ない。
言語に近いレベルでの統一的枠組みであることが重要。
関数型言語の内包記法のように。
0302デフォルトの名無しさん2009/07/25(土) 10:34:10
一方D言語は、

auto result = linq!q{
from n in numbers
where n % 2 == 0
select n
};
0303デフォルトの名無しさん2009/07/25(土) 10:48:48
linqとか本来の言語仕様と異なる表記方法を含めるのってどうなのかなあ?
0304デフォルトの名無しさん2009/07/25(土) 11:15:09
テンプレートとプリプロセッサの黒魔術で無理矢理DSLを作ってどうにかする方がマシってか?
0305デフォルトの名無しさん2009/07/25(土) 16:26:01
>>304
たとえばテンプレトメタ黒魔術で生まれたboost::spiritも一応C++の文法の範疇だから、既存コードとの整合性も楽だと思う。
0306デフォルトの名無しさん2009/07/25(土) 16:43:24
自分を相当ラディカルだと思ってる俺でもspiritが黒魔術の許容限界ラインだな
0307デフォルトの名無しさん2009/07/25(土) 17:42:23
spirit v1の方は割と素直なTMPの実例に思えてきた
v2は無理
0308デフォルトの名無しさん2009/07/25(土) 17:50:11
俺はsprintfでいいよ。
0309デフォルトの名無しさん2009/07/25(土) 17:51:23
つまりboost::lambdaがあればラムダ構文なんて不要ということですね。わかりますよ。わかりますよ。
0310デフォルトの名無しさん2009/07/25(土) 19:09:41
ラムダさんが教室の隅で怯えています
0311デフォルトの名無しさん2009/07/25(土) 22:36:55
これをboostにだな
ttp://www.codeproject.com/KB/mcpp/clinq.aspx
0312デフォルトの名無しさん2009/07/26(日) 00:28:31
_1とかキモすぎて使う気がおきない
0313デフォルトの名無しさん2009/07/26(日) 00:50:57
ムリムリのテンプレートが必死すぎてキモイから

次の改定では構文を拡張できるようにした方がいいな
0314デフォルトの名無しさん2009/07/26(日) 00:59:57
そろそろCとの互換性をあきらめた
cppppが欲しい
0315デフォルトの名無しさん2009/07/26(日) 01:07:23
>>314
D……いやなんでもない
0316デフォルトの名無しさん2009/07/26(日) 01:16:46
C#だろ、それ
0317デフォルトの名無しさん2009/07/26(日) 01:44:44
DもC#もcppppとは言いがたいな
0318デフォルトの名無しさん2009/07/26(日) 02:40:47
cppppである条件ってなによ
0319デフォルトの名無しさん2009/07/26(日) 03:48:17
プリプロセッサなんだからC++自体と独立なんじゃね。
0320デフォルトの名無しさん2009/07/26(日) 10:29:40
>>318
プログラマがその気になれば、
Cで書かれたコード断片と同じ実行効率にできること。
0321デフォルトの名無しさん2009/07/26(日) 14:21:05
>>320
その気にならなくても、速い言語もあるぞ。
0322デフォルトの名無しさん2009/07/26(日) 17:40:46
>>321例えば?
0323デフォルトの名無しさん2009/07/26(日) 18:59:50
C++
0324デフォルトの名無しさん2009/07/26(日) 19:13:54
あとアセンブリくらいしかなくね?w
0325デフォルトの名無しさん2009/07/26(日) 20:09:21
forth
0326デフォルトの名無しさん2009/07/26(日) 22:10:49
C++と同程度の抽象度を持っていなければ比較する意味ないだろ
0327デフォルトの名無しさん2009/07/26(日) 22:25:53
>>320
lisp
0328デフォルトの名無しさん2009/07/26(日) 22:41:57
forth
0329デフォルトの名無しさん2009/07/27(月) 08:01:26
>>320
まさにDだろw
0330デフォルトの名無しさん2009/07/27(月) 09:51:09
COBOLもフォートランもCと同等に速いよ。
COBOLやフォートランでは、OS書けないけど。
0331デフォルトの名無しさん2009/07/27(月) 18:08:04
>>329
ガーベージコレクションがあるので不完全。
■ このスレッドは過去ログ倉庫に格納されています