modern C++20/23 programming for Linux platform.

modern C++23/26 programming (pazar 1900 hrs يوم الأحد).

 

C++ is an important industrial programming language with more than 15 million developers world-wide and powers almost all the software infrastructure (includes finance, trading, games, servers, databases, network engines) all the way to mobile devices and constrained embedded systems.

 

FREQUENCY
pazar 1900 hrs يوم الأحد, the session is of 90 minutes together with Linux systems programming.

 

TIME
evening 1900 hrs (UTC+3).

 

LANGUAGE
English (instruction)
Arabic, Türkçe, English (QnA, Chat, Mailing list)

 

ONLINE
Online jitsi session that you can attend using your desktop browser.

 

JITSI
https://meet.jit.si/SoftwareHub

 

LINUX
Participants are strongly encouraged to install GNU/Linux systems either on their desktop, laptop or a hosted VM for best learning and exploratory experience.

 

C++ SESSION OVERVIEW
We take a legacy-free approach to learning C++23/26. We focus on what C++ core language and libraries have to offer today in terms of feature sets and capabilities. g++ and libstdc++ updates will reflect coverage of new topics.

 

The indicative topics of coverage and the focus during the next 48-sessions

 

TOPICS

  • Writing a Minimal C++ program and then tracing through the code and debug the code all the way to the executable / library.
  • Hello C++ module. What it is and viewing it as a unit of deployment.
  • Understanding what is a type. Built-in types.
  • Variable expressions, constants and values.
  • Literals. Character literals and String literals.
  • Block structured code. Notions of Scope and Life-time.
  • Notion of a Function. Memory model. Scope. Parameters. Return and return type.
  • Notion of a asynchronous function. Concurrency lite.
  • Expression categories
  • User-defined types. Construction. Destruction
  • Memory layout models. Stack, Heap. Notion of a resource handle.
  • Error handling. error code. static_assert
  • User-defined type memory layout under a microscope.
  • Working with GNU debugger on a C++ user-defined data type.
  • Enumeration. scoped enums
  • Expression categories in depth.
  • Copy-semantics
  • Move-semantics
  • Generics. What is generic programming ?
  • 'auto' in the game. auto, const auto, auto &
  • Expressing an Operation parameterized by Types | Values.
  • Writing a Generic function.
  • Function template Instantiation and Specialization.
  • Function template Overload and Selection rules.
  • Functional Composition.
  • Concepts as a mechanism to Specify Semantic requirements on constrained-types.
  • Move work from run-time to Compile time
  • constexpr, consteval and constinit
  • Function template object, Functor
  • Revisit Scope and Lifetime. Closure and Capture semantics
  • Lambda expressions. closure type. Capture semantics
  • Generic Lambda
  • Constraints on types and Polymorphism revisited.
  • Type functions and Type traits
  • Models of Sequence representation. Ranges.
  • Standard library containers.
  • Variadic template and perfect forwarding
  • Mathematical semantics of C++ concurrency.
  • C++ memory model
  • Asynchronous and Concurrent programming in C++
  • Functional paradigm for a database driver implementation.
  • Know your C++ toolchain (GNU g++, compiler options) and static analysis tooling
  • C++ Core Guidelines. How to incorporate in your work
  • Using the C++ standard library which is nearly 2/3rd of the ISO C++ standard and provides rich functionality.

 

RSVP
We are a Software Freedom community. All community events are FREE-of-charge.

 

RSVP is required for every individual session.

 

Right to admission is reserved !

There are no comments. Be the first one!

Sunday, February 5, 2023
16:00 - 17:30
Africa/Abidjan
Online
CREATED BY
SoftwareHub