Modern C

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...

    Prerequisites
    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.

    Computer Setup
    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.

    Jon Jagger

    I'm head of software at Merkely. I specialise in practice, process, test driven development, and complex-adaptive systems-thinking.
    I'm 35 years old (hex) and I've loved software since I was 10 (decimal).
    I'm married to the beautiful Natalie, and proud father of Ellie, Penny and Patrick.
    I built https://cyber-dojo.org to promote deliberate practice for software developers.
    I was a self-employed consultant for 20 years. I worked with Accenture, Aviva, Cisco, Ericsson, Friends Provident, HP, Microsoft, Opera, Ordnance Survey, RBS, Reuters, Renault F1, Schlumberger, Tandberg and many many more.
    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 love coarse fishing and salmon fishing.
    I live in Somerset, England.
    On twitter I'm @JonJagger

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?