Membaca tentang konkurensi di Erlang , mengingatkan saya pada toolkit konkurensi Akka . Keduanya memberi Anda alat untuk mencegah atau membatasi kondisi balapan . Tapi Anda bisa mengirim tautan ke data yang bisa diubah ke proses lain menggunakan toolkit Akka, yang masih tidak aman. Saya melihat Akka sebagai alat yang berguna, tetapi tidak memberikan perlindungan terhadap akses yang tidak teratur ke objek dan data yang mengarah ke kondisi ras, kebuntuan, dan / atau kelaparan. Itu tidak mencegah Anda dari menulis kode yang tidak aman cara Java atau C # melindungi Anda dari menulis sebagian besar jenis kebocoran memori yang dapat Anda tulis dalam C ++ (Anda masih dapat membuat kebocoran memori di Jawa dengan menipu pengumpul sampah, tetapi itu kurang masalah daripada harus ingat untuk membebaskan setiap byte yang Anda alokasikan).
Apakah Erlang menjamin tingkat kebenaran, kinerja, dan ketahanan dalam pemrograman bersamaan? Saya pikir sistem operasi memberikan perlindungan ketika mengakses sumber daya sistem (dengan asumsi penulis driver melakukan pekerjaannya dengan baik). Database ACID memberikan perlindungan untuk pembacaan dan pembaruan. Jadi sepertinya ini adalah masalah yang bisa dipecahkan. Atau apakah solusi umum yang aman akan menghapus keuntungan kinerja yang disediakan concurrency? Apakah bahasa atau toolkit lain memberikan jenis keamanan bersamaan yang dilakukan Erlang (atau tidak)?
Ini adalah pertanyaan lanjutan untuk komentar @ Malfist pada jawaban @ user1249 untuk Bahasa pemrograman apa yang menghasilkan bug paling sulit ditemukan? .
sumber