Scala'nın XML değişmezleriyle ilgili sorun nedir?


9

Gelen bu yazı , Martin (dilin baş honcho) yazıyor:

O zamanlar harika bir fikir gibi göründü, şimdi ağrılı bir başparmak gibi gözüküyor. Yeni dize enterpolasyon şeması ile tüm XML işlemlerini kütüphanelere koyabileceğimize inanıyorum, ki bu büyük bir kazanç olmalı.

Dil tasarımıyla kendim ilgileniyorum, merak ediyorum: Neden XML değişmezlerini dile dahil etmenin bir hata olduğunu yazıyor? Bu özelliğe ilişkin tartışma nedir?


2
Belki de (bağlandığınız yazıda) basit ve tutarlı bir çekirdeğe sahip olmak ve kütüphanelere daha özel özellikler taşımaktan
bahsediyordu

Yanıtlar:


11

Martin'in muhakemesini görevinde çok iyi açıkladığına inanıyorum:

Eskiden farklı kavramların birleşimlerini bulmaya çalışarak Scala'yı her zaman çok güçlü ama aynı derecede basit bir dilde yapmaya çalıştım.

Birçok dilin daha popüler hale geldiklerinde karşılaştıkları sorun, özelliklerin topluluk tarafından aranması ve dilin üzerine eklenmesi. Bunun en kötü örneği (en azından kitabımda), hemen hemen her şeye sahip olduğunuz, ancak hiç de güzel bir birleşik olmayan C ++ 'dır (örneğin, bu sorudan kaynaklanan bu soruya bakın ).

Bir dil, topluluktan gelen talepler / ihtiyaçlar nedeniyle büyüdüğünde, yeni özellikleri dilin çekirdeğiyle tutarlı bir şekilde eklemektir. Ve bu bakımdan, Scala'nın XML değişmez desteği büyük bir acıdır, çünkü bu benzersiz bir şeydir. Gerçekten güzel bir birleşik çekirdeğin parçası değildir, ancak bir kerelik bir çözüm olarak eklenirken, dize enterpolasyonu bir kerelik özelliği değiştirmek için yeterince güçlü bir çekirdek kavramdır.


IMHO, ideal bir dünyada, bir dil yalnızca geliştirici topluluğunun onu genişletmesine izin veren temel özellikleri içermelidir. Uzantılar temel dilin parçası olmamalı, kütüphaneler olarak sağlanmalıdır. Bu nedenle, sonunda dil revizyonları yeni standart kütüphaneler belirtebilir, ancak yeni dil özellikleri göstermeyebilir. Tabii ki, yeterince güçlü olan böyle bir çekirdek dili tanımlamak önemsiz bir görev değildir, ancak bence bazı diller (örneğin Lisp) ona oldukça yakın geldi.
Giorgio

Bir grup whiny programcı hakkında konuşun. Skaladaki XMl değişmezleri son derece yararlıdır. JSON hayranları muhtemelen eski olduklarını düşünüyorlar, ancak XML, SOAP gibi diğer teknolojilerde kullanılıyor.
annoying_squid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.