Temel tip ve nesne arasındaki sınır bulanıklaşır ve genellikle yapay olarak tanıtılır. Örneğin, C'de bir yapı sadece bir grup kayıttır, sadece türetilmiş bir nesne olmayan türdür. C ++ 'da, yapı tüm alanları genel olan bir sınıftır, bir nesne. Yine de, C ++ neredeyse tamamen C ile uyumludur ... sınır burada gerçekten yumuşaktır.
Prototip tabanlı programlama için nesnelerin çalışma zamanında değiştirilebilir olması gerekir. Yumuşak yazılmalıdır ZORUNLU çünkü çalışma zamanında her değişiklik, bir tür sınıf diğerine dönüşür - türü değişir.
Yine de temel ve türetilmiş nesne olmayan türleri statik olarak tutabilirsiniz. Ancak bu garip bir eşitsizlik getirir, nesneler yumuşak tiplidir, nesneler statik tiplidir ve ikisi arasında sert bir bariyer kurulmalıdır. Bir yapıyı değiştirebilmeniz gerekir mi? Dizi? Sayı bir sınıf mı yoksa temel bir tür mü olmalı yoksa int / float / bignum / vb.
Bu üniformaya sahip olmak, öğrenmek, kullanmak ve yazmak daha doğal ve kolaydır, tüm türler değişebilir veya çalışma zamanında hiçbir tür değişmez. Yalnızca bir türün (Nesne) değiştirilebilir olduğunu bildirirseniz, her iki dünyanın baş ağrısı ve sorunları ile sonuçlanırsınız.
Statik tip:
- uygulaması daha kolay
- daha hızlı / daha verimli
- daha güvenli
- soyutlama nedeniyle büyük sistemlerin bakımı / dokümantasyonu daha kolaydır.
Dinamik tip:
- daha hızlı yazmak,
- daha özlü
- dil öğrenmesi daha kolay
- tasarım hataları için daha affedici.
İkisini harmanlayarak çok fedakarlık edersiniz.
- Uygulama önceki ikisinden daha zorlaşıyor.
- hız, yumuşak türleri kullanıp kullanmamanıza bağlıdır ... Yaparsanız, düşüktür, eğer yapmazsanız, neden dili seçersiniz?
- tür güvenliği tüm nesne türleri için pencereden çıkar.
- bir türün diğerine nasıl dönüştüğünü izlemek oldukça zor bir iştir. Belgeleme - çok zor.
- Tüm defter tutma işlemlerini, özlü ve yazma hızını öldüren temel türlerle yapmanız gerekir.
- Dil karmaşıklığı "özel" olanlardan daha yüksektir (öğrenmesi daha zordur),
- Dinamik türden bir yazının "affedilmesi", uyumsuz öznitelik türlerinde bazı çok zor hatalara eğilim ile değiştirilir.