CppCon 2016: wybrane wykłady i prelekcje

W drugiej połowie września odbyła się tegoroczna wielka konferencja dla sympatyków, twórców i użytkowników, czyli programistów, języka C++. Mowa tutaj oczywiście o CppCon-ie, największym evencie na świecie poświęconym C++, organizowanej przez społeczność dla społeczności.

Nie jestem na bieżąco, ale nie dawno wczoraj pojawiła się informacja, że wszystkie wykłady i talki pojawiły się już w formie video na kanale Youtube-owym konferencji. Od pewnego czasu także pojawiały się tweety (#CppCon) z dodawanymi na bieżąco materiami, rozpowszechniane przez różne znane i mniej znane osoby czy organizacje. Sam kilka tweetów wrzucałem zaraz po obejrzeniu kilku ciekawych wykładów jakie mnie szczególnie zainteresowały. Dlatego pomyślałem, że zrobię sobie tutaj małą listę obejrzanych i planowanych do obejrzenia.

Polecane prelekcje

Poniżej kilka wybranych przeze mnie prelekcji, które moim zdaniem okazały się bardzo interesujące i godne polecenia, nie mówiąc już o zapoznaniu się z nimi. Kilka ociera się o optymalizacje, wydajność i niskopoziomowe bebechy, czyli coś co mnie aktualnie nieco bardziej jara, szczególnie jeśli można to połączyć w ładny modern-cpp.

Bjarne Stroustrup: The Evolution of C++ Past, Present and Future

Bardziej filozoficzna rozmowa, niż techniczny wykład, ojca C++, głównie o przeszłości, przyszłości i kierunku ewolucji w jakiej zmierza rozwój języka C++. To wystąpienie Stroustrupa kojarzy mi się z jego starą książką "Projektowanie i rozwój języka C++", kto czytał pewnie nie będzie zawiedziony.

Jason Turner: Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17

Jason ostatnio bawi się starym poczciwym 8-bitowym Commodorkiem C64 dlatego w swoim wystąpieniu pokazuje jak z wykorzystaniem C++ napisać prostą grę na tą platformę - nieśmiertelnego Ponga!

Timur Doumler: Want fast C++? Know your hardware!

Nie jest jakimś nowym odkryciem fakt, że znając swój sprzęt jesteś w stanie więcej z niego wykrzesać i stworzyć bardzo wydajny kod. Mimo szybkiego rozwoju narzędzi i języka C++ dobre posługiwanie się nimi nie wystarczy. Autor stara pokazać się co programista C++ powinien wiedzieć o sprzęcie i architekturze oraz jak pisać w modern C++ kod, który będzie cache-friendly, pipeline-friendly i well-vectorisable.

Pablo Halpern: Introduction to Vector Parallelism

Pablo wprowadza w świat równoległego programowania z wykorzystaniem wektoryzacji. Z naciskiem, jak w C++ osiągnąć optymalne wykorzystanie możliwości drzemiące w sprzęcie, czyli rozszerzeniach SSE, AVX. Większość obecnych kompilatorów bez problemu wykorzystuje instrukcje SIMD dostępne na danej platformie i potrafi z automatu zwektoryzować pewne fragmenty kodu, ale bez odpowiedniego podejścia i narzędzi nie zawsze da się osiągnąć zadowalające rezultaty.

Nicolas Guillemot: SPMD Programming Using C++ and ISPC

Nicolas kontynuuje temat SIMD i wektoryzacji z wykorzystaniem eleganckiej techniki równoległego programowania zwanego SMPD. Szybko wprowadza w świat SMPD i język programowania ISPC wraz z prezentacją jak ta technika jest wykorzystywana w programowaniu GPU na AMD (GCN). Oczywiście kod SMPD można bezpośredni tworzyć w C++.

Vittorio Romeo Implementing 'static' control flow in C++14

Statyczna kontrola przepływu kodu (? ciężko przetłumaczyć static control flow) w czasie kompilacji! Implementacja static_if i static_for w C++14 oraz porównanie z istniejącą propozycją static_if i zaakceptowanej ostatnio w C++17 konstrukcji constexpr_if.

Jason Turner: Practical Performance Practices

Jason przedstawia kilka prostych i praktycznych reguł, które znacznie mogą poprawić wydajność kodu w C++. Może nie wszystko jest nowe i odkrywcze, ale warto pamietać i poznać nowe mechanizmy ;)

Michael Caisse: Implementing a Modern C++ MQTT Client for Embedded Devices

Ciekawie o MQTT szczególnie w kontekście małych, embedowanych urządzeń. Szczególnie tutaj dobra, lekka biblioteka kliencka MQTT napisana w nowoczesnym C++ byłaby bardzo przydatna. Michael postanowił zmierzyć się z tym tematem.

Warte poznania

Lista ciekawych i interesujących materiałów, na które warto rzucić okiem (według mojego oceny).

Do obejrzenia

Mała lista todo, z wykładami wydającymi się ciekawe, ale z braku czasu jeszcze nie mogłem tego sprawdzić. Może wkrótce ;)

...

Wszystkie materiały można znaleźć na youtube-owym kanale CppCon-a, w playliście CppCon 2016 i CppCon 2016 Lightning Talks, a za niedługo powinny także pojawić się na msdn-owym Channel9.

Swoją drogą chyba muszę dodać do swojej listy todo przejrzenie także materiałów z ubiegłych lat, bo o ile pamiętam, za bardzo tego nie robiłem. A na dodatek jest jeszcze wiele innych eventów i okazji, gdzie powstają wartościowe materiały...

Zachęcam wszystkich związanych w jakimś stopniu z C++ i programowaniem do przejrzenia list i zapoznania się z wybranymi materiałami video. Poznanie i obejrzenie wszystkich to nie lada wyzwanie, ale zawsze można posłuchać w drodze do pracy, na urlop, lub w wolnej chwili ;)

[Notatka w ciągłej aktualizacji, materiałów dużo, więc potrzeba czasu na zapoznanie się z wszystkim co wydaje się intersujące...]

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *