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.
I'm a software consultant specializing in practice, process, test driven development, and complex-adaptive systems-thinking. I'm 33 years old (hex) and I've loved software since I was 10 (decimal). I built cyber-dojo.org to promote deliberate practice for software developers. I've worked with Accenture, Aviva, Cisco, Ericsson, Friends Provident, HP, Microsoft, Opera, Ordnance Survey, RBS, Reuters, Renault F1, Schlumberger, Tandberg and many many more. If you don't like my work I won't invoice you. I'm the co-author (with Olve Maudal) of the Deep C/C++ slide deck (over 1,000,000 views) I'm the ex ECMA Task Group 2 C# convenor. I've had some C# books published. I'm the ex ACCU conference chairman. I'm married to the beautiful Natalie, and proud father of Ellie, Penny and Patrick. I love salmon fishing. I live in Somerset, England.