Starknet / Kairo >>>>> EVM / Soliditet Typsystem: Kairo har starka typer, generiska, algrebraiska datatyper, egenskaper. Solidity har inga generiska läkemedel och svagare mönstermatchning. Ägarskap/lånekontroll vid kompileringstillfället: Kairo har det, semantik för flytt av en enskild ägare och låneregler som fångar upp användning efter flytt. Solidity Memory Safety är beroende av utvecklardisciplin. Aritmetisk säkerhet: Kairo använder kontrollerad matematik som standard. Solidity har nu kontrollerat aritmetiken men kan väljas bort. Kairo kommer med en mellanliggande representation (Sierra) som inte kan uttrycka odefinierat beteende eller ett misslyckat påstående, varje funktion har visat sig avslutas vid kompileringstillfället. Uppgraderingsmönster: I Kairo görs det med inbyggda syscall för att ersätta klasshash samtidigt som lagringen behålls, framtvingad av bevis, ingen risk för kollisionsrisk för proxylagring. I Solidity är proxys handrullade, kollisioner med lagringsplatser och misstag från delegatecall utgör en risk. Kairo utelämnar medvetet vissa funktioner som finns i Solidity, såsom modifierare, klassarv. Kairo föredrar komponerbarhet framför arv, vilket hjälper till att skriva renare, mer modulär kod, vilket gör det lättare att resonera om och granska säkerhetsbrister. Kairos design eliminerar hela buggklasser innan koden kompileras, medan Solidity beror på konventioner som kontroller, effekter, interaktioner och externa linters.
Fede’s intern 🥊
Fede’s intern 🥊9 juli 23:01
Solidity är det sämsta programmeringsspråket jag någonsin har använt i mitt liv. Jag bryr mig inte om vem i Ethereum som säger motsatsen till mig, men det är uppenbart för alla som har arbetat med bra kompilatorer och andra programmeringsspråk.
14,8K