Saya telah membaca " Semantik dengan Aplikasi " dari Nielson & Nielson , dan saya sangat menyukai subjeknya. Saya ingin memiliki satu buku lagi tentang semantik bahasa pemrograman - tetapi saya hanya bisa mendapatkan satu buku.
Saya melihat-lihat buku Turbak / Gifford , tetapi terlalu panjang lebar; Saya pikir Winskel akan baik-baik saja, tetapi saya tidak memiliki akses ke sana (tidak ada di perpustakaan Universitas kami, dan saya kekurangan uang), dan saya bahkan tidak yakin apakah itu tidak berkencan. Slonneger tampaknya baik-baik saja, tetapi bagian praktis membuatnya agak terlalu lama, dan saya tidak terlalu nyaman dengan gayanya.
Jadi pertanyaan saya adalah - apakah Winskel buku yang bagus? Dan apakah itu tanggal?
Juga, apakah ada buku ringkas lain tentang masalah ini?
Jawaban:
Itu semua tergantung seberapa dalam Anda ingin pergi, dan seberapa banyak Anda sudah tahu. Untuk seorang pemula, buku Winksel benar-benar bagus, tetapi ya, itu tidak memperkenalkan Anda pada seni semantik seperti yang ditulis sekitar 20 tahun yang lalu. Namun demikian itu masih merupakan pengantar pertama yang baik untuk subjek. Mungkin juga bermanfaat untuk menunjukkan bahwa T. Nipkow telah memformalkan sebagian besar buku Winskel di Isabelle / HOL, lihat di sini . Jadi jika Anda ingin belajar menggunakan asisten bukti interaktif bersama-sama dengan memahami semantik bahasa pemrograman, Anda memiliki banyak bahan yang koheren untuk menggambar.
Buku-buku lain yang lebih maju adalah:
Gunter, Semantik Pemrograman Bahasa , sebuah buku yang lebih maju yang berfokus pada semantik denotasional, sebuah pendekatan untuk semantik, yang belum memenuhi harapan. Berfokus pada bahasa yang berfungsi murni dan mengabaikan konkurensi. Ini adalah buku yang saya pelajari sendiri semantik sebagai sarjana, dan kalau dipikir-pikir saya berharap saya telah menggunakan buku Winksel sebagai gantinya. Gunter bukan bacaan yang mudah bagi pemula.
Domain dan lambda-calculi oleh Amadio dan Curien. Buku lain datang lebih banyak ditulis dalam tradisi domain-teori, meskipun membahas proses kalkulus.
Buku-buku John Mitchell yang telah disebutkan di atas. Mereka juga kebanyakan tentang perhitungan berurutan.
Buku-buku seperti Pierce's TAPL sangat bagus, tetapi fokus sempit pada satu aspek bahasa pemrograman, yaitu jenis, sama pentingnya dengan itu. Saya tidak akan merekomendasikan ini sebagai pengantar pertama untuk area umum bahasa pemrograman, tetapi wajib dibaca untuk siapa saja yang ingin belajar tentang jenis.
Sejujurnya, saya pikir saat ini tidak ada buku pengantar terbaru tentang semantik bahasa yang mencerminkan kemajuan substansial dekade terakhir, dengan pergeseran yang menentukan dari metode denotasi dan perhitungan berurutan ke konkurensi (proses kalkulus dan semantik permainan) , semantik aksioma dan penggunaan asisten bukti interaktif dalam verifikasi.
Pembaruan 22. April 2014: Tobias Nipkow dan Gerwin Klein telah menerbitkan buku baru
yang dapat dilihat sebagai 'Winskel in Isabelle / HOL'. Ini merupakan pengantar untuk semantik bahasa pemrograman (terutama operasional dan aksiomatik) tetapi tidak seperti pendekatan berbasis pena dan kertas sebelumnya, buku ini mengungkapkan semua matematika dalam Isabelle / HOL. Dengan kata lain, itu sekaligus buku tentang pembuktian teorema.
Buku ini sangat baru jadi saya belum pernah menggunakan untuk mengajar, tetapi kelihatannya sangat cocok sebagai pengantar yang ditempatkan di tingkat yang lebih rendah daripada Yayasan Perangkat Lunak oleh Pierce et al.
sumber
Berikut ini adalah contoh acak bahan yang tersedia secara online gratis:
sumber
Saya akan membagi buku-buku tentang semantik bahasa pemrograman menjadi dua kelas: mereka yang fokus pada pemodelan konsep bahasa pemrograman dan mereka yang fokus pada aspek - aspek dasar semantik. Tidak ada alasan buku tidak bisa melakukan keduanya. Tetapi, biasanya, hanya ada begitu banyak yang dapat Anda masukkan ke dalam sebuah buku, dan penulis juga memiliki kecenderungan mereka sendiri tentang apa yang penting.
Buku Winskel, telah disebutkan, melakukan sedikit dari kedua aspek. Dan, itu adalah buku pemula yang bagus. Buku yang sama baiknya, bahkan mungkin lebih baik, adalah yang saya mulai dengan: deskripsi denotasional Gordon tentang bahasa pemrograman . Ini adalah buku pertama saya tentang semantik, yang saya baca segera setelah saya menyelesaikan pekerjaan sarjana saya. Saya harus mengatakan itu memberi saya landasan semantik dan saya tidak pernah bertanya-tanya bagaimana semantik denotasional berbeda dari semantik operasional atau semantik aksiomatik, dll. Buku ini akan tetap menjadi favorit saya sepanjang waktu di semantik denotasional.
Buku-buku lain yang berfokus pada aspek pemodelan daripada aspek-aspek mendasar adalah sebagai berikut:
Tennent's Semantik dari bahasa pemrograman , yang merupakan buku uptodate lebih atau kurang tentang semantik bahasa pemrograman imperatif. Mudah dibaca. Namun, itu cenderung abstrak di bagian akhir buku ini dan Anda mungkin harus berjuang untuk melihat mengapa hal-hal dilakukan dengan cara tertentu.
Teori Reynolds tentang bahasa pemrograman . Siapa pun yang berspesialisasi dalam semantik harus membaca buku ini. Lagipula itu adalah karya Reynolds. (David Schmidt pernah berkata kepada saya, "bahkan jika Reynolds membacakan koran pagi untuk Anda, Anda ingin mendengarkan dengan cermat, karena Anda mungkin belajar sesuatu yang penting"!) Ini memiliki cakupan yang baik dari aspek pemodelan dan aspek dasar.
Buku-buku terbaik tentang aspek-aspek dasar adalah Gunter's (yang saya anggap sebagai buku teks pascasarjana), dan buku Mitchell (yang merupakan buku referensi yang bagus untuk dimuat di rak buku Anda karena cukup komprehensif).
sumber
Saya benar-benar menikmati membaca Winskel ketika saya mengambil kursus sarjana tentang semantik. Tapi saya tidak tahu apakah ini tanggal, karena saya tidak melakukan penelitian di bidang ini. Nilai tambah dari Winskel adalah Anda dapat menemukannya diterjemahkan dalam bahasa lain selain bahasa Inggris.
Untuk bacaan lebih lanjut, lebih banyak di tingkat pascasarjana, saya sarankan buku - buku John Mitchell Yayasan untuk Pemrograman Bahasa dan Konsep dalam Bahasa Pemrograman . Jika Anda hanya membaca bab-bab pertama, saya kira mereka juga memenuhi persyaratan keringkasan Anda.
Anda tidak akan menemukan draf gratis buku-buku ini, jadi jika Anda memiliki anggaran terbatas pilih "mungkin" dalam jawaban Radu.
sumber
Yah, saya bukan ahli dalam hal ini, tetapi ada beberapa saran umum yang bisa saya berikan.
Pertama, ada beberapa orang yang sudah membaca buku dan memberikan ulasan. Misalnya, untuk buku Winskel The Formal Semantics of Programming Languages (lihat [1] dan [2] ) saya menemukan ulasan di Amazon.
Bagian dari satu ulasan berbunyi:
18/20 orang menganggap ulasan ini berguna. Anda dapat mencari Amazon (atau sumber lain) untuk melihat lebih banyak ulasan.
Kedua, Amazon menawarkan Jenis dan Bahasa Pemrograman dan Teori Kategori Dasar untuk Ilmuwan Komputer beserta buku ini. Pada topik lain, Dave Clarke menawarkan buku-buku ini sebagai buku yang bagus sekali tentang "Jenis Sistem dan Pemrograman Semantik Bahasa." Sekali lagi, saya bukan ahli, tetapi itu mungkin berguna bagi Anda.
sumber
Saya ingin menambahkan dua buku yang tidak ditemukan pada jawaban yang diberikan sampai sekarang:
Buku Stump ringkas tetapi sangat jelas.
sumber
Untuk seorang pemula yang mempelajari semantik operasional, saya akan menyarankan Bahasa Pemrograman dan Semantik Operasional oleh Maribel Fernández . Semuanya dijelaskan dengan cara yang sangat sederhana yang mudah dimengerti. http://www.springer.com/computer/swe/book/978-1-4471-6367-1
sumber