Latar Belakang
Halaman Wikipedia di Syntactic Sugar menyatakan:
Dalam ilmu komputer, gula sintaksis adalah sintaksis dalam bahasa pemrograman yang dirancang untuk membuat segala sesuatu lebih mudah dibaca atau diungkapkan. Itu membuat bahasa "lebih manis" untuk digunakan manusia: hal-hal dapat diekspresikan lebih jelas, lebih ringkas, atau dengan gaya alternatif yang mungkin disukai beberapa orang.
Saya tidak begitu mengerti apa perbedaan antara Gula Sintaksis dan Sintaksis.
Saya menghargai poin bahwa versi manis bisa lebih jelas, lebih ringkas, mungkin mendidih. Tapi saya merasa pada tingkat tertentu, semua sintaksis pada dasarnya melakukan itu untuk membentuk abstraksi atas apa kode dikompilasi ke bawah.
Dari halaman Wikipedia yang sama:
Pengolah bahasa, termasuk kompiler, penganalisa statis, dan sejenisnya, sering memperluas konstruksi bergula menjadi konstruksi yang lebih mendasar sebelum diproses, suatu proses yang kadang-kadang disebut "desugaring".
Sebagai latihan pemikiran, jika saya mengambil "sering" dalam pernyataan ini berarti "selalu": Jika perbedaannya hanya apakah kompiler "keinginan" sintaksis sebelum pindah ke tahap berikutnya, bagaimana mungkin seorang programmer yang tidak tahu jeroan dari kompiler tahu (atau peduli) apa itu Sintaks Gula atau tidak?
Pertanyaan yang sangat terkait di situs ini "Definisi Ketat Gula Sintaksis?" memiliki jawaban yang dimulai:
IMHO Saya tidak berpikir Anda dapat memiliki definisi untuk gula sintaksis, karena frasa ini BS dan kemungkinan akan digunakan oleh orang-orang yang berbicara tentang "programmer nyata" menggunakan "alat nyata" pada "sistem operasi nyata"
Yang mungkin menunjukkan kepada saya bahwa mungkin tidak ada perbedaan besar bagi pembuat kode menggunakan bahasa? Mungkin perbedaannya hanya dapat dilihat oleh penulis kompiler? Meskipun mungkin ada contoh di mana itu membantu bagi pembuat kode menggunakan bahasa untuk mengetahui apa yang ada di balik tudung Gula Sintaksis? (Tapi mungkin dalam kenyataannya setiap wacana tentang subjek cenderung menggunakan istilah ini sebagai umpan api?)
Inti dari pertanyaan
Jadi ... versi singkat dari pertanyaan:
- Apakah ada perbedaan nyata antara Sintaks dan Gula Sintaksis?
- Kepada siapa itu penting?
Makanan Ekstra untuk Dipikirkan
Bonus pada kontradiksi topik:
Pada halaman Wikipedia diberikan contoh:
Misalnya, dalam bahasa C
a[i]
notasi adalah gula sintaksis untuk*(a + i)
Sedangkan jawaban lain pada pertanyaan terkait di atas berbicara tentang contoh yang sama:
Sekarang pertimbangkan
a[i] == *(a + i)
. Pikirkan tentang setiap program C yang menggunakan array dengan cara substantif apa pun.
Dan merangkum bahwa:
The
[]
notasi memfasilitasi abstraksi ini. Ini bukan gula sintaksis.
Kesimpulan sebaliknya untuk contoh yang sama!