A new smart contract programming language is launching today that imho is going to disrupt decentralized finance, DeFi.Ethereum’s Solidity (and most of the programming languages used for smart contracts today) are general purpose languages - you can build anything with them. But because they’re so generalized, they don’t do a very good job at the one thing that you need most for DeFi and crypto - managing tokens.In Solidity, tokens are created as a list of account balances (uint256’s) inside an ERC20 smart contract e.g. account 0x...123 has 50 tokens, 0x...456 has 100 tokens, etc. To execute a token transfer, a message is sent to the contract with instructions to update a particular account’s balance. But because Solidity has no native concept of an asset, the Ethereum Virtual Machine (EVM) doesn’t know the difference between a uint256 that represents a token, and a uint256 that represents any other variable. Logic around asset behavior, such as the fact that a token shouldn’t be in two places at once, doesn’t exist - the developer has to implement this kind of logic from scratch, for every single contract. It’s like using a swiss army knife to make sushi - sure it can just about do the job, but the sushi gets hacked to pieces. No wonder we see hacks pretty much every week with Solidity smart contracts.In Scrypto, assets are a native feature of the language. To create a token in Scrypto, you just call a native function directly within the language. For example “.new_token_fixed(1000)” creates a token with a fixed supply of 1000. To transfer the token, you can call on native functions such as “.take(1)”, which takes a single token, or “.send(1)” which sends a single token somewhere. These tokens are guaranteed to behave like physical assets (like a physical coin), as they always have to live in only one place, which makes it way more secure and intuitive.This is one of those times where once I “got it”, it became obvious that this is how DeFi development should have been right from the start. Thought I’d share. What do you all think?