C++ as Assembly 2.0 - Hello Nim - Viktor Kirilov - code::dive 2019

Abstract 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. About the Speaker - Viktor Kirilov With 7 years of professional experience with C++ in the games and VFX industries, Viktor currently spends his time writing open source software (since 01.01.2016) - and occasionally doing some contract work. His latest work has been the implementation of hot code-reloading at runtime for the Nim programming language. He is also the author of doctest - "The fastest feature-rich C++11 single-header testing framework". His interests are the making of games and game engines, high-performance code, data-oriented design, cryptocurrencies, optimizing workflows and incorporating good practices in the software development process such as testing and the use of modern tools like static analysis or instrumentation. Viktor is from Sofia, Bulgaria and his profession is his hobby. Personal website: http://onqtam.com/.

Making Fast Incremental Compiler for Huge Codebase - Michał Bartkowiak - code::dive 2019
▶︎

Making Fast Incremental Compiler for Huge Codebase - Michał Bartkowiak - code::dive 2019

👑 Explaining the goal and first tutorial - 🔴 Live Nim #1
▶︎

👑 Explaining the goal and first tutorial - 🔴 Live Nim #1

What do you mean by "cache friendly"? - Björn Fahller - code::dive 2019
▶︎

What do you mean by "cache friendly"? - Björn Fahller - code::dive 2019

Assembly, System Calls, and Hardware in C++ - David Sankel - CppNow 2023
▶︎

Assembly, System Calls, and Hardware in C++ - David Sankel - CppNow 2023

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Herb Sutter - Peering forward  C++’s next decade
▶︎

Herb Sutter - Peering forward C++’s next decade

Jaremy Creechley: Nim in an RTOS World (NimConf 2021)
▶︎

Jaremy Creechley: Nim in an RTOS World (NimConf 2021)

"Nim Nuggets: Systems Programming & Metaprogramming Magic" by Aditya Siram
▶︎

"Nim Nuggets: Systems Programming & Metaprogramming Magic" by Aditya Siram

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

Nim - First natively compiled language w/ hot code-reloading at runtime - Viktor Kirilov [ACCU 2019]
▶︎

Nim - First natively compiled language w/ hot code-reloading at runtime - Viktor Kirilov [ACCU 2019]

Taming dynamic memory - An introduction to custom allocators in C++ - Andreas Weis - code::dive 2018
▶︎

Taming dynamic memory - An introduction to custom allocators in C++ - Andreas Weis - code::dive 2018

The Story of C++: The World's Most Consequential Programming Language | The Official Story
▶︎

The Story of C++: The World's Most Consequential Programming Language | The Official Story

Fred Heath - The Nim programming language - Bristech 2016
▶︎

Fred Heath - The Nim programming language - Bristech 2016

A Brief Introduction to Nim
▶︎

A Brief Introduction to Nim

Trusting your Raspberry Pi - An introduction to the TPM and IoT - Ian Oliver - code::dive 2019
▶︎

Trusting your Raspberry Pi - An introduction to the TPM and IoT - Ian Oliver - code::dive 2019

Nim on everything From microcontrollers to web-sites, C and JS as intermediary languages
▶︎

Nim on everything From microcontrollers to web-sites, C and JS as intermediary languages

Nim Metaprogramming in the Real World
▶︎

Nim Metaprogramming in the Real World

Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated
▶︎

Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Software engineering at the tipping point
▶︎

Software engineering at the tipping point