Saya terkejut tidak ada yang memberikan jawaban yang jelas dan, saya curiga, yang paling sering digunakan dalam praktik: hanya saja tidak membaca pesan kesalahan.
Sebagian besar nilai dari sebagian besar pesan kesalahan hanyalah bahwa ada sesuatu yang salah pada baris ini dan itu. Sebagian besar waktu saya hanya melihat nomor baris dan pergi ke baris itu. "Pembacaan" saya tentang pesan kesalahan pada titik itu biasanya hanya apa pun yang menarik perhatian saya, bahkan bukan skim. Jika tidak segera jelas apa yang salah pada atau dekat garis, maka saya akan benar-benar membaca pesannya. Alur kerja ini bahkan lebih baik dengan IDE atau alat yang menyoroti kesalahan di tempat, dan secara otomatis menyelesaikan saran Karl Bielefeldt untuk hanya mempertimbangkan perubahan kecil.
Tentu saja, pesan kesalahan tidak selalu mengarah pada baris yang sesuai, tetapi kemudian mereka juga sering tidak menunjuk ke akar penyebab yang tepat, sehingga bahkan pemahaman penuh tentang pesan kesalahan akan sangat membantu. Tidak butuh waktu lama untuk mendapatkan gagasan tentang pesan kesalahan apa yang lebih dapat diandalkan untuk menemukan garis yang tepat.
Di satu sisi, sebagian besar kesalahan yang mungkin dilakukan oleh seorang pemula cenderung sangat jelas bagi seorang programmer berpengalaman tanpa bantuan dari kompiler yang diperlukan. Di sisi lain, mereka jauh lebih kecil kemungkinannya begitu jelas bagi pemula (meskipun banyak yang akan jelas, kebanyakan kesalahan adalah kesalahan bodoh). Pada titik ini saya sepenuhnya setuju dengan Robert Harvey, pemula hanya perlu menjadi lebih akrab dengan bahasa. Tidak ada cara untuk menghindarinya. Kesalahan penyusun yang merujuk konsep asing atau tampak mengejutkan harus dilihat sebagai petunjuk untuk memperdalam pengetahuan bahasa tersebut. Demikian pula untuk kasus di mana kompiler mengeluh tetapi Anda tidak dapat melihat mengapa kode salah.
Sekali lagi, saya setuju dengan Robert Harvey bahwa strategi yang lebih baik untuk memanfaatkan kesalahan kompiler diperlukan. Saya telah menguraikan beberapa aspek di atas dan jawaban Robert Harvey memberi aspek lain. Bahkan tidak jelas apa yang diharapkan teman Anda untuk dilakukan dengan "glosarium" seperti itu, dan sangat tidak mungkin "glosarium" semacam itu akan sangat berguna bagi teman Anda. Pesan kompiler tentu bukan tempat untuk pengantar konsep bahasa 1 dan "glosarium" bukanlah tempat yang lebih baik untuk itu. Bahkan dengan deskripsi yang jelas tentang apa arti pesan kesalahan, itu tidak akan memberi tahu Anda cara memperbaiki masalah.
1 Beberapa bahasa, seperti Elm dan Dhall (dan mungkin Racket), serta beberapa implementasi bahasa "berorientasi pemula" berusaha melakukan hal ini. Dalam nada ini, saran MSalters untuk menggunakan implementasi yang berbeda relevan secara langsung. Saya pribadi menemukan hal-hal semacam itu tidak menarik dan tidak cukup ditujukan pada masalah yang tepat. Ini bukan untuk mengatakan bahwa tidak ada cara untuk membuat pesan kesalahan yang lebih baik, tetapi, bagi saya, mereka cenderung berputar membuat kepercayaan kompiler dan dasar dari kepercayaan itu menjadi lebih jelas.