Geleneksel programlama dillerinde fonksiyonlara liste veya nesne gönderdiğinizde, o fonksiyonun orijinal verinizi değiştirip değiştirmeyeceğinden asla emin olamazsınız. Herd bu sorunu temelden çözen bir programlama dili - her şey pass-by-value olarak çalışır. Bu sayede bir fonksiyona veri gönderdiğinizde, o fonksiyonun sizin kopyanızı değiştirmeyeceğini garanti edebilirsiniz.

Herd’in en büyük avantajı akıllı reference counting sistemi. Eğer bir değere tek referans varsa, performans için yerinde değişiklik yapar. Birden fazla referans varsa otomatik olarak shallow copy oluşturur. Ayrıca her şey value olduğu için reference cycle’lar imkansız hale gelir ve garbage collection sorunu ortadan kalkar. Swift’in Mutable Value Semantics yaklaşımına benzer ama çok daha basit bir yapıya sahip.


Stars: 32
💻 Language: Rust
🔗 Repository: Jcparkyn/herd