Note: This is a lightly edited reprise of a talk given a few years ago at LUG

Topic

Many good, experienced high-level language programmers do not learn C or C++ well until they suddenly need to write an FFI extension, make an emergency patch to an existing C or C++ codebase, re-implement the bottleneck component in the application stack in a fast language, take an attractive job with a low-level programming component, or otherwise move from their comfortable language of choice and swallow the Red Pill of coding closer to the machine. If you are already a programmer, you don't need to be taught how to program, and your google-fu is strong for looking up detailed syntax. Instead, this will be a crash course in leveraging skills you learned in a high-level environment and transferring them to these low-level tools, acquiring some new skills you simply never needed before, and a building a mental picture of where the road to expert, idiomatic mastery lies. We will focus on plain C because C++ is too complex to cover well in a single talk, but much of the material will apply directly to C++. Perhaps surprisingly, some of it will even make you a better programmer in your favorite comfortable, higher-level language.

Bio

Some little-known facts about Dustin Laurence:

  • His first exposure to computers was playing Colossal Cave
    Adventure and the bootleg Fortran IV version of Zork on his cousin's work mainframe using a glass teletype and a modem with a cradle for the handset.

  • His first good programming language was C. He lies and pretends that C is where he learned to program because 8-bit BASIC is embarrassing.

  • He once gave up trying to learn the libc low-level I/O functions from the Ultrix man pages because he thought a buffer must be some kind of abstract data type provided by the C library and he couldn't find any documentation.

  • He once confidently predicted that Linux was a temporary fad that would be replaced by BSD for serious work once the Berkeley codebase was completely free. It's probably a good thing he doesn't gamble.

  • He avoids social media for the same reason he doesn't do crack cocaine.

  • These days he happily hacks Python for Spring Labs.

Meetup Event Page