मुझे एप्लिकेशन / उपयोगकर्ता स्तर (सिस्टम प्रोग्रामिंग नहीं) पर ध्यान केंद्रित करते हुए, समवर्ती प्रोग्रामिंग सीखने में दिलचस्पी है। मैं एक आधुनिक उच्च स्तरीय प्रोग्रामिंग भाषा की तलाश में हूं जो समवर्ती अनुप्रयोगों को लिखने के लिए सहज ज्ञान युक्त सार प्रदान करता है। मैं उन भाषाओं पर ध्यान देना चाहता हूं जो उत्पादकता बढ़ाती हैं और समवर्ती प्रोग्रामिंग की जटिलता को छिपाती हैं।
कुछ उदाहरण देने के लिए, मैं C, C ++, या Java में मल्टीथ्रेडेड कोड लिखने वाले एक अच्छे विकल्प पर विचार नहीं करता क्योंकि IMHO मेरी उत्पादकता कम है और उनका प्रोग्रामिंग मॉडल सहज नहीं है। दूसरी ओर, ऐसी भाषाएँ जो उत्पादकता बढ़ाती हैं और पायथन और मल्टीप्रोसेसिंग मॉड्यूल, एर्लैंग, क्लॉजुर, स्काला, आदि जैसे अधिक सहज ज्ञान युक्त सार प्रदान करती हैं, वे अच्छे विकल्प होंगे।
आप अपने अनुभव के आधार पर क्या सलाह देंगे और क्यों?
संपादित करें: अपने दिलचस्प जवाब के लिए सभी को धन्यवाद। वास्तव में कोशिश किए बिना निष्कर्ष निकालना मुश्किल है क्योंकि कई अच्छे उम्मीदवार हैं: एर्लैंग, क्लोजर, स्काला, ग्रूवी, और शायद हास्केल। मैंने सबसे ठोस तर्क के साथ उत्तर दिया, लेकिन मैं सभी अच्छे उम्मीदवारों को चुनने का प्रयास करूंगा कि कौन सा चयन करना है :)
begin transaction
end transaction
और अंदर की सभी चीजें गतिरोध-मुक्त होनी चाहिए और या तो पूरी तरह से सफल या असफल होनी चाहिए।
To give an example, I don't consider a good option writing multithreaded code in C, C++, or Java
। क्यूं कर?On the other hand, Python and the multiprocessing module, Erlang, Clojure, Scala, etc. are some of my options.
फिर, क्यों? अपने प्रश्न को बेहतर ढंग से परिभाषित करने के लिए विस्तृत करें कि आप वास्तव में क्या देख रहे हैं।