Değişmez nesneler gibi değişebilir nesnelerin faydalarının, paylaşılan ve yazılabilir durum nedeniyle çok iş parçacıklı programlamadaki sorunları gidermek için çok fazla zaman harcadığını görebiliyorum. Aksine, değiştirilebilir nesneler her seferinde yeni kopya oluşturmak yerine nesnenin kimliğiyle başa çıkmaya yardımcı olur ve böylece özellikle büyük nesneler için performans ve bellek kullanımını geliştirir.
Anlamaya çalıştığım bir şey, işlevsel programlama bağlamında değişebilir nesnelere sahip olmanın neyi yanlış yapabileceğidir. Bana söylenen noktalardan biri, işlevleri farklı sırada çağırmanın sonucunun deterministik olmadığıdır.
İşlev programlamasında değişken nesne kullanarak neyin yanlış gidebileceğinin çok açık olduğu gerçek somut bir örnek arıyorum. Temel olarak kötü ise, OO veya fonksiyonel programlama paradigmasına bakılmaksızın kötüdür, değil mi?
Kendi ifademin altında bu soruya cevap verdiğine inanıyorum. Ama yine de daha doğal hissetmek için bir örneğe ihtiyacım var.
OO, kapsülleme, polimorfizm gibi araçlar yardımıyla bağımlılığı yönetmeye ve daha kolay ve sürdürülebilir bir program yazmaya yardımcı olur.
İşlevsel programlama aynı zamanda sürdürülebilir kodun teşvik edilmesinin aynı nedenine sahiptir, ancak OO araçlarını ve tekniklerini kullanma ihtiyacını ortadan kaldıran bir stil kullanarak - bunlardan biri yan etkileri, saf işlevi vb.