Starknet / Káhira >>>>> EVM / Solidity Typový systém: Káhira má silné typy, generika, algrebraické datové typy, traity. Solidity nemá žádné obecné typy a slabší porovnávání vzorů. Kontrola vlastnictví / půjčování v době kompilace: Káhira to má, sémantika tahu jednoho vlastníka a pravidla výpůjčky, která se používají po tahu. Solidita bezpečnosti paměti závisí na disciplíně vývojářů. Aritmetická bezpečnost: Káhira ve výchozím nastavení používá kontrolovanou matematiku. Solidity nyní kontroluje aritmetiku, ale může být odhlášena. Cairo přichází s mezilehlou reprezentací (Sierra), která nemůže vyjádřit nedefinované chování nebo selhávající tvrzení, každá funkce je prokazatelně ukončena v době kompilace. Vzory upgradu: V Káhiře se provádí pomocí nativního syscallu, který nahrazuje hodnotu hash třídy při zachování úložiště, vynuceného důkazem, bez rizika kolize úložiště proxy. V Solidity jsou proxy servery ručně válcovány, kolize slotů úložiště a chyby volání delegáta představují riziko. Cairo záměrně vynechává určité vlastnosti přítomné v Solidity, jako jsou modifikátory, dědičnost tříd. Cairo upřednostňuje skládatelnost před dědičností, což pomáhá psát čistší, modulárnější kód, což usnadňuje uvažování a audit bezpečnostních chyb. Cairo design eliminuje celé třídy chyb před kompilací kódu, zatímco Solidity závisí na konvencích, jako jsou kontroly efektů, interakce a externí lintery.
Fede’s intern 🥊
Fede’s intern 🥊9. 7. 23:01
Solidity je nejhorší programovací jazyk, jaký jsem kdy v životě použil. Je mi jedno, kdo v Ethereu mi říká opak, ale je to zřejmé každému, kdo pracoval s dobrými kompilátory a dalšími programovacími jazyky.
14,79K