C++ as Assembly 2.0 - Hello Nim, a general-purpose language

Nim is a statically typed systems and applications programming language which offers some of the most powerful meta-programming capabilities - allowing for higher levels of zero-cost abstraction. It is the next iteration of imperative language design and aims to dethrone C/C++ for high performance coding - among its rivals are Rust and D. Nim is also perfectly suited for software typically written in C#, Java, JavaScript, etc. - basically most types of software. Nim can bridge the gap between business logic and high performance, sprinkling improved developer productivity on top. Nim is compiled to C/C++/ObjectiveC & Javascript.

The talk outline is as follows:
- introduction to Nim - features and capabilities
- meta-programming and introspection in Nim (HTML DSL, Google Protobuf parsing & codegen at compile time in Nim)
- the whole-program compilation model of Nim - how the compiler actually works and what the generated C code looks like
- interfacing with C and code reuse
- the garbage collector and why it's existence isn't actually a big deal
- Nim and the Web - compilation to JavaScript and true isomorphic programming for the backend & frontend
- thoughts on the evolution of C++ and a comparison of Nim with C++ and Rust
- a bit on the importance of programming languages