Solidity team recently announced that the Solidity smart contract language will be split into two separate directions: Classic Solidity and Core Solidity. The current programming language supported by Solidity is Classic Solidity, which is already in production and the compiler is very reliable. However, the Solidity team still believes that the language itself is not stable, as can be seen from the version control of 0.x, with the latest version being 0.80.30. Classic Solidity still plans to release major updates regularly. Core Solidity is a reformation of Solidity, with a type system built from scratch to support features such as generics, first-class functions, and algebraic data types. Core Solidity is currently in the prototype stage. Solidity 1.0 will mark the point where Core Solidity reaches a stable enough level to become the default frontend. The Solidity team stated that one of the goals for Core Solidity is to transition as smoothly as possible from the current Classic Solidity language to Core Solidity. This plan includes a series of major version releases to make the syntax of Classic Solidity closer to the expected final state of Core Solidity, thus making the transition more gradual.