Saya senang dengan jawaban Adrej, tetapi saya ingin menelusuri lebih jauh.
Untuk mulai dengan, semantik denotasional ingin mengatakan sesuatu seperti "arti dari notasi ini adalah itu". Seorang semantikis sejati ingin membayangkan bahwa makna adalah apa yang ada dalam pikiran kita dan notasi hanyalah cara mengekspresikan makna itu. Persyaratan bahwa semantik denotasional harus bersifat komposisional mengikuti dari ini. Jika maknanya adalah primer dan notasi sekunder, maka kita tidak punya pilihan selain mendefinisikan makna notasi yang lebih besar sebagai fungsi dari makna konstituennya.
Jika kita menerima sudut pandang ini maka semantik denotasional yang baik perlu menangkap makna yang kita anggap kita miliki dalam pikiran kita. Semantik komposisi apa pun tidak selalu cocok dengan tagihan. Jika saya datang dengan definisi semantik komposisi dan tidak ada yang setuju bahwa itu menyatakan makna yang mereka miliki di kepala mereka, maka itu tidak ada gunanya. Game semantik saat ini ada dalam situasi ini. Ini adalah definisi komposisi dan secara teknis cukup kuat, tetapi sangat sedikit orang yang setuju bahwa itu ada hubungannya dengan makna yang mereka miliki dalam pikiran mereka.
Yang mengatakan, definisi komposisi apa pun memiliki berbagai keunggulan teknis. Kami dapat menggunakannya untuk memverifikasi persamaan atau properti lainnya dengan menginduksi sintaksis istilah. Kita dapat menggunakannya untuk memverifikasi kesehatan sistem bukti, sekali lagi dengan menginduksi sintaksis istilah. Kami dapat memverifikasi kebenaran kompiler atau teknik analisis program (yang, berdasarkan sifatnya, ditentukan oleh induksi pada sintaksis). Definisi semantik yang sepenuhnya abstrak bahkan memiliki lebih banyak keunggulan teknis. Anda dapat menggunakannya untuk menunjukkan bahwa dua program tidak setara, yang tidak dapat Anda lakukan dengan semantik komposisi semena-mena. Definisi semantik sepenuhnya dapat didefinisikan bahkan lebih baik. Di sini domain semantik memiliki apa yang dapat Anda ungkapkan dalam bahasa pemrograman (dengan beberapa ketentuan). Jadi, Anda dapat menghitung nilai dalam domain untuk melihat nilai apa yang ada, yang akan sulit dilakukan dengan notasi sintaksis. Atas dasar-dasar ini, skor semantik game sangat cemerlang.
Namun, definisi semantik komposisi telah kehilangan keunggulan mereka selama bertahun-tahun. Robin Milner dan Andy Pitts telah mengembangkan sejumlah teknik " penalaran operasional ", yang bekerja murni pada sintaksis tetapi menggunakan semantik operasional di mana pun diperlukan untuk membicarakan perilaku. Teknik penalaran operasional ini berteknologi rendah. Tidak ada matematika mewah. Tidak ada benda tak terbatas. Kita bisa mengajar mereka kepada mahasiswa dan siapa saja bisa menggunakannya. Jadi, banyak orang bertanya mengapa kita perlu semantik denotasional sama sekali. (Martin Berger mungkin di kamp ini.)
Secara pribadi, saya tidak punya masalah dengan memiliki banyak alat di kotak alat saya. Teknik denotasi mungkin menghasilkan skor yang lebih baik untuk beberapa masalah dan teknik operasional untuk orang lain. Para peneliti yang mengembangkan teori mungkin lebih baik untuk satu pendekatan atau yang lain. Cukup sering, kita dapat mengembangkan wawasan dalam satu pendekatan dan mentransfer wawasan tersebut ke pendekatan lain. (Banyak pekerjaan Andy Pitts dari jenis ini. Parametrisitas relasional dikembangkan dalam pengaturan denotasional tetapi dia mampu mengetahui bagaimana menyatakannya kembali sebagai alasan operasional. Ketika saya melihatnya, saya berkata "wow, saya tidak akan pernah berpikir itu akan mungkin. "Pemisahan Logika juga akan seperti ini. Steve Brookes memberikan bukti kesehatan 60 halaman untuk Concurrent Separation Logic menggunakan semantik denotasional.
Pendekatan operasional juga mendapat nilai cemerlang ketika bahasa pemrograman menjadi sangat mewah, dengan semua jenis tipe gila yang lebih tinggi. Kita mungkin tidak tahu bagaimana memodelkan hal-hal seperti itu secara matematis. Atau, model matematika standar mungkin berubah menjadi tidak konsisten di bawah tekanan kelengkungan. (Sebagai contoh, lihat "Polimorfisme tidak set-theoretik" oleh Reynolds.) Pendekatan operasional yang bekerja murni pada sintaksis dapat dengan rapi memandu semua masalah matematika ini.
Pendekatan lain yang merupakan perantara antara pendekatan operasional dan denotasional adalah realisasi . Alih-alih bekerja dengan istilah sintaksis seperti dalam pendekatan operasional, kami pergi sebagian denotasional dengan menggunakan beberapa bentuk lain dari perwakilan matematika. Perwakilan ini mungkin tidak memenuhi syarat sebagai "makna" denotasional nyata tetapi mereka setidaknya akan sedikit lebih abstrak daripada istilah sintaksis. Sebagai contoh, untuk kalkulus lambda polimorfik, pertama-tama kita dapat memberi makna pada istilah yang tidak diketik (dalam beberapa model kalkulus lambda yang tidak diketik) dan kemudian menggunakannya sebagai perwakilan ('realizers') untuk melakukan semacam "penalaran operasional" dengan sedikit tingkat yang lebih abstrak.
Jadi, biarlah ada persaingan sehat antara pendekatan denotasional, operasional, dan realisasi. Tidak ada salahnya.
Di sisi lain, mungkin ada juga persaingan "tidak sehat" yang tumbuh di antara berbagai pendekatan. Orang yang bekerja dengan satu pendekatan mungkin sangat dekat dengan itu sehingga mereka mungkin tidak melihat inti dari pendekatan lain. Idealnya kita semua harus menyadari kekuatan dan kelemahan dari pendekatan yang berbeda dan mengembangkan sikap ilmiah terhadap mereka bahkan jika mereka bukan favorit individu kita.