क्या सी प्रोग्रामर के लिए K & R को पढ़ने का कोई फायदा है? [बन्द है]


10

यह प्रश्न मुझे इसलिए सता रहा है क्योंकि मैं अभी कर्निघन और रिची का पढ़ रहा हूं : द सी प्रोग्रामिंग लैंग्वेज (के एंड आर), लेकिन मैं बहुत से मिलता हूं, और मेरा मतलब है कि सी प्रोग्रामरों का ए लॉट, जिसने इसे कभी नहीं पढ़ा है।

तो, मेरा सवाल यह है: क्या कश्मीर एंड आर पढ़ने का एक फायदा है? एक आवश्यकता होनी चाहिए?


के & आर उन लोगों द्वारा लिखा गया था जिन्होंने सी भाषा का आविष्कार किया था; लंबे समय से यह एकमात्र सी पुस्तक उपलब्ध थी
स्टीवन ए। लोव

नहीं, के एंड आर पुस्तक केवल सी पुस्तक कभी नहीं लिखी गई है। आप कैसे सीखते हैं, इस पर निर्भर करते हुए, एक और किताब आपके लिए बेहतर हो सकती है।
user16764

1
@ StevenA.Lowe: ध्यान दें कि भाषा को बनाने और विकसित करने के लिए जरूरी नहीं है कि आप इसके बारे में लिखने के लिए सर्वश्रेष्ठ साख दें। उदाहरण के लिए गोस्लिंग ने ख़ुद को जावा विशेषज्ञ नहीं माना। और मुझे यकीन नहीं है कि मैं स्ट्रॉस्ट्रुप के लेखन का आनंद लेता हूं जो सामान्य तौर पर C ++ पर ज्यादा है। स्पष्ट रूप से वे जानते हैं कि वे भाषा के तकनीकी भागों के बारे में क्या बात कर रहे हैं, लेकिन इसकी पूर्णता, शैली को परिभाषित करने और इसे व्यवहार्य पारिस्थितिकी तंत्र का हिस्सा बनाने का उपयोग करना पूरी तरह से एक अलग बात है। (हालांकि मुझे लगता है कि K & R ने वह कमाल किया है)
haylem

@ user16764: "नहीं" से "एक आवश्यकता होनी चाहिए?", मुझे आशा है, नहीं "क्या केएंडआर पढ़ने के लिए एक फायदा है?"
हेलेम

@ केश: बिल्कुल। के एंड आर किताब काफी अच्छी है, सौभाग्य से, लेकिन मुझे इसके बजाय या अन्य सी संसाधनों के अलावा इसे पढ़ने का कोई स्पष्ट लाभ नहीं दिखता है
स्टीवन ए। लोवे

जवाबों:


15

मददगार हां, जरूरी नहीं। K & R, C भाषा की परिभाषा नहीं है। यह कई परिचयात्मक ग्रंथों में से एक है। मैंने इसे विशेष रूप से स्पष्ट और संक्षिप्त पाया, लेकिन अन्य पाठक अन्य ग्रंथों को पसंद कर सकते हैं। बस पढ़ने के बाद यह आपको किसी भी तरह से अन्य प्रोग्रामर से अलग नहीं करता है।


इसलिए आप मुझे बता रहे हैं कि मैंने पढ़ा या नहीं, इससे कोई फर्क नहीं पड़ता?
फारुक जूटी

7
K & R को पढ़ना और अभ्यास करना, परिचयात्मक C. सीखने का एक बिलकुल अच्छा तरीका है। हालाँकि, C सीखने के लिए बहुत सारी अन्य पुस्तकें और संसाधन हैं, और K & R में से किसी एक को चुना जाना अन्य पुस्तकों में प्रोग्रामर के रूप में आपकी योग्यता को प्रदर्शित नहीं करता है। ।
चार्ल्स ई। ग्रांट

7
बेशक, आप हमेशा कठिन तरीके से सीख सकते हैं ।
राबर्ट हार्वे

4
K & R ने मेरे लिए इसे सीखने के डर को दूर किया। यह लगभग वैसा ही है जैसे वे मेरे बगल में बैठे थे, एक घर की, दोस्ताना बातचीत में चीजों को समझाते हुए। यह "सफेद किताब" का मूल्य है। (और मैंने इसे 1985 में सीखा)
Rob

@ रोब: हाँ, यह एक बहुत ही अनुकूल पुस्तक है और यह बहुत ही स्वीकार्य है। मैं इसकी एक सबसे बड़ी संपत्ति के साथ-साथ बहुत स्पष्ट उदाहरणों / अभ्यासों पर विचार करता हूं।
हेलेम

8

मैं चार्ल्स ई। ग्रांट से सहमत हूँ: यह आवश्यक नहीं है, लेकिन यह पढ़ने लायक है, और यहाँ मैं ऐसा क्यों सोचता हूँ:

द बैड स्टफ

  • यह दिनांकित है और इस प्रकार भ्रामक हो सकता है।
  • यदि आप पहले से ही C को अच्छी तरह से जानते हैं तो आप बहुत कुछ नहीं सीखेंगे।
  • यदि आप K & R कोड शैली के प्रशंसक नहीं हैं, तो आपकी आँखें जल सकती हैं।

तीसरा बिंदु महत्वहीन है, और 2 पहला बिंदु अपेक्षाकृत दर्द रहित है, कम से कम आपको पता है कि इसे पढ़ना दुख नहीं होगा।

अच्छी वस्तु

  • यह नौसिखिए प्रोग्रामर के लिए एक अच्छा परिचय है, दोनों सी और सामान्य रूप से प्रोग्रामिंग के लिए।
  • यह एक अच्छा पढ़ा है (के रूप में: यह आसानी से पढ़ता है और अच्छी तरह से लिखा है)।
  • यह न केवल तकनीकी मूल्य के बारे में है, बल्कि ऐतिहासिक मूल्य के बारे में भी है। यदि आप एक विशेषज्ञ होने का लक्ष्य रखते हैं, तो यह जानना अच्छा है कि भाषा कैसे विकसित हुई है, इसलिए यह एक ऐसी पुस्तक पर एक नज़र रखना अच्छा है जो इसके उत्पत्ति के बाद लंबे समय तक नहीं थी, और भाषा की सबसे प्रसिद्ध पुस्तकों में से एक थी। C बदल गया है। पुराने बिट्स को जानना उपयोगी नहीं हो सकता है यदि आपको उनका उपयोग नहीं करना है, लेकिन यदि आप पुराने कोड में चलते हैं, तो यह बहुत अच्छा हो सकता है, या यदि आप आश्चर्य करते हैं कि कुछ चीजें एक तरह से या किसी अन्य तरीके से क्यों की गईं।
  • फिर, यह इतिहास के बारे में है। स्टीवन लेवी से "हैकर्स" या Hitzlick के "डीलर्स ऑफ़ लाइटनिंग" को पढ़ना मुझे तकनीकी मूल्य के बारे में कुछ भी नहीं सिखाता है, लेकिन यह विशिष्ट है। किसी भी तरह, मैं इस संबंध में कश्मीर और आर को काफी महत्व देता हूं।

यह समय की बर्बादी नहीं है, इसलिए मैं कहूंगा कि एक स्थानीय पुस्तकालय में एक प्रति ले लो और इसे अपने डेस्क पर छोड़ दो। कुछ बिंदु पर इसे उठाएं, और आप आश्चर्यचकित हो सकते हैं कि जब आप अपना सिर फिर से उठाते हैं तो अंतरिक्ष-समय के सातत्य में एक छोटा सा छेद था।


2
+1: मैं इस बात से सहमत हूं कि "यदि आप पहले से ही C को अच्छी तरह से जानते हैं तो आप बहुत कुछ नहीं सीखेंगे।", लेकिन कई (यदि अधिकांश नहीं) C प्रोग्रामर जो पहली बार इसे पढ़ते हैं, वे पाते हैं कि वे C को नहीं जानते थे जैसा कि उन्होंने सोचा था।
मटनज़

1
@ मट्टनज़: हाँ। (यह कहा जा रहा है, मुझे डर है कि सी और विशेष रूप से इस पुस्तक के लिए विशिष्ट नहीं है। हम सोचते हैं कि हम उन चीजों को बेहतर जानते हैं जो हम वास्तव में करते हैं।)
हेलेम

6

हाँ, कश्मीर एंड आर है अपरिहार्य।

आपको इसे पढ़ना होगा, उसी तरह जिस तरह से आपको हेमलेट और लॉर्ड ऑफ द रिंग्स को पढ़ना है, उसी तरह से आपको कैसाब्लांका और गॉन विद द विंड और स्टार वार्स देखने को मिला है।

यह बहुत छोटी किताब है। इसने प्रोग्रामिंग को बदल दिया, और इसने तकनीकी लेखन को बदल दिया, और एक पीढ़ी के लिए इसने शैली के शिखर का प्रतिनिधित्व किया।

इसे न पढ़कर आपको क्या लाभ होता है? छः घंटे? बारह? बीस? यदि आप प्रोग्रामिंग के बारे में गंभीर हैं, तो आप हजारों और हजारों घंटे कास्टिंग कोड खर्च करने वाले हैं। यदि आप पढ़ने के लिए परेशान नहीं कर सकते हैं, तो आप और क्या नहीं कर सकते हैं?

यह पूरी तरह से संभव है कि K & R आपकी पहली C पुस्तक न हो। और आजकल, C आपकी पहली भाषा नहीं होनी चाहिए। पहले K & R को पढ़ना महत्वपूर्ण नहीं है, लेकिन आपको इसे पढ़ना है।

और आप क्यों नहीं करना चाहेंगे? मजा आता है।


1
यह मेरी राय में एक बुरा सादृश्य है। मुझे लगता है कि लोगों को इन पुस्तकों को पढ़ना चाहिए, लेकिन फिर भी अनगिनत किताबें और फिल्में हैं जिन्हें एक को देखना चाहिए, और उन्हें देखने या न देखने से बहुत कुछ नहीं होगा। इसके अलावा, यह काफी संस्कृति-विशिष्ट है अगर आपको लगता है कि हर किसी को उन्हें पढ़ना होगा। आप यह भी गलत तरीके से मानते हैं कि K & R को न पढ़ने का समय बर्बाद होता है। आप नहीं जानते कि कैसे ओपी शेड्यूल, आप सभी को पता है कि शायद वह इस समय का उपयोग कर रहा था, इस समय 57 अन्य अप्राप्य पुस्तकों के लिए जिसका आपने उल्लेख नहीं किया था।
हेलेम

1
इसके अलावा, और जब मैंने समय पर कुछ लोगों को सी के अलावा अन्य भाषाओं के साथ शुरुआत करने की सलाह दी है, तो मैं एक प्रस्तावक हूं कि इसे जल्दी और अच्छी तरह से पढ़ाया जाना चाहिए। मूल रूप से केवल एक चीज जिसे मैं आपके उत्तर से सहमत हो सकता हूं, वह है: "यह एक बहुत छोटी पुस्तक है। इसने प्रोग्रामिंग को बदल दिया, और इसने तकनीकी लेखन को बदल दिया, और एक पीढ़ी के लिए इसने शैली के शिखर का प्रतिनिधित्व किया।" (हालांकि मैं बाद वाले हिस्से के बारे में भी निश्चित नहीं हूं जो मुझे सामान्य रूप से सामान्य लग रहा था)
हेयरम

1
अपने तर्क को ध्‍यान में रखते हुए, हर किसी को यूलर के "एलजेब्रा के एलीमेंट्स" या "ब्राह्मस्सुफुसिधांता" को पढ़ना चाहिए। आखिरकार, उन्होंने अपनी सामग्री और अपने रूप के कारण अपने क्षेत्र को बदल दिया और कुछ समय शैली के शिखर पर थे, शायद कुछ और पीढ़ियों के लिए। निश्चित रूप से उन्हें नहीं पढ़ना समय की एक बड़ी बर्बादी है।
हाइलम

यह 2019 है और मैंने K & R को नहीं पढ़ा है और आपकी सूची में कुछ भी नहीं देखा या पढ़ा नहीं है। मैं गंभीर हूँ।
रॉनी

4

हाँ।

यह बहुत अच्छा नहीं है अगर आप जानना चाहते हैं कि C के वर्तमान संस्करणों का उपयोग करके प्रोग्राम कैसे लिखें, लेकिन--

यह बहुत स्पष्ट रूप से समझाता है कि भाषा क्यों दिखती है और कुछ मूल डिजाइन निर्णयों के पीछे क्या इरादा है।

यदि आपको कभी भी किसी भी चीज़ को दस्तावेज करने के लिए कहा जाता है "सी प्रोग्रामिंग लैंग्वेज" यह कैसे करना है, इसका पूर्ण उदाहरण है। सुव्यवस्थित, स्पष्ट, संक्षिप्त और पठनीय। इसका शब्द न्यूनतम अंग्रेजी पर जारगॉन और शून्य buzzwords के साथ लिखा गया है।


2

मुझे यकीन नहीं है कि आप अन्य सी पुस्तकों की तुलना में K & R से अलग कुछ भी सीखेंगे, लेकिन मेरा मानना ​​है कि आप लोगों से यह जानने में काफी रूचि ले सकते हैं कि वे किसी विषय के बारे में कौन सी पुस्तकें पढ़ना पसंद करते हैं।

  • के एंड आर एक अच्छी तरह से लिखित और संक्षिप्त पुस्तक है, लेकिन सिफारिश के रूप में थोड़ा सा क्लिच।
  • मेरा व्यक्तिगत पसंदीदा हार्बिसन और स्टील था , जिसे के एंड आर के रूप में अच्छी तरह से लिखा गया था, लेकिन बहुत अधिक विस्तृत।
  • अगर कोई "ड्यूमीज़" श्रृंखला में एक पुस्तक पसंद करता है, तो मुझे उनके शिल्प के प्रति उनके समर्पण पर संदेह होगा, न कि इसलिए कि वे सभी पुस्तकें खराब हैं, लेकिन क्योंकि वे बहुत गहराई से विवरण में नहीं जाते हैं।
  • अगर कोई हर्बर्ट शिल्ड्ट द्वारा लिखी गई किताबों की कसम खाता है, तो उनके पास विवरणों में जाने की इच्छाशक्ति है, लेकिन मुझे उन पुस्तकों पर उनके निर्णय पर संदेह होगा।

सामान्य तौर पर, मुझे नहीं लगता कि एक गुणवत्ता वाली तकनीकी पुस्तक (और के एंड आर पढ़ने में निश्चित रूप से एक है, और बहुत लंबे समय तक नहीं) पढ़ने में व्यतीत होने वाला समय कभी भी बर्बाद नहीं होता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.