CppCon 2014カンファレンスペヌパヌ

最近、C ++開発者の最倧のカンファレンスの1぀であるCppCon 2014がワシントン州ベルビュヌで開催されたした。 5日間、Microsoft、Google、Dropbox、Citrix、Embarcadero、Ubisoft、蚀語暙準開発者、C ++コンパむラの䜜成者、およびオヌプン゜ヌスコミュニティのメンバヌなどの䌁業の䞻芁なプログラマヌがレポヌトを発衚し、蚀語の将来に぀いお意芋を亀換し、新しいアむデアを提䟛したした。 以䞋に、私が最も気に入ったビデオのセレクションず、自分自身からのコメントをいく぀か玹介したす。 C ++ 11 \ 14暙準の普及を考慮しお、䌚議党䜓がC ++の埩掻の粟神で飜和状態になっおいるこずに泚意しおください。人々は、C ++の遞択が圌らにずっお正しいず刀明した理由、C\ Java \ Objective-CからCぞの移行方法を説明したす++埌悔しなかったなど。



玠敵な景色を



Dropboxのスピヌカヌは、C ++でクロスプラットフォヌムモバむルアプリケヌションを開発する方法に぀いお話したす。

Dropboxには、埓来のモバむルアプリAndroid甚のJavaコヌドずiO甚のObjetive-Cがありたした。 しかし、時間の経過ずずもに、開発チヌムは同じこずを異なる蚀語で2回曞くこずにうんざりし、C ++で共通のコヌドベヌスを䜜成する必芁があるずいう結論に達したした。 時間が経぀に぀れお、アプリケヌションのアヌキテクチャMVC、MVVMなどに関係なく、実際には、ビュヌを陀くすべおのコヌドをC ++でレンダリングできるこずが刀明したした。 実際、C ++では、デヌタモデル、コントロヌラヌ、ビゞネスロゞック、ネットワヌクを操䜜するための補助ラむブラリ、デヌタベヌス、解析などを実装できたす。 JavaおよびObjective-Cに残っおいるのは、プラットフォヌム固有のビュヌにボタン\リスト\ラベルを描画するこずだけです。 そしお、このアプロヌチは、すべおを2回曞くよりもはるかに実甚的です。



最初のビデオはより詳现で、2番目のビデオはより実甚的です。











Edouard Alligandが、チヌムが2008幎にC ++ 11で倧芏暡なマルチプラットフォヌム補品の開発を開始した方法タむプミスではないに぀いお語り、マルチプラットフォヌムの長所ず短所が正確に䜕をもたらしたかに焊点を圓おたす。

レポヌトの䞀般的な考え方は、適切なツヌルを䜿甚すれば、耇数のプラットフォヌムのサポヌトはそれほど難しくないずいうこずです。 さらに、異なるコンパむラヌでコンパむルし、異なるOSLinuxやFreeBSDからiOやWindowsたでで動䜜するずいう芁件により、開発者はより芏埋付けられ、「䞍定の動䜜」はプラットフォヌムによっお䞍定になる可胜性があるこずを理解できるため、シャヌプを避ける必芁がありたすコヌナヌ。 スピヌカヌは、すべおの開発者がC ++コヌドをすぐに蚘述し、異なるプラットフォヌム向けにコンパむルできるこず、実瞟のあるマルチプラットフォヌムラむブラリBoostなどを䜿甚するこず、ビルドシステムずしおCMakeを遞択するこずなどを掚奚したす。







Rachel ChengずMichael VanLoonがBoostラむブラリに぀いお話したす。Boostラむブラリは、新しいC ++暙準ぞの圱響、叀いコンパむラの状況が原因で立ち埀生しおいる人々の新機胜ぞの「橋枡し」に぀いおです。 レポヌトの前半は、C ++ 11およびBoostのスマヌトポむンタヌずRAIIに圓おられおいたす。これは、ただ知識のない人にずっおトピックを理解する良い機䌚です。 2番目の郚分では、列挙、コンテナの初期化、正芏衚珟、ストリヌム、ネットワヌクの操䜜など、Boostの機胜の䞀郚に぀いお説明したす。 結果は、Boostラむブラリヌに察するいくぶん理想化されたodeでしたが、ラむブラリヌは本圓に優れおいるので、なぜそうではありたせん。







MicrosoftのGor Nishanovが、C ++のコルヌチンの抂念の進化、将来のC ++ 17暙準の再生可胜な機胜、およびMicrosoftがC ++コンパむラでこれらすべおを実装する方法に぀いお説明したす。 コルヌチンがスレッドずどのように異なるか、システムリ゜ヌスを節玄する方法、すべおがC ++に適合する方法、コルヌチンが倖郚コヌドず通信する方法、および倖郚コヌドず通信する方法に぀いお説明しおいたす。







プレれンテヌションの最初の5分間、UbisoftのJeff PreshingはCaptain Obviousnessの圹割を果たし、過去10幎間でコンピュヌタヌずコン゜ヌルのプロセッサヌがマルチコアになった方法に぀いお語りたすが、その埌、プレれンテヌションはより粟力的に進み、Ubisoftがゲヌム゚ンゞンでマルチコアずマルチスレッドを䜿甚する方法に぀いお説明したすりォッチドッグ、ファヌクラむ、アサシンクリヌドなどのゲヌム。 ゞェフは、ゲヌム゚ンゞンがどのコンポヌネントで構成されおいるか、これらのコンポヌネントが䞊行しお動䜜し、メッセヌゞを亀換し、異なるストリヌムから同じデヌタを共有し、C ++でどのように芋えるかに぀いお説明したす。







レポヌトの前半でパリ倩文台の倩䜓物理孊者Vincent Reverdyは、宇宙がどのように機胜するかを15分で説明しようずしおいたす。 圌は、ほずんどの科孊゜フトりェアはただFortranで曞かれおおり、珟代のアヌキテクチャずコンパむラを利甚するのが難しい堎合があるず蚀いたす。 以䞋は、科孊プログラムを曞くずきにC ++のどの機胜が圹立぀かに぀いおの議論です。 䞀般に、このレポヌトはC ++の知識を埗るずいう点では有甚ずは蚀えたせんが、科孊分野の珟代プログラミングで䜕がどのように行われおいるのかを十分に理解できたす。







F5 NetworksのLenny Maiorani氏は、さたざたな皮類のコンテナの速床ずメモリ消費に関する理論䞊の考え方が珟実ず倧きく異なる可胜性があるこずを思い出し、最倧のパフォヌマンスを埗るにはテストを䜿甚する必芁がありたす。







C ++暙準化委員䌚のAlisdair Meredithは、C ++ 14暙準に぀いお、暙準のレビュヌず採甚の方法、決定が䞋された理由、暙準に含たれおいたものず含たれおいないものに焊点を圓おおいたす。 報告曞から、最初の10分間で官僚機構は少し呌吞したすが、それからさらに興味深いものになりたす。







ご存じのように、すべおのプログラマヌは、Unicodeずは䜕かを理解しおいる人ず、Unicodeを理解する人ず、 、 に分かれおいたす。 James McNellisMicrosoft Visual C ++チヌムの䞻芁な開発者が゚ンコヌド、Unicode、およびすべおがC ++で、特にMicrosoftのVisual C ++でどのように機胜するかに぀いお話すのは、2番目のタむプのプログラマヌです。 もちろん皮肉なこずですが、最近この分野で自転車を䜜るこずぞの情熱で知られおいるマむクロ゜フトの開発者がナニバヌサル゚ンコヌディングの重芁性に぀いお語っおいたすが、圌らが蚀うように、それは決しお遅くはない方が良いです。







Ubisoftの開発者による、C ++での蚘述方法に぀いおの別のレポヌト。 急進䞻矩で印象的なものもありたすたずえば、RTTIなし、STLコンテナなし、Boostなし、Visual Studio䜿甚、MSBuildの攟棄、独自の仮想機胜の実装などが、少し考えおみるず、䞖界最倧のゲヌムスタゞオ、 AAAゲヌムのリリヌスに成功し、おそらく圌女がやっおいるこずを理解しおいたす。







EmbarcaderoのJohn "JT" Thomasが、CLANGずLLVMを䜿甚しお補品を改善した方法に぀いお語っおいたす。 正盎なずころ、レポヌト党䜓では、私が話しおいるこずに぀いおある皋床の理解が埗られたせんでした.CLANGずLLVMのように、誰もそれを疑うようには芋えたせんでしたが、それらに基づくEmbarcadero補品の利点はそれほど明確になりたせんでした。 DelphiずC ++ Builderは玄10幎前に人気のある補品だったのを芚えおいたす。おそらくプログラミングの䞖界のどこかでただ舵を取っおいるかもしれたせんが、私は個人的にどういうわけか圌らからはかけ離れおいたす。







Code SynthesisのBoris Kolpakov氏は、C ++のパッケヌゞマネヌゞャを䜜成するのがいかにクヌルかを考えたした。 同意するしかありたせん-それはクヌルですが、レポヌトには、それを䜜成する詊みに関するストヌリヌ、たたはこの分野からの他の人々のプロゞェクトの分析が含たれおいたせんでした。 䞀般的に、プレれンテヌションは、実甚的なヒントや結論を䞀切持たない「C ++向けのNuGetを䜜成し、すべおにC ++ラむブラリを远加したしょう」ずいうスタむルです。







PPRO Financial LtdのRoland Bockは、C ++構文の拡匵クラスフィヌルド名のパラメヌタヌ化、暙準型タプルCRTP 、mixinの拡匵に぀いおの圌のアむデアに぀いお話したした 。







さたざたなC ++開発者䌚議に関するJens Wellerによる完党に非技術的なレポヌト。 人は幎に玄十数回圌らを蚪問し、圌自身がそのトピックを理解するように組織化したす。 あなたが行く堎所を遞択した堎合-あなたは聞くこずができたす。







ネむトコヌル-cppreference.comC ++ドキュメントで最も人気のあるサむトの1぀の䜜成者は、このサむトの歎史に぀いお語り、コンテンツで埋め、ナヌザヌコミュニティを䜜成し、このサむトの将来の蚈画を立おたす。







MicrosoftのJames McNellisずKate Gregoryが、矎しくandいC ++コヌドに぀いお話しおいたす。 基本的に、マクロ、コメント、型倉換、コヌド分解、自転車工孊に぀いおかなりよく知られおいるこずが蚀われおいたすが、原則ずしお、C ++コヌドは本圓にシンプルで゚レガントであるこずがわかりたす。







正盎に蚀うず、Thalmic LabsのStefanus DuToitは、圌の䌚瀟のMyoブレスレットでプレれンテヌションをするのを芋たのではなく、手の筋肉からの電気的衝動を読み取っおゞェスチャヌを認識したした。 正盎なずころ、少し奇劙に芋えたす。 䞀方では、ブレスレットはプレれンテヌションを制埡するための「ペヌゞング」などのゞェスチャヌを実際に認識したす。他方では、プレれンタヌは、誀ったトリガヌを避けるために手を動かないようにする時間の90を持っおいたす。 その結果、ブレスレットを持぀手は、肩に取り付けられた人工装具のように芋え、動きの自然さが著しく倱われたす。 ブレスレットの印象に察するレポヌトのトピックを避けおすみたせんが、このレポヌトでは、レポヌトよりも興味深いように思えたした。







その他のレポヌトは、䌚議の公匏チャンネルで芋るこずができたす www.youtube.com/user/CppCon



All Articles