Cover photo

. Born in an Ethereum Chatroom

Fabian Owuor

Fabian Owuor

Solidity was conceived in 2014 by Dr. Gavin Wood, one of Ethereum’s co-founders. The idea came up in casual discussions among Ethereum developers, including in early Skype groups and forums, where they debated how to make Ethereum smart contracts more developer-friendly than Bitcoin Script.

2. Influenced by JavaScript, Python, and C++

Solidity wasn't born out of a pure design philosophy like some programming languages. Instead, it was hastily designed to look familiar to existing developers:

  • Syntax like JavaScript

  • Type system like C++

  • Some semantic ideas from Python

This strange mix made it accessible but also introduced quirks—leading to bugs and misunderstandings in early smart contracts.

3. Developed by the Ethereum Foundation in Berlin

The initial development of Solidity was led by Christian Reitwiessner, working out of the Ethereum Foundation’s Berlin office. Early versions were very rough, and Solidity evolved quickly alongside Ethereum’s launch and testnets.

4. It Wasn't Meant to Be Permanent

In the beginning, Solidity was considered a temporary solution. The Ethereum community expected that better contract languages would replace it. Despite this, Solidity became the de facto standard, largely due to network effects and a lack of viable alternatives early on.

5. Its Rise Coincided with Major Hacks

Solidity gained notoriety because some of the most famous exploits in blockchain history involved it:

  • The DAO Hack (2016) exploited a recursive call bug in a Solidity smart contract.

  • Other DeFi exploits continue to trace back to Solidity’s complexity and developer errors.

These events made the Ethereum community treat Solidity with more caution—and led to improved tooling, auditing practices, and language updates.

6. It Powers Billions in Value—But Still Feels Experimental

Despite being central to DeFi, NFTs, and DAOs, Solidity still feels like a "work in progress." Its documentation, security patterns, and compiler (Solc) have matured, but developers still describe it as risky compared to traditional programming environments.

Use Case: A Simple Ether Vault

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract EtherVault {
    // Mapping to store each user's balance
    mapping(address => uint256) public balances;

    // Event emitted when Ether is deposited
    event Deposited(address indexed user, uint256 amount);

    // Event emitted when Ether is withdrawn
    event Withdrawn(address indexed user, uint256 amount);

    // Deposit function: payable so it can receive Ether
    function deposit() external payable {
        require(msg.value > 0, "Must send ETH");
        balances[msg.sender] += msg.value;
        emit Deposited(msg.sender, msg.value);
    }

    // Withdraw function
    function withdraw(uint256 _amount) external {
        require(balances[msg.sender] >= _amount, "Not enough balance");
        balances[msg.sender] -= _amount;
        payable(msg.sender).transfer(_amount);
        emit Withdrawn(msg.sender, _amount);
    }

    // Check contract's Ether balance
    function getContractBalance() external view returns (uint256) {
        return address(this).balance;
    }
}

🔐 What It Demonstrates

  • Storing and tracking balances

  • Using payable to accept Ether

  • Emitting events for tracking actions on-chain

  • Security basics like requiring enough balance

  • Ownership-independent logic — anyone can deposit and withdraw their own funds

Growth of Solidity

  1. 2014 – Birth: Created by Gavin Wood and later developed by Christian Reitwiessner and the Ethereum Foundation.

  2. 2015 – Ethereum Launches: Solidity becomes the go-to language for writing smart contracts.

  3. 2016 – Early Adoption: Projects like The DAO use Solidity, sparking interest across developers and startups.

  4. 2017–2020 – ICO & DeFi Booms: Solidity powers most ICOs and later, the explosive growth of DeFi (e.g., Uniswap, Aave).

  5. 2021–2024 – Maturation: Tools like Hardhat, Foundry, and formal audits make Solidity development more robust. Gas optimizations, testing frameworks, and security patterns improve.

Chaos of Solidity

  1. 🧨 DAO Hack (2016): Recursive call vulnerability in a Solidity smart contract drains $60M in ETH.

  2. Language Complexity: Mixing ideas from JS, C++, and Python led to misunderstandings, bugs, and lost funds.

  3. 🕳 Poor Early Tooling: Early developers had limited debugging or testing tools. Mistakes were costly.

  4. Exploits & Rug Pulls: From reentrancy attacks to underflow bugs, Solidity-powered scams and exploits cost billions.

  5. 🧠 Learning Curve: Developers entering Web3 often underestimated Solidity’s quirks and Ethereum's execution model.

Conclusion

Solidity grew fast, powered revolutions (DeFi, NFTs, DAOs), and enabled trillions in transaction volume — but not without chaos. It's a language of great power and high risk, still evolving through pain, patches, and a maturing ecosystem.

C++: Mature but Fading in Popularity

  • Invented in 1980s, C++ has powered everything from operating systems to games.

  • Still used in performance-critical systems (e.g., embedded devices, finance, game engines).

  • But it suffers from:

    • Steep learning curve

    • Complex syntax

    • Safer and simpler alternatives like Rust, Go, and Python gaining ground

  • Slowly being phased out in many web and application contexts.

Solidity: New, Risky, but Dominant in Web3

  • new paradigm: programmable money & decentralized logic.

  • Despite flaws and security pitfalls, it’s the default for Ethereum, the most widely used smart contract platform.

  • It powers:

    • DeFi protocols (Uniswap, Aave, MakerDAO)

    • NFTs & marketplaces (OpenSea)

    • DAOs and on-chain voting systems

  • Its dominance is reinforced by:

    • Network effects

    • Billions of dollars in smart contract value

    • A growing developer ecosystem

TL;DR:

C++ is a battle-hardened general of the past, slowly retiring.

Solidity is a bold young rebel leading the charge into decentralized futures—chaotic but essential.

. Born in an Ethereum Chatroom