Saya memang mencoba mencari, tetapi saya tidak melihat pertanyaan serupa (entah itu atau terminologi pencarian saya salah - jika demikian, jangan ragu untuk menutup).
Saya adalah pengguna setia SO, dan saya perhatikan bahwa ada banyak referensi ke standar C ++ dalam diskusi dan jawaban - dan saya harus mengakui, saya belum pernah membaca dokumen khusus ini, bahasanya membuat mata saya sakit ... Jadi , pertanyaannya adalah, dapatkah pengembang C ++ benar-benar kode untuk mencari nafkah tanpa pernah membaca dokumen ini? Apakah benar-benar penting bagi kita manusia biasa yang tidak berkecimpung dalam bisnis menulis kompiler?
Jawaban:
Tidak - Anda bisa rukun tanpa itu
Namun, Anda akan memiliki pemahaman yang lebih dalam jika Anda meluangkan waktu untuk mempelajarinya. Mungkin ikuti referensi dari pertanyaan-pertanyaan yang mengganggu Anda dan belajar sepotong kecil sekaligus.
sumber
Jika Anda ingin berdebat tentang bahasa semantik dan bahasa standar, maka standar itu sangat penting. (Saya tidak bermaksud ini sepenuhnya menghina.) Jika Anda hanya ingin menyelesaikan pekerjaan dalam bahasa (vs pada bahasa), maka itu jauh lebih sedikit.
Standar dapat membuat referensi yang layak ke perpustakaan standar (tidak terlalu banyak untuk bahasa itu sendiri) setelah Anda merasa sedikit nyaman dengan itu, tapi saya ragu untuk merekomendasikan itu digunakan seperti itu. Kebanyakan orang tampaknya melakukan yang lebih baik dengan bahan lain. Yang mengatakan, saya beralih ke standar lebih sering daripada tidak ketika saya perlu mencari sesuatu tentang stdlib.
Namun, membaca draft dan makalah komite adalah salah satu cara untuk tetap mengikuti C ++ 0x - pada kenyataannya, salah satu dari hanya beberapa cara, saat ini.
Untuk SO dan forum lain, saya ragu untuk mengutip standar kecuali ketika tampaknya poster akan jelas dan pasti menguntungkan - mungkin mereka sudah meminta itu atau saya pikir mereka secara implisit mengharapkannya. Dalam kebanyakan kasus, dan terutama dengan programmer yang baru mengenal C ++, mengutipnya biasanya tidak banyak membantu.
sumber
Anda harus memilikinya tersedia untuk referensi tetapi saya tidak berpikir siapa pun kecuali penulisnya telah membaca semuanya ... jika mereka melakukannya (mereka bekerja dalam kelompok yang berfokus pada area jadi saya agak meragukannya).
Alasan Anda harus menyediakannya adalah bahwa kadang-kadang pertanyaan tentang kebenaran kode hanya dapat dijawab dengan merujuk pada standar.
sumber
Mungkin lebih penting bagi Anda untuk mengetahui di mana standar itu dan tahu kapan harus mencari sesuatu.
Jika tidak ada yang lain, Anda harus memeriksa secara berkala untuk memastikan bahwa Anda mematuhi versi terbaru dan tidak membiarkan kode Anda melayang.
sumber
Pada tim besar, Anda biasanya harus memiliki satu (tetapi biasanya tidak lebih) orang yang mengetahui standar setidaknya cukup baik, sehingga mereka dapat melakukan hal-hal seperti menyelesaikan argumen / pertanyaan tentang hal-hal seperti apakah kode tertentu sesuai dengan persyaratan standar.
Namun, secara realistis, jawaban-jawaban itu perlu diatasi dengan penilaian dan pengalaman. Standar (saat ini) mengatakan
export
adalah kata kunci dan memberi tahu apa yang dilakukannya. Pada kenyataannya, itu tidak bekerja seperti itu dengan kebanyakan kompiler. Demikian juga, dalam banyak kasus, jika Anda memiliki tiga orang yang tidak setuju tentang beberapa kode tertentu dan apa yang mungkin dikatakan standar tentang hal itu, itu mungkin merupakan tanda bahwa kode tersebut mungkin perlu ditulis ulang agar lebih mudah.Pada saat yang sama, sebagian besar tim akan melakukan sebagian besar pekerjaan pada satu platform, dan memiliki standar (dan seseorang yang paling tidak cukup akrab dengannya) untuk memeriksa bahwa apa yang Anda lakukan tidak terlalu terkait dengan platform itu pasti dapat menjadi berguna.
sumber
Saya telah mendapatkan roti sebagai pengembang C ++ selama sekitar 4 tahun secara total, tanpa harus membaca standar. Bahkan, selama dua tahun pertama, saya bahkan belum membaca banyak hal selain C ++ Primer oleh Stan Lippman dan artikel MSDN. Jadi itu mungkin - pada kenyataannya saya takut bahwa sebagian besar orang yang memproduksi kode C ++ bahkan belum membaca karya mendasar seperti C ++ Efektif al. yang saya temukan baru kemudian.
IMHO untuk menjadi pengembang C ++ yang baik, orang harus memahami logika dalam bahasa (seperti dicatat oleh Scott Meyers, C ++ adalah sekitar 4 bahasa yang berbeda) dan idiom dan perangkap umum, dan siap untuk selalu belajar lebih banyak. Membaca utas pada SO dapat mengajarkan banyak tentang kasus sudut di mana pada gilirannya mungkin layak dibaca pada bagian standar yang relevan, jika seseorang ingin benar-benar menggali lebih dalam. Tetapi membaca keseluruhannya mungkin jarang diperlukan bagi kebanyakan dari kita.
sumber
"Mengetahui standar" adalah masalah derajat, dan tidak selalu berarti menghafal dokumen asli.
Dokumen standar dirancang untuk otoritatif - tidak selalu dapat diakses. Ada banyak sumber satu langkah dihapus yang jauh lebih mudah diakses. Benar, ada sedikit Whispers Cina dalam hal itu, tetapi ini jarang menjadi masalah besar - tentu saja pada level satu langkah yang dihilangkan.
Pengungkapan penuh - Saya harus mengatakan ini - Saya tidak pernah membaca standar. Meskipun saya mungkin akan berusaha untuk mendapatkan dokumen C ++ 0x penuh ketika sudah selesai.
EDIT tentu saja jika Stroustrup merilis edisi baru "Bahasa Pemrograman C ++", saya mungkin setuju untuk itu lagi.
sumber
Ketika saya memprogram dalam C ++, saya sering merujuk ke standar bahasa untuk informasi tentang fungsi-fungsi perpustakaan standar. Pustaka standar C ++ cukup besar, dan saya menemukan standar bahasa menjadi sumber yang paling nyaman.
sumber
Saya bersumpah telah menjawab pertanyaan ini sebelumnya, tetapi saya tidak dapat menemukannya. Pada dasarnya, C ++ tidak seperti Java dalam hal itu dimaksudkan untuk memiliki lubang dalam spesifikasi spesifikasi platform lain dapat mengisi (misalnya POSIX, atau spesifikasi ABI arsitektur Anda, atau kompiler Anda). Jadi, ketika menjawab pertanyaan di situs-situs seperti StackOverflow, sudah umum untuk membuka spesifikasi untuk menunjukkan bahwa hanya karena sesuatu bekerja pada satu kompiler tidak berarti itu bekerja di mana-mana. Dengan kata lain, banyak alasan untuk merujuk spesifikasi tertentu ketika bekerja dengan C ++ adalah untuk menjelaskan dengan tepat seberapa portabel penggunaan khusus dari bahasa tersebut.
sumber