Tôi quan tâm đến việc học lập trình đồng thời, tập trung vào cấp độ ứng dụng / người dùng (không phải lập trình hệ thống). Tôi đang tìm kiếm một ngôn ngữ lập trình cấp cao hiện đại cung cấp sự trừu tượng trực quan để viết các ứng dụng đồng thời. Tôi muốn tập trung vào các ngôn ngữ làm tăng năng suất và che giấu sự phức tạp của lập trình đồng thời.
Để đưa ra một số ví dụ, tôi không xem xét một lựa chọn tốt khi viết mã đa luồng bằng C, C ++ hoặc Java vì IMHO năng suất của tôi bị giảm và mô hình lập trình của họ không trực quan. Mặt khác, các ngôn ngữ giúp tăng năng suất và cung cấp các khái niệm trừu tượng hơn như Python và mô đun đa xử lý, Erlang, Clojure, Scala, v.v. sẽ là những lựa chọn tốt.
Bạn muốn giới thiệu gì dựa trên kinh nghiệm của bạn và tại sao?
EDIT: Cảm ơn mọi người vì câu trả lời thú vị của bạn. Thật khó để đưa ra kết luận mà không thực sự cố gắng vì có nhiều ứng cử viên tốt: Erlang, Clojure, Scala, Groovy, và có lẽ Haskell. Tôi đã bình chọn câu trả lời với những lý lẽ thuyết phục nhất, nhưng tôi sẽ thử tất cả các ứng cử viên tốt trước khi quyết định chọn cái nào :)
begin transaction
end transaction
và mọi thứ bên trong phải không có bế tắc và nói chung là thành công hay thất bại.
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
. Tại sao?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
Một lần nữa, tại sao? Mở rộng câu hỏi của bạn để xác định rõ hơn những gì bạn đang thực sự tìm kiếm.