Qual è il problema con i letterali XML di Scala?


9

In questo post , Martin (il capo della lingua) scrive:

[XML letterali] All'epoca sembrava un'ottima idea, ora sporge come un pollice dolente. Credo che con il nuovo schema di interpolazione delle stringhe saremo in grado di inserire tutte le elaborazioni XML nelle librerie, il che dovrebbe essere una grande vittoria.

Essendo interessato al design del linguaggio da solo, mi chiedo: perché scrive che è stato un errore incorporare i letterali XML nel linguaggio? Qual è la controversia relativa a questa funzione?


2
Forse si riferiva (nel post che hai collegato) ad avere un nucleo semplice e coerente e spostare funzionalità più specializzate nelle biblioteche
Zavior,

Risposte:


11

Credo che Martin spieghi molto bene il ragionamento nel suo post:

Ho sempre cercato di rendere Scala un linguaggio molto potente ma allo stesso modo meravigliosamente semplice, cercando di trovare unificazioni di concetti precedentemente diversi.

Il problema che molte lingue affrontano quando diventano sempre più popolari è che le funzionalità sono richieste dalla community e aggiunte in cima alla lingua. Un esempio nel peggiore dei casi (almeno nel mio libro) è il C ++, in cui hai praticamente tutto, ma non del tutto in un modo bellissimo e unificato (vedi ad esempio questa domanda che ne deriva).

La difficoltà, quando una lingua cresce a causa delle esigenze / esigenze della comunità, è quella di aggiungere le nuove funzionalità in modo coerente con il nucleo della lingua. E a questo proposito, il supporto letterale XML di Scala è un pollice dolente, perché questa è una cosa unica. Non fa davvero parte di un bellissimo core unificato, ma è stato aggiunto come soluzione una tantum, mentre l'interpolazione di stringhe è un concetto centrale abbastanza potente da sostituire la funzionalità una tantum.


IMHO, in un mondo ideale, un linguaggio dovrebbe contenere solo le funzionalità di base che consentono alla sua comunità di sviluppatori di estenderlo. Le estensioni non dovrebbero far parte del linguaggio principale ma dovrebbero essere fornite come librerie. Quindi, alla fine le revisioni linguistiche possono specificare nuove librerie standard ma nessuna nuova funzionalità linguistica. Naturalmente, definire un linguaggio così potente che sia abbastanza potente non è un compito banale, ma penso che alcune lingue (ad esempio Lisp) si siano avvicinate abbastanza.
Giorgio,

Parla di un sacco di programmatori lamentosi. I letterali XMl in scala sono estremamente utili. I fan di JSON probabilmente pensano di essere obsoleti, ma dimenticano che XML viene utilizzato in altre tecnologie come SOAP.
annoying_squid
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.