Modern CProgramming languages NDC TechTown
C as a language has evolved a lot since it was first standardized in 1989, aka C89/C90/ANSI C. Among other things, C99 introduced better support for scientific computing, C11 introduced a new memory model and support for concurrency. The current version C17. Not only has the C language itself evolved, the way we use C has changed as well, often influenced by other languages and by modern ideas in software engineering.
In this 2 day course you will learn more about:
- variable-length arrays
- alignment specifications
- test-driven development techniques
- advanced and correct pointer arithmetic
- type-generic expressions
- static asserts
- tools for better dignostic messages
- better support for scientific computing
- the new memory model and support for multi-threading
- undefined vs unspecified behavior
- inline functions
- compund literals and designated initializers
- variadic macros and advanced preprocessing techniques
- type-generic math functions
- anonymous structures and unions
- writing solid code in C
- flexible array members
- and much more...
This is an advanced 2 day course for experienced programmers, taught by a world-class expert. You either have a strong background in a few other programming languages, and/or you know old-school C well but would like to get up to speed with a modern approach.
This course will refer to the latest C standard ISO/IEC 9899:2018 (aka C17). Most exercises will be done in an online editor, so you just need to bring a laptop with a modern browser.
09:00 - 17:00