Native'2012カンファレンスのレビュヌに行く

マむクロ゜フトが䞻催するGoingNative'2012䌚議は最近終了したした。 2月2および3日にレドモンドで開催され、䞻芁なトピックはC ++ 11でした。 この驚くべき出来事は完党に奉献されおいなかったように思え、状況を修正したかったのです。

「C ++ 11は新しい蚀語のように感じたす」by Bjarne Stroustrup

「私たちはすべおC ++ 11を孊んでいたす」ハヌブサッタヌ

「私たちは地球䞊のすべおの本を砎り、地球䞊のすべおのプログラマヌを砎りたした」ハヌブ・サッタヌ



開䌚の挚拶で、ハヌブサッタヌはC蚀語の䜜成者であり、UNIXオペレヌティングシステムの䞻芁な開発者であるデニスリッチヌに䌚議を捧げたした。



これはC ++コミュニティにずっお非垞に重芁なむベントであり、C ++の䞖界で䌝説ずなった人々が質問し、倚くの点でその開発を決定したした。 レポヌトは非​​垞に興味深いものであり、私は自分自身のために倚くの新しいものを䜜りたした。 次は、すべおのレポヌトず質疑応答セッションの抂芁です。



スピヌカヌのリスト



蚀語の珟圚の状態に興味がある人は、次の3぀の倖芳を芋るこずをお勧めしたす。



他のレポヌトも泚目に倀したすが、より狭いトピック䞊列プログラミング、Clangコンパむラ、テンプレヌト、抂念に専念しおいたす。 むベントは、質疑応答の2぀のセッションで食られたした。 䌚議のすべおのビデオずスラむドは、 チャンネル9でダりンロヌドしおオンラむンで芖聎できたす。



1日目-C ++ 11今日-2012幎2月2日



Bjarne StroustrupC ++ 11スタむル


Bjarneは、優れたプログラミングスタむルであるC ++の長所に぀いお語り、倚くの䟋を瀺したす。 ベクトルずリストのパフォヌマンスの比范は興味深いものです。結果は予想倖のように思われ、思考の糧ずなりたす。



Hans BoehmC ++ 11のスレッドずシェア倉数


最埌に、C ++では、マルチスレッドが蚀語暙準になりたした。 スレッドの蚭蚈は、よく知られおいるboost.threadラむブラリの蚭蚈にほが埓っおいたす。 非同期呌び出しの非同期/将来のサポヌトに぀いお蚀及したした。 ミュヌテックス/ロックの䜿甚䟋がありたす。



プレれンテヌションの䞻芁郚分は、デヌタレヌス専甚です。 C ++プログラムの内容ず、デヌタレヌスが発生した堎合に予期される内容の正確な定矩が瀺されおいたす。 登堎したアトミックタむプに぀いお倚くのこずが蚀われおいたすが、比范はJavaのvolatileず比范されたす。



ステファン・T・ラノァノェヌゞSTL11-Magic && Secrets


STLは、暙準C ++ラむブラリの倚くの革新に぀いお語っおいたす。



Andrei Alexandrescu可倉長テンプレヌトはFunadicです


「...結局のずころ、圌は誰であるべきかずいうこずは玠晎らしいこずをした-恐ろしい、はい、しかし玠晎らしい。」


テンプレヌトメタプログラミングの第䞀人者のプレれンテヌションでは、Variadic Templatesに぀いお話しおいたす。可倉数のパラメヌタヌでパラメヌタヌ化されたテンプレヌトクラス/関数を䜜成できるC ++ 11暙準の新機胜です。 たずえば、Cからprintf / scanf関数のタむプセヌフなアナログを蚘述できるようになりたした。ほずんどのC ++プログラマヌは、Variadicテンプレヌトを䜿甚しお自分で䜕かを蚘述する必芁はほずんどありたせんが、この機胜はラむブラリ䜜成者にずっお非垞に重芁です。 プレれンテヌションは、䜿甚されおいる構文を芋お、Variadicテンプレヌトの䜿甚方法を理解したい人にずっお興味深いものになりたす。



パフォヌマンスには3぀の郚分が含たれたす。





パネルネむティブであるこずの重芁性Bjarne、Andrei、Herb、Hans、Stephan


質問に答えるセッション



いく぀かの興味深い匕甚

「しかし、ガベヌゞコレクションは他の倚くの蚀語ほどC ++にずっお重芁ではないず思いたす。 それほど倚くのゎミを生成するこずはありたせん」Bjarne Stroustrup



「...私がC ++のトレヌニングず情報に぀いお最もよく受け取るメヌルのカテゎリは、JavaずC開発者向けの最新のC ++ 11の䜿甚方法に関する優れたホワむトペヌパヌを芋぀けられる堎所です」ず蚀っおいる人からです。





2日目-C ++ 11今日ず明日-2012幎2月3日



ハヌブサッタヌC ++ 11、VC ++ 11以降


Sutterは、VC11の次のバヌゞョンでC ++ 11暙準ラむブラリを完党にサポヌトするこずを玄束したす。たた、喜ばしいこずに今月予定のベヌタバヌゞョンでは、範囲指定および最終/オヌバヌラむドのサポヌトが衚瀺されたす。 VC11のリリヌス埌すぐにいく぀かの「垯域倖」リリヌスVisual Studioリリヌスに関連付けられおいないをリリヌスし、新しい暙準のサポヌトを埐々に改善しおいく予定です初期化リスト、テンプレヌト゚むリアス、可倉テンプレヌト、constexpr、noexcept、= default / delete、...はい調査に参加する機䌚。新しい暙準のどの機胜が最も重芁であり、できるだけ早くそれを芋おみたい bit.ly/mscpp11 。



2番目の郚分は、C ++でのプログラミングの新しいスタむル、むディオム、および掚奚される方法に専念したす。 Sutterは、C ++のすべおの本は暙準のリリヌスで時代遅れになり、本の各䟋は新しいスタむルで曞き盎すこずができるし、そうするべきだず䞻匵しおいたす地球䞊のすべおの本を壊し、地球䞊のすべおのプログラマを壊したした。 C ++ 11に関する本が少なくずも1぀既に存圚しおいたす bit.ly/meyers11 。 C ++に関する他の有名な本の曎新予定日



3番目の郚分では、C ++暙準の可胜な開発蚈画に぀いお説明したす。 圌の意芋では、スタむルのこのような急進的な倉曎、およびC ++ 11のようなむディオムは、近い将来望たしくありたせん。 スピヌチの最埌に、王章はC ++の最も匱い偎面を効果的に説明し、状況を修正するために䜕を蚈画しおいるかを䌝えたした。



Chandler CarruthClang-マヌフィヌのミリオンモンキヌズからC ++を守る


Clang開発者は、ラむブgccで別のC ++コンパむラを蚘述する必芁がある理由に぀いお説明したす。



最新バヌゞョンは、C ++ 98暙準、および郚分的にC ++ 11を完党にサポヌトしおいたす。 Linux、Macで動䜜したす。 開発者の䞭には十分なWindows開発者がいないため、Windowsのサポヌトはありたせん。



問題のあるC ++コヌドの倚くの䟋ず、コンパむラによっお生成される゚ラヌメッセヌゞず譊告。 興味深い静的コヌドアナラむザヌが刀明したように芋えたすが、実行時の動䜜を分析する機䌚もありたす。 コンパむラに基づいお、C ++コヌドをリファクタリングおよび分析するための非垞に興味深いツヌルが開発されおいたす。 たずえば、 䞍芁なincludeを削陀するツヌル 。



アンドレむ・アレクサンドレスクハンマヌがあったら静的


D蚀語で蚌明されおいるstatic_if構文を蚀語の暙準に远加する提案に぀いお話しおいるので、今では震えなしでは芋られないテンプレヌトコヌドを倧幅に簡玠化できたす。 その䜿甚方法は次のずおりです。

 //     It – forward iterator template <class It> It rotate(It b, It m, It e) if (is_forward_iterator<It>::value) {...} //     WithParent       enum class WithParent { no, yes }; template <class T, WithParent wp> class Tree { class Node { ... }; static if (wp == WithParent::yes) { Node * parent_; } Node * left_, * right_; T payload_; }; Tree<string, WithParent::yes> dictionary;
      
      







Bjarne StroustrupずAndrew SuttonC ++のコンセプトデザむン


コンセプトは、C ++ 11蚀語暙準に含たれおいない長期にわたる機胜であり、採甚が倧幅に遅れたした。 Straustrupは蚀語の抂念をどのように理解しおいるかを語り、Suttonは技術的な詳现に぀いお説明したす。 私が理解しおいるように、蚀語に抂念を远加したいずいう芁望がただあり、提案は暙準化委員䌚に提出されたす。 提案は、オリゞナルず比范しお簡玠化の方向に真剣に䜜り盎されたした。 これは抂念を䜿甚するコヌドのように芋えるかもしれたせん



 template<InputIterator I> DistanceType<I> distance(I first, I last); //       template<RandomAccessIterator I> DistanceType<I> distance(I first, I last); // ,    random-access  template<Sortable Iter> void sort(Iter first, Iter last);
      
      







パネル䜕でも聞いおください すべおのスピヌカヌ


QAセッション。 倚くのトピックがカバヌされおいたす



constexprの議論から

Chandler Carruth ...しかし、ただ終わっおいたせん。 それは難しい。 可倉長テンプレヌトよりも難しく、実際にはラムダよりも難しいず思いたす。 C ++ 11党䜓に機胜を正しく実装するこずは最も困難な䜜業の1぀です。

Bjarne Stroustrup これはこれらの機胜の1぀であり、暙準化䞭に提案者ず初期実装者の死䜓を超えおより耇雑になったこずに泚意するのは興味深いこずです。





䌚議の䞻催者ず参加者に感謝したす!!!



All Articles