#158

Idiomy Modern C++

Język programowania C++ już od dawna nie jest C z klasami i nigdy nie był wyłącznie językiem programowania obiektowego. C++ jest językiem ogólnego przeznaczenia. Udostępnia imperatywne, obiektowe i generyczne funkcje programistyczne, zapewniając jednocześnie bezpośredni dostęp i możliwość manipulacji pamięcią komputera. Prawidłowo użyty dostarcza trudną do przebicia wydajność. Wymaga to jednak dobrej znajomości szablonów C++ i idiomów Modern C++. Nie należy ich mylić z popularnie znanymi wzorcami projektowymi z kultowej książki GoF, które to zostały wynalezione do zaadresowania problemów typowych dla języków wyłącznie obiektowych takich jak Java czy C#.

W trakcie zajęć uczestnicy wykorzystywać będą własne komputery. Organizator zapewnia serwis kawowy oraz pizzę w porze obiadowej.

Żarówka

Czego się nauczysz?

W czasie warsztatu odświeżymy i poszerzymy naszą wiedzę na temat szablonów C++ i nauczymy się idiomów Modern C++. Opanowanie tych umiejętności umożliwi nam tworzenie bardzo przydatnych narzędzi, które będą potem używane codziennej pracy każdego programisty C++.
Notatnik

Wymagania wstępne

Od uczestników szkolenia wymaga się bieżącej praktyki z językiem C++ oraz rekomendowane jest doświadczenie w tworzeniu prostych szablonów C++. Wiedza w zakresie C++11/14 jest mile widziana ale nie jest obowiązkowa. Każdy uczestnik
powinien posiadać komputer z zainstalowaną świeżą wersją dowolnego kompilatora C++ (Visual Studio, gcc, clang).

Prowadzący

Mateusz Pusz:

Architekt oprogramowania, programista, ekspert w dziedzinie bezpieczeństwa kodu. Posiada ponad 13-letnie doświadczenie w projektowaniu, tworzeniu i utrzymaniu kodu C++. Konsultant i trener języka C++ oraz ewangelista skupiający się na tematyce Modern C++. Głównym obszarem jego zainteresowań i doświadczenia są wydajność, low latency, stabilność i bezpieczeństwo kodu C++. Mateusz przez 13 lat pracował dla firmy Intel a teraz przewodzi globalnej społeczności C++ w Epam Systems. Jest także założycielem Train IT, która dostarcza szkolenia C++ dla inżynierów korporacji. Mateusz jest aktywnym, posiadającym prawo głosu, członkiem komitetu ISO C++ (WG21) gdzie razem z największymi ekspertami na świecie pracuje nad stworzeniem kolejnej wersji standardu języka C++. Jest on także członkiem WG21 Study Group 14 (SG14) odpowiedzialnej w komitecie za tematy związane z wydajnością i low latency. W 2013 roku Mateusz wygrał ogólnoświatowy konkurs wiedzy o języku C++ - Bench Games 2013.

Program warsztatów

  1. Wstęp.
  2. Odświeżenie i ugruntowanie wiedzy o szablonach C++.
  3. Omówienie i przećwiczenie idiomów C++.
    1. Non-Copyable
    2. RAII
    3. Copy-and-swap
    4. Smart Pointer
    5. Type Traits
    6. Tag dispatch
    7. Policy-based design
    8. EBO
    9. Type Erasure
    10. Copy-on-write
    11. CRTP
    12. Singleton
    13. SOO

Uwaga

**NA TYM WARSZTACIE PRACUJEMY W MNIEJSZEJ GRUPIE! Maksymalna liczba uczestników tego wydarzenia to 20 osób. Uczenie się w takiej grupie, zapewni większy komfort pracy każdemu z uczestników.**
Liczba miejsc ograniczona! Organizator zastrzega sobie prawo do zmiany lokalizacji wydarzenia oraz jego odwołania w przypadku niezgłoszenia się minimalnej liczby uczestników.

Zapisy na wybrany warsztat zostały zakończone.