Erlang tarafından kullanılan Aktör Modeli , eşzamanlı programlama yapmak için çok farklı bir yol gibi görünüyor. Aktör Modeli hakkında düşünceleriniz nelerdir? Eşzamanlılık için popüler bir çözüm olacak mı?
Erlang tarafından kullanılan Aktör Modeli , eşzamanlı programlama yapmak için çok farklı bir yol gibi görünüyor. Aktör Modeli hakkında düşünceleriniz nelerdir? Eşzamanlılık için popüler bir çözüm olacak mı?
Yanıtlar:
Sanırım konsepti biliyorsunuz. Henüz çok iyi bilmiyorum.
Kısa cevap, bu modelin kısa ve orta vadede eşzamanlılığa popülerliğine inanıyorum. Ben her zaman lambda ve kapanışları sevdi ve özellikle güç eşzamanlılığı için ele kapanışları gibi aktör görüyorum. Böylece çok çekirdekli işlemciler bize programlamada yeni bir paradigma getiriyor, eşzamanlılık yüksek performans elde etmek için zorunludur. Aktör modeli, modern donanımdan yararlanmak için kolay bir yol gibi görünüyor.
Er ya da geç (umarım daha erken) neredeyse her ana dil eşzamanlılık için daha iyi bir modeli destekleyecektir. Erlang'da bu kadar iyi uygulanan IMHO Aktör modeli en iyi aday olmalıdır.
Aktör modelinin popülerliğinin önündeki bir engel, şu anda baskın paradigma olan OOP ile küçük empedanstır. Ancak ilk adım atılıyor, ana diller Aktör modeline giden yolu temizleyecek bazı fonksiyonel özellikler uyguluyor.
Bu konuyla ilgili çok şey okuyorum, bence her programcının becerilerindeki ilerlemesi çok önemli.
Geç Düzenleme:
Şimdi paradigmayı daha iyi anlıyorum. Bu nedenle, bir programlama dilinin sorunun kütüphaneler tarafından ele alınmasına izin vermesinin daha iyi olduğunu söyleyebilirim veya sonunda bir modelin benimsenmesini kolaylaştıracak bir özelliğe sahiptir. Bir dili sadece bir modelle bağlamak iyi bir ideia görmez.
"Popüler" çok önemli bir metrik değildir. "Yararlı" veya "güçlü" dir.
Aktör modeli yaklaşık 35 yıldır, en azından akademide, ve zaman geçtikçe daha fazla gerçek dünya dili tarafından benimsenmiştir. (Tamam, Erlang Aktör modelini benimsemedi , Aktör modelini yeniden keşfetti . Yine de.)
Yani, akademide on yıllarca hayatta kaldığı ve ana akımın içine girdiği göz önüne alındığında, iyi bir süre için olacağını söyleyebilirim.
Dürüst olmak gerekirse, eşzamanlılık yapmanın en iyi yolu olduğunu düşünüyorum. Kilit modeliyle paylaşılan bellek beni korkutuyor, yanlış gidebileceği çok fazla yol görebiliyorum. Mesaj ileten aktörler bir şeyler yapmak için çok daha temiz bir yol gibi görünüyor.
Ayrıca Clojure ve Haskell'de ve muhtemelen birkaç başka dilde kullanılabilen STM'ye bakın.