20 Dec 2024
If you are also an Ethereum developer like me, you must have been as confused as I was when trying to develop on Solana. Solana is so different and unique. In this post, I will show you a well-designed roadmap that will guide you to start developing on Solana as quickly as possible.
Before getting started, I assume that you already have some basic knowledge about Solana, including its account model and program system, as well as a basic understanding of the Rust programming language. It’s totally fine if you’re not deeply familiar with these topics, basic knowledge is sufficient for this post.
Moreover, I assume that you are using a Linux system and have already installed rust
, solana-cli
, node.js
and anchor
. If you are a Windows user, I highly recommend using WSL2, as anchor
does not provide good support for Windows.
Read more
18 Dec 2024
I started developing on the Ethereum platform in 2017, and I have to say that Solidity was an extraordinary design for its time. Its simple syntax makes it easy to learn, and tools like Remix simplify testing and deployment. For more complex projects, frameworks like Truffle and Hardhat can satisfy your requirements. However, Solidity is far from perfect. The challenges of upgradeability and its limited processing capability make Solidity less suitable for large-scale projects.
I started learning Solana development in 2023. Solana has a completely different design compared to Ethereum. It has been quite a challenging journey for an Ethereum developer to learn Solana. In this post, we will discuss the most significant differences between Ethereum and Solana: the account model, the program system, and the token program.
Read more
14 May 2023
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
05 Apr 2022
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
15 Mar 2018
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