Starknet / Kairo >>>>> EVM / Soliditas Sistem jenis: Kairo memiliki tipe yang kuat, generik, tipe data algrebra, sifat. Solidity tidak memiliki generik dan pencocokan pola yang lebih lemah. Pemeriksa kepemilikan / pinjaman pada waktu kompilasi: Kairo memilikinya, semantik pemindahan pemilik tunggal dan aturan pinjaman yang menangkap penggunaan demi pemindahan. Keamanan memori soliditas bergantung pada disiplin pengembang. Keamanan aritmatika: Kairo menggunakan matematika yang diperiksa secara default. Solidity sekarang telah memeriksa aritmatika tetapi dapat memilih keluar. Kairo hadir dengan representasi menengah (Sierra) yang tidak dapat mengekspresikan perilaku yang tidak ditentukan atau pernyataan yang gagal, setiap fungsi terbukti berakhir pada waktu kompilasi. Pola peningkatan: Di Kairo dilakukan dengan syscall asli untuk menggantikan hash kelas sambil mempertahankan penyimpanan, ditegakkan dengan bukti, tidak ada risiko tabrakan penyimpanan proxy. Di Solidity, proxy digulirkan dengan tangan, tabrakan slot penyimpanan dan kesalahan delegatecall mewakili risiko. Kairo sengaja menghilangkan fitur-fitur tertentu yang ada di Solidity, seperti pengubah, pewarisan kelas. Kairo lebih menyukai composability daripada warisan, yang membantu menulis kode yang lebih bersih dan lebih modular, membuatnya lebih mudah untuk bernalar dan mengaudit kelemahan keamanan. Desain Kairo menghilangkan seluruh kelas bug sebelum kode dikompilasi, sedangkan Solidity bergantung pada konvensi seperti Memeriksa Interaksi Efek dan linter eksternal.
Fede’s intern 🥊
Fede’s intern 🥊9 Jul, 23.01
Solidity adalah bahasa pemrograman terburuk yang pernah saya gunakan dalam hidup saya. Saya tidak peduli siapa di Ethereum yang memberi tahu saya sebaliknya tetapi itu jelas bagi siapa pun yang telah bekerja dengan kompiler yang baik dan bahasa pemrograman lainnya.
14,82K