Saya tertarik untuk belajar pemrograman bersamaan, dengan fokus pada level aplikasi / pengguna (bukan pemrograman sistem). Saya mencari bahasa pemrograman tingkat tinggi modern yang menyediakan abstraksi intuitif untuk menulis aplikasi bersamaan. Saya ingin fokus pada bahasa yang meningkatkan produktivitas dan menyembunyikan kompleksitas pemrograman bersamaan.
Untuk memberikan beberapa contoh, saya tidak mempertimbangkan opsi yang baik untuk menulis kode multithreaded di C, C ++, atau Java karena IMHO produktivitas saya berkurang dan model pemrograman mereka tidak intuitif. Di sisi lain, bahasa yang meningkatkan produktivitas dan menawarkan abstraksi yang lebih intuitif seperti Python dan modul multiprosesor, Erlang, Clojure, Scala, dll. Akan menjadi pilihan yang baik.
Apa yang akan Anda rekomendasikan berdasarkan pengalaman Anda dan mengapa?
EDIT: Terima kasih semuanya atas jawaban Anda yang menarik. Sulit untuk membuat kesimpulan tanpa benar-benar mencoba karena ada banyak kandidat yang baik: Erlang, Clojure, Scala, Groovy, dan mungkin Haskell. Saya memilih jawaban dengan argumen yang paling meyakinkan, tetapi saya akan mencoba semua kandidat yang baik sebelum memutuskan mana yang akan dipilih :)
begin transaction
end transaction
dan semua yang ada di dalamnya harus bebas dari kebuntuan dan berhasil atau gagal secara keseluruhan.
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
. Mengapa?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
Lagi-lagi kenapa? Luaskan pertanyaan Anda untuk mendefinisikan dengan lebih baik apa yang sebenarnya Anda cari.