Session

C++ as Assembly 2.0 - Hello Nim

Software engineering usually doesn't dictate business needs and goals but is at the heart of the modern world as we know it. In this talk we will go through an exercise of first principles thinking and look at software development into perspective - how things are done, how they could be done and why things are the way they are.

In C++ it takes more than 5000 lines of code to properly implement optional - a value and a bool (hopefully without bugs and design flaws - fingers crossed! and let's not mention build times...).

Nim is a statically typed systems and applications programming language which offers some of the most powerful metaprogramming capabilities. 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 all 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++ (and JavaScript among others) and thus interoperability is straightforward and without any performance penalties - lots of existing C/C++ software can be reused and built upon.

The talk outline is as follows:
- the landscape of (compiled & high performance) programming languages and their use in the industry
- thoughts on the evolution of C++ and where it fits
- introduction to Nim - features and capabilities
- metaprogramming and introspection in Nim (HTML DSL example)
- the whole-program compilation model of Nim - how the compiler actually works and what the generated C++ code looks like
- a thorough comparison with C++ (language features and workflow)
- interfacing with C++
- the future of the language and ways to go forward

It's time to treat C++ as assembly and the C++ ecosystem as just another platform which a language such as Nim can target. Typescript is a bright example of a better tool for software development on top of a stable system.

Viktor Kirilov

in crypto - probably forever

Sofia, Bulgaria

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top