CppCon’15 and Silicon Valley Code Camp Displays

[ad_1]

In final couple of months I did a few shows about my current tasks in C++. Session movies, slides, and code for all of the shows at the moment are obtainable on-line. Each tasks have practical programming at their coronary heart. I’ve discovered exploring practical programming in fashionable C++ fairly a enjoyable journey. With out additional ado, this is the content material

CppCon’15: Reactive Stream Processing in Industrial IoT utilizing DDS and RxCpp




Subject: 50 billion units shall be related to the Web by 2020. A lot of them will belong to nationwide vital infrastructure (sensible energy grids, sensible roads, sensible hospitals, sensible cities) – forming the Industrial Web of Issues (IIoT). These units will generate knowledge streams that may have to be correlated, merged, filtered, and analyzed in real-time on the edge. This speak will discover a chic resolution to this downside that’s productive, composable, concurrency-friendly, and scales effectively. We make the most of OMG’s Information Distribution Service for Actual-Time Methods (DDS) normal for connectivity, and Reactive Extensions (Rx) for functional-style composable asynchronous knowledge processing in fashionable C++.

Rx is a generalization of futures and will be regarded as the async equal of C++ ranges. It helps create asynchronous knowledge processing pipelines by chaining reusable higher-order features (map, filter, flatmap, zip and many others.) that depend on a standard abstraction known as an Observable (a continuation monad). RxCpp makes great use of practical programming options in fashionable C++ together with generic lambdas, kind inference, variadic templates, and extra. Rx is without doubt one of the finest libraries that really highlights the ability of practical design rules utilized in a (primarily) object-oriented programming languages.

DDS and Rx work nice collectively as a result of they’re each reactive, use the publish-subscribe paradigm, and facilitate unfastened coupling between parts. This presentation will talk about Rx4DDS, which is a analysis library that integrates Rx with RTI Connext DDS. Rx4DDS allows a clear, distributed, asynchronous dataflow structure for stream processing and is obtainable in C#, C++, and JavaScript.

Slides

Extra studying

  • Information-Centric Stream Processing within the Fog is an RTI weblog put up with detailed description of one of many demonstrations and code I confirmed at CppCon’15. If you recognize what I imply by “The finalization actions are baked into every knowledge pipeline on the time of creation” you can skip proper forward.
  • Rx4DDS residence web page contains all of the demonstrations and code I confirmed at CppCon. The outline is considerably sparse and assumes that you’ve seen the sooner assets listed right here.



Silicon Valley Code Camp: Composable Turbines and Property-based Testing in C++14  


Subject: C++14 has an enviable assortment of practical programming options reminiscent of generic lambdas, kind inference, variadic templates, operate sorts with co-/contra-variance and so forth. With mature compiler help, designing and implementing performant functional-style libraries has develop into very nice in fashionable C++. Instruments and strategies (e.g., property-based testing) loved by the programmers in solely elite practical languages (Haskell, Scala) now seem like inside C++’s attain.

This presentation will talk about two basic strategies from the practical area — composable knowledge turbines and property-based testing — applied in C++14 for testing a generic serialization and deserialization library (RefleX). We’ll have a look at strategies of developing complicated turbines utilizing a random quantity generator and a tolerable dose of monoids, functors, and naturally, monads. We can’t cease there although! We’ll have a look at automated kind turbines utilizing C++ TMP. Outfitted with knowledge and sort turbines, we’ll take property-based testing to an entire new stage the place lazy programmers do not need to do something to check their packages past simply compilation and working the check again and again.

Code on github: turbines

Slides 

[ad_2]

Leave a Comment

Your email address will not be published. Required fields are marked *