C++20 Big Four: Range

This article concludes the “Big Four” series of C++20. Many readers may wonder: what exactly is the “Ranges” feature that places it among the Big Four?

Initially, I had the same question. The first three features in C++20 were “revolutionary”: Modules transformed project organization, Coroutines redefined concurrency, and Concepts brought the biggest change to template programming since its inception. So, what makes Ranges deserving of the Big Four? It fundamentally changes the way we handle loops by providing a higher level of abstraction.

Read more

The Big Four of C++20: Concept

Preface: The Evolution of C++ Templates

The evolution of templates is a highly significant milestone in the history of C++ development. Personally, I believe that Concepts represent the most impactful feature along this trajectory. Before diving into the details of Concepts, let us first review the development of templates over time.

timeline
    title C++ Templates Evolution
    1979 : C with Classes - First Implementation
    1988 : First Formal Proposal of Templates
    1998 : Templates Enter the Standard (Function/Class Templates, SFINAE)
    2011 : C++11 Variadic Templates
    2014 : C++14 Variable Templates, Generic Lambda
    2017 : C++17 Template Parameter Deduction, if constexpr
    2020 : C++20 Concepts
Read more

Developing a DApp on Windows 10 (Part 0):Starting from Scratch

I’ve always been a bit of a latecomer. It wasn’t until the end of December 2017 that I started investing in cryptocurrency and diving deeper into blockchain. Here, I’ll reflect on my journey from a beginner’s perspective, sharing what I’ve learned in hopes it may be useful to others.

Read more