Apa masalah dengan literal XML Scala?


9

Dalam posting ini , Martin (honcho kepala bahasa) menulis:

[XML literal] Tampaknya ide bagus pada saat itu, sekarang menonjol seperti jempol yang sakit. Saya percaya dengan skema interpolasi string baru kita akan dapat menempatkan semua pemrosesan XML di perpustakaan, yang seharusnya menjadi kemenangan besar.

Karena tertarik pada desain bahasa sendiri, saya bertanya-tanya: Mengapa dia menulis bahwa kesalahan menggabungkan XML literal ke dalam bahasa? Apa kontroversi mengenai fitur ini?


2
Mungkin dia merujuk (di pos yang Anda tautkan) memiliki inti yang sederhana dan konsisten dan memindahkan fitur yang lebih khusus ke perpustakaan
Zavior

Jawaban:


11

Saya percaya Martin menjelaskan alasannya dengan sangat baik di posnya:

Saya selalu berusaha menjadikan Scala sangat kuat tetapi dengan bahasa sederhana yang indah, dengan mencoba menemukan penyatuan konsep-konsep yang sebelumnya berbeda.

Masalah yang dihadapi banyak bahasa ketika mereka menjadi semakin populer adalah fitur yang diinginkan oleh komunitas dan ditambahkan di atas bahasa. Contoh terburuk dari hal ini (setidaknya dalam buku saya) adalah C ++, di mana Anda memiliki segalanya, namun tidak semuanya dengan cara yang indah dan terpadu (lihat misalnya pertanyaan ini muncul dari itu).

Kesulitannya, ketika suatu bahasa tumbuh karena tuntutan / kebutuhan dari komunitas adalah menambahkan fitur-fitur baru dengan cara yang konsisten dengan inti bahasa. Dan dalam hal ini, dukungan literal XML dari Scala adalah hal yang mudah, karena ini adalah hal yang unik. Ini sebenarnya bukan bagian dari inti terpadu yang indah, tetapi telah ditambahkan sebagai solusi sekali pakai, sedangkan interpolasi string adalah konsep inti yang cukup kuat untuk menggantikan fitur sekali pakai.


IMHO, di dunia yang ideal, bahasa seharusnya hanya berisi fitur-fitur inti yang memungkinkan komunitas pengembangnya memperluasnya. Ekstensi tidak boleh menjadi bagian dari bahasa inti tetapi harus disediakan sebagai perpustakaan. Jadi, akhirnya revisi bahasa dapat menentukan perpustakaan standar baru tetapi tidak ada fitur bahasa baru. Tentu saja, mendefinisikan bahasa inti yang cukup kuat bukanlah tugas yang sepele, tapi saya pikir beberapa bahasa (misalnya Lisp) cukup dekat dengannya.
Giorgio

Bicara tentang sekelompok programmer cengeng. XMl literal dalam scala sangat berguna. Anak laki-laki penggemar JSON mungkin berpikir mereka sudah usang tetapi lupa XML digunakan dalam teknologi lain seperti SOAP.
annoying_squid
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.