[Noisebridge-discuss] A C++ Class

Josh Juran jjuran at gmail.com
Fri Dec 5 23:46:46 UTC 2014


On Dec 4, 2014, at 4:10 PM, Torrie Fischer <tdfischer at hackerbots.net> wrote:

> Hei, folks [:
> 
> Sometime next year I'd like to teach others the wonders of C++. I feel that 
> there aren't enough of us crazy people who can divine solutions out of 
> template errors from compilers churning through gobs of template 
> metaprogramming, massage autotools/cmake/scons/make/pkgconfig to produce viable 
> binaries, or implement continuations/coroutines without blood pouring out of 
> every orifice in the computer.

That reminds me of the time I tried to implement fork() without an MMU.

> Before I get all gung ho and dive in to planning out some lessons, I'd like to 
> know who would be interested in learning these arcane dark magicks of C++.

I would be interested both as a student and as the occasional counterpoint voice.

> Actual things to cover:
> 
> * The obligatory "Hello, World!" in C++

It might be interesting to have a discussion of write() vs. printf() vs. operator<<().

> * Debugging with GDB

Yes, please.  Perhaps also discussion of GUI alternatives for us spoiled brats.

> * Why C++ is the way that it is
> * Why the way that it is isn't all that awful
> * The wonderful world of STL and Boost
> * All the fancy things that C++11 and C++14 brought into the world
> * Template metaprogamming
> * How non-trivial C++ projects are built
> * Writing some NodeJS modules in C++
> * Embedded C++ on an AVR chip or similar
> * How to not write C in your C++
> * Stupid C++ Tricks and Hacks

There's definitely some internal conflict between STL/Boost (and especially TMP) and embedded development, at least if you're compiling on a low-spec device like a Raspberry Pi.  That might merit some discussion.

> Thoughts? Feedback? Suggestions where to seek professional counseling for 
> thinking such an idea is rational?

You're only beyond help if you divide by zero.

Josh




More information about the Noisebridge-discuss mailing list