From the gno repository, it gives us a brief historical background on how gno.land is created.
At first, there was Bitcoin, out of the entropy soup of the greater All. Then, there was Ethereum, which was created in the likeness of Bitcoin, but made Turing complete.
Among these were Tendermint and Cosmos to engineer robust PoS and IBC. Then came Gno upon Cosmos and there spring forth Gnoland, simulated by the Gnomes of the Greater Resistance
From the quotes, we can see that:
Bitcoin has achieved decentralization of value
Ethereum has achieved decentralization of systems
Cosmos has achieved interoperability of decentralized systems
Each systems has their own unique traits and bringing massive improvement towards the experiences for both users and web 3 developers.
Firstly, the language it used, is called Gnolang. It is a new language written in golang. The main reason on why the team use golang instead of other popular languages such as C++ and Java is concurrency handling.
While C++ and Java use multithreading for running concurrent programs, Go uses Goroutines. Multithreading is where multiple threads are run in parallel within a single process. This could be your browser playing music and running a search engine at the same time, or your word processing software displaying your input while checking the grammar. The issue with multithreading is that it requires context switching, where the OS scheduler manages the switching between processes and threads. This often causes overhead and consumes excessive resources. Goroutine, on the other hand, takes the burden off the OS by implementing Go Scheduler, a run-time native scheduler. Creation and destruction of Goroutines consume seemingly less memory (as little as 0.2% of threads) and fully utilizes all cores of the hardware.
Gnoland provides the most viable solution to this, which is integrating goroutines by supporting Golang as the smart contracts language.
The most commonly used languages in the current blockchain development environment are Solidity for EVM-compatible networks and Rust for Solana and Cosmos SDK-based networks; both Solidity and Rust are inspired by C++. Although all of the above are excellent languages, Gnolang inherits faster compiling speed, more concise grammar, and resource-effective concurrency from Golang.
From the explanation above, we can see that gno.land is trying to improve the scalability of web 3 chain and improve users experience. Anticipate to see how and where it grows and improves.
