addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartrashtriangle-downtriangle-uptwitteruseryahoo

Double Feature- "How Javascript is like C++ / Async programming with VC++'s CTP"

Join us at 7:00 on Wednesday, December 11th as David Cravey gives not one but two presentations on C++! Doors open at 6:30 so please arrive a bit ahead of time so we can be ready for both presentations.

1.) How JavaScript is more like C++ than C#

C++ is widely seen as a complex language with 4 sub languages, and 2 concepts of run-time. C++ templates are so powerful that they form a Turing complete language, yet when approached correctly C++ templates are easy to understand. The key is to understand that C++ templates have their own "runtime", which operates on duct typing and closely resembles the dynamic programming of JavaScript. This session will show you just how easy and intuitive C++ templates can be.

2.) Asynchronous programming with VC++ CTP's Resumable Functions

Asynchronous programming has historically been very difficult, as it requires flow control to be turned inside out. But a new proposal to the ISO C++ Standardization Committee may change that soon. The recently released MS VC++ 2013 November CTP has a working implementation that allows the compiler to handle the hard parts of asynchronous programming, while you can focus on the correctness of your code. This exciting technology will make it easier for your application code to avoid blocking the UI thread, and allow your servers to scale better. Together we will take a peek into how this technology works, and how it will change your code for the better!

David Cravey is a Senior Architect for Clear Measure in Austin, TX. David has a love for software design, and a passion for sharing this love with the community. As a C++ enthusiast David has been awarded a Microsoft Visual C++ MVP for 3 years, and this year received the VC++ MVP of the year award. He is the leader of several C++ User Groups including: the Houston C++ User Group, DFW C++ User Group, the San Antonio C++ User Group, and the new C++ Brown Bag (weekly online lunchtime presentation).

Join or login to comment.

  • David C.

    George, Patricia, & Kim
    Thank you for the kind words!

    @Kim The current implementation of __await uses fibers, and as Deon stated in the video there is a technique to address the additional stack space used by the Fibers for a Server Application (this technique was said to be used by another product group, and MS product groups do not like to reveal information from other product groups). I am not sure what the technique is, but it may use some sort of Task composition (like the While task I used in example #2). Note, that Fibers are just one way to implement __await. Another method (the one used for C#) uses less stack space, but may defeat some optimizations.

    December 15, 2013

  • Kim

    Hi, I was still curious about the application of __await, so I watched this:

    beginning at the 3m30s mark, Deon Brewis shows a simple example
    where two independent file i/o operations are initiated, which
    helped my understanding better - it's a no-brainer (for my poor
    old brain at least :) that using await to kick off two i/o ops
    in parallel can result in huge performance & latency benefits.

    Interesting to note that __await doesn't scale well: in the
    22nd minute he describes a scenario where waiting for 100,000 sockets
    would allocate a gig of side stack space. I wonder what the
    "fix" for that is...:)

    Anyway, thanks David Cravey for spilling some of your brain
    contents on us, and, of course to Tim and Rackspace for your
    generous time & use of resources - and the good pizza!

    1 · December 15, 2013

  • A former member
    A former member

    Thank you, David. Both presentations were very interesting.

    December 12, 2013

  • George

    Thanks, David. This was a very interesting pair of topics. Your 2nd talk, on the async developments happening in the c++ standard, as especially enlightening. Your depth of knowledge about the language and its compilers is inspiring.

    1 · December 12, 2013

19 went

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy