लोग प्रोग्रामिंग पुस्तकों का उपयोग क्यों करते हैं? [बन्द है]


94

मुझे लगता है कि जब कोई पूछता है कि कार्यक्रम को सीखने का सबसे अच्छा तरीका क्या है, तो लोग आमतौर पर उन्हें विभिन्न लेखकों द्वारा लिखे गए एक गुच्छा ग्रंथों के संदर्भ में प्रदान करते हैं।

हालाँकि मुझे विश्वास नहीं है कि बहुत से लोग पुस्तकों से प्रोग्राम करना सीखते हैं। मुझे लगता है कि वे आमतौर पर एक चुनौती का सामना करते हैं और फिर इसे दूर करने के लिए एक उपकरण के रूप में प्रोग्रामिंग का उपयोग करते हैं।

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

तो मेरा सवाल यह है कि क्या आमतौर पर लोगों को इन किताबों से सीखना आसान लगता है? मुझे पता है कि मैंने उनमें से कुछ को देखा है और उन्हें इसे खत्म करने के लिए प्रोत्साहित करने के लिए उन्हें बहुत 'सूखा' पाया है।


3
किताबें यहाँ प्राथमिक नहीं हैं, लेकिन बहुत फायदा होता है अगर आप किताबें पढ़ते हैं तो वे सिर्फ एक और किताबें हैं जो आप दिलचस्प हैं।
cnd 28'11

42
क्या आप सीखने के बारे में बात कर रहे हैं कि शुरुआत से कैसे प्रोग्राम करें, या अधिक उन्नत सामान? 'लर्न सी ++ इन 24 एच' और एक बहुत अच्छी किताब के बीच एक बहुत बड़ा अंतर है और अधिक उन्नत सैद्धांतिक सामग्री के बारे में - आपको ऑनलाइन नथ का काम नहीं मिलेगा।
आंद्रे परमेस

78
ऐसा लगता है कि आप एक अच्छी प्रोग्रामिंग बुक में कभी नहीं आए हैं।
Jaywalker

46
यह सवाल करने के लिए रूपक है, "स्कूल क्यों जाना है?"
जॉडरेल

8
मुझे किताबें कभी भी प्राथमिक सीखने का साधन नहीं मिलीं, फिर भी मेरे पास उनमें से एक टन है और मैं उन्हें हर समय सलाह देता हूं। यह स्पष्ट है कि आप केवल करके सीखते हैं। हालाँकि, पुस्तकें विचारों का स्रोत हैं और इन्हें आसानी से उपलब्ध संदर्भ के रूप में इस्तेमाल किया जा सकता है। हम किताबों को पढ़ने / सीखने की सलाह नहीं देते हैं। हम पुस्तकों को उनके भीतर निहित विचारों को साझा करने के लिए पढ़ते / सुझाते हैं।
जोएल एथरटन

जवाबों:


229

यहाँ बताया गया है कि मैं कैसे सीखता हूँ:

  • कोई किताब खरीदें
  • इसे पढ़ने के लिए कवर न करें, लेकिन यह जान लें कि सब कुछ कहाँ पाया जा सकता है
  • पर काम करने के लिए एक पालतू परियोजना खोजें
  • अनुभव से जानें, लेकिन संदर्भ के रूप में पुस्तक का उपयोग करें
  • जहां पुस्तक विफल हो जाती है, वहां हमेशा Google होता है

नोट: तीसरा बिंदु कभी-कभी पहले आता है।

संपादित करें : प्रश्न का उत्तर देने के लिए "क्यों?"

Google यह पता लगाने के लिए महान है कि कुछ कैसे किया जाए, लेकिन यह पता लगाने के लिए महान नहीं है कि आप क्या जानते हैं। आप कभी भी Google को "C # डेलीगेट्स" क्यों कहेंगे, अगर आपको पहले नहीं पता था कि C # में एक कॉन्सेप्ट है जिसे डेलिगेट्स कहा जाता है और यह उस समस्या को हल करने के लिए उपयोगी हो सकता है जिस पर आप काम कर रहे हैं?

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


19
महान जवाब, विशेष रूप से "क्यों" के जवाब में संपादित करें। मैंने हाल ही में ASP.NET सीखना शुरू किया, और Google का उपयोग करके ऐसा किया। मैं वर्षों से .NET 2.0 के लिए C # का उपयोग कर रहा था, इसलिए मुझे लगा कि मैं इसे प्राप्त कर सकता हूं। हर बार जब मैं एक समस्या से टकराता था, तो मैं Google को खोजकर उसका उत्तर खोजने में कामयाब हो जाता था, लेकिन जल्द ही यह स्पष्ट हो गया कि मैं केवल हिमशैल की नोक को मार रहा था जो मैं कर सकता था, और मैं पुस्तकालयों के बड़े हिस्से को पूरी तरह से याद कर रहा था। एक पुस्तक प्रौद्योगिकी का बहुत बेहतर अवलोकन प्रदान करती है और यह सब कुछ कर सकती है। "24 घंटे में एक्स सीखो" पुस्तकों से बचें और इसके बजाय "उन्नत एक्स" पुस्तकों के लिए जाएं।
गैविन कोट

44
+1 के लिए "यह पता लगाना कि आपको क्या नहीं पता है।"
कोवर

2
5 वें बिंदु तक विस्तार: जब पुस्तक विफल हो जाती है, तो विषय पर हमेशा गैर-शुरुआती लोगों को लक्षित करने सहित, विषय पर हमेशा Google और अन्य पुस्तकें होती हैं
रिचर्ड

5
+1 के लिए "सिग्नल-टू-शोर अनुपात कभी-कभी थोड़ा अधिक हो सकता है। यदि आपके पास अपने सिर में एक मोटा विचार है कि कुछ कैसे किया जाता है, तो आप आसानी से पुष्टि कर सकते हैं कि क्या आप जो लेख पढ़ रहे हैं वह सही है। लेकिन अगर आप कोई सुराग नहीं ... आप एक बड़ी गड़बड़ कर सकते हैं। "
टॉम स्क्वायर्स

9
"जहां पुस्तक विफल हो जाती है, वहां हमेशा Google होता है।" आपका मतलब है स्टैक ओवरफ्लो;)
जोरेन जू

42

किताबें अभी भी प्रासंगिक क्यों हैं इसके कुछ कारण:

  1. मुझे मानक एलसीडी स्क्रीन की तुलना में कागज पर बहुत सारे पाठ पढ़ना आसान लगता है, शायद ई-स्याही डिस्प्ले पर ई-पुस्तकें इसे बदल देंगी।
  2. पुस्तक में बड़ी तस्वीर और कुछ अच्छी प्रथाओं का वर्णन किया गया है, यह वास्तव में अच्छा है जब आपको एक त्वरित शुरुआत या एक नए दृष्टिकोण की आवश्यकता होती है।
  3. Google वास्तव में अच्छा है जब आपको विशिष्ट विषय पर उदाहरणों की आवश्यकता होती है, लेकिन बड़ी तस्वीर के लिए नहीं।

लेकिन एक किताब आपको कभी नहीं ले जाएगी, यह आपको सही दिशा में ले जाएगी।


2
बड़ी तस्वीर के लिए +1। मैं थोड़ी देर के लिए कुछ नई भाषा / वातावरण में प्रोग्रामिंग कर रहा हूं, मुझे लगता है कि किताबें बड़ी तस्वीर और चीजों को भरने के लिए बहुत उपयोगी हैं जो मैंने अपने अन्वेषण से याद किया है।
एडम मॉरिस

2
रेमंड चेन का ब्लॉग, या चैनल 9 पर गोइंग डीप श्रृंखला, असाधारण रूप से क्यों सीखने में सहायक है । एक बार जब आप " क्यों " कुछ जानते हैं तो यह है कि यह कैसे करना है, यह एक तुच्छ विवरण बन जाता है जिसे गुगुल किया जा सकता है। आमतौर पर एक पुस्तक के लेखक पृष्ठभूमि पर जाकर समझ सकते हैं कि आपके द्वारा ऑनलाइन पाए गए कोड स्निपिट्स के तार को एक साथ मिलाने के बजाय क्या हो रहा है।
इयान बॉयड

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

माना। उदाहरण के लिए, Asp.Net MVC में कूदते हुए, आप यह पता लगा सकते हैं कि यह कैसे करना है। लेकिन ऐसी बहुत सी चीजें हैं जो आपको गलत लगेंगी जो कि सूक्ष्म हैं। फिर आप अपना सिर खुजलाते हैं कि कुछ काम क्यों नहीं करता है।
एंडी

28

जब मैंने 1980 के दशक की पुस्तकों में वापस प्रोग्रामिंग सीखी, जहाँ कमोबेश जानकारी का एकमात्र स्रोत पूरी तरह से प्रोग्रामिंग भाषा सीखने के लिए उपलब्ध था। इसके अलावा आप कंप्यूटर पत्रिकाओं को खरीद सकते हैं, लेकिन उनकी सामग्री यादृच्छिक लेख थी जो दिलचस्प और सहायक हो सकती है या नहीं।

आजकल आप इंटरनेट पर अपनी जरूरत की सभी जानकारी पा सकते हैं। हालांकि मैं एक पुस्तक के समान ही एक पूर्ण ट्यूटोरियल का संबंध होगा।

आप जो सीखते हैं वह आपकी व्यक्तिगत प्राथमिकताओं या वास्तविक जरूरतों पर निर्भर हो सकता है।

एक "पूर्ण पाठ" का लाभ, यदि पुस्तक या ऑनलाइन ट्यूटोरियल, यह होगा कि यह ऐसी सामग्री को कवर करता है, जबकि वास्तव में आवश्यक नहीं है, बाद में आपकी मदद करेगा। यह सिर्फ जानना है कि कुछ संभव है और यह जानना है कि इसे कहां खोजना है। खासकर यदि आप एक जटिल वातावरण या C ++ जैसी बहुत ही जटिल भाषा के बारे में सीखते हैं। आप कभी भी अजाक्स या सुरक्षा मामलों के बारे में सुने बिना रूबी ऑन रेल्स के बारे में कई छोटे ब्लॉगों के माध्यम से पढ़ सकते हैं । जब तक आप केवल चारों ओर खेलते हैं, यह कोई मुद्दा नहीं हो सकता है। लेकिन अगर, जैसा कि मेरे साथ हुआ है, आप कुछ हफ्तों के भीतर रेल रूब के विकास पर पेशेवर रूबी में जाना चाहते हैं, तो एक पाठ के साथ काम करना जो सभी महत्वपूर्ण बिंदुओं को कवर करता है, बहुत मदद करेगा।

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

व्यक्तिगत रूप से मुझे पढ़ना पसंद है, इसलिए मुझे यह महसूस नहीं होता कि किताबें सूखी हैं। हालांकि यह निश्चित रूप से महत्वपूर्ण है, कि पुस्तक आपके ज्ञान के वास्तविक स्तर पर या उससे परे है। यदि आप पहले से ही C # के सभी बेसिक्स में महारत हासिल कर चुके हैं, तो शुरुआती किताब पढ़ने का कोई मतलब नहीं है।


7
+1 मैंने जो लिखा है उसका उल्लेख करने के लिए: कि "सर्वश्रेष्ठ अभ्यास / कार्यप्रणाली" प्रकार की किताबें "वाई कैसे करें" का उपयोग करके "पुस्तकों का उपयोग एक्स" से बहुत भिन्न होता है। और पूर्व वास्तव में मूल्यवान सामान हैं, क्योंकि यह कठिन-अर्जित सामान्य समस्या-समाधान अनुभव सिखाता है। एक बार जब आप इकाई परीक्षण, रीफैक्टरिंग, आकलन आदि सीख लेते हैं, तो आप इसे भाषाओं / डोमेन / परियोजनाओं के होस्ट के लिए लागू और अनुकूलित कर सकते हैं।
पीटर Török

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

+1 के लिए "यह ऐसी सामग्री को शामिल करता है, जो वास्तव में आवश्यक नहीं है, बाद में आपकी मदद करेगी" - अच्छे प्रोग्रामर को आकर्षित करने के लिए ज्ञान का गहरा कुआँ है। यहां तक ​​कि अगर आपको सभी विवरण याद नहीं हैं, लेकिन आप जानते हैं कि जब आपको इसकी आवश्यकता होती है, तो आप इसे टग पर सीखते हैं और सीखते हैं, यह काफी अदृश्य हो सकता है!
जेरेड अपडेटेड

22

एक पुस्तक (या एक पुस्तक की तरह संरचित वेब दस्तावेज़) अभी भी अधिकांश भाषाओं को सीखने का मेरा पसंदीदा तरीका है।

यदि आप सिर्फ एक भाषा में गोता लगाते हैं और अपने लिए सामान ढूंढते हैं, तो आपको महत्वपूर्ण पहलुओं से चूकने की संभावना है, जो कि एक अच्छी किताब आपको सही समय पर प्रदान करेगी।

उदाहरण के लिए, मेरे कुछ सहयोगियों ने बिना पुस्तक के गोताखोरी करके जावा सीखा। वे कुछ वर्षों से जावा में प्रोग्रामिंग कर रहे थे, जब मुझे पता चला कि वे बाइट के सरणियों में हेरफेर कर रहे थे [] सरणी को एक स्ट्रिंग में परिवर्तित करके, .substring () का उपयोग करके, फिर स्ट्रिंग को एक सरणी में परिवर्तित करना। System.ArrayCopy () जावा इन ए नटशेल के पेज 155 पर पेश किया गया है

मुझे आशा है कि आप यह पहचानेंगे कि शिक्षक के साथ सीखना आसान है, अकेले की तुलना में। एक अच्छी किताब एक अच्छे शिक्षक के लिए एक सस्ता विकल्प है। यह एक सावधानीपूर्वक नियोजित क्रम में अवधारणाओं को पेश करेगा, इसलिए आप पूरी तरह से समझ बना सकते हैं - केवल प्राप्त करने के लिए पर्याप्त नहीं है।


2
कुछ सीखने और इसे अच्छी तरह से करने के लिए सीखने के बीच अंतर को इंगित करने के लिए +1।
इडबरी

एक अच्छी पुस्तक क्षेत्र को जल्दी से कवर करने का एक शानदार तरीका है। किसी ने पहले ही आपके लिए शोध किया है। एक अच्छी किताब ढूंढना मुश्किल हो सकता है। एक समय था जब मेरे पास उस विषय पर एक महान पुस्तक प्राप्त करने का 50/50 मौका था, जिसमें मुझे दिलचस्पी थी (वास्तव में अच्छा खरीदार)। अब मुझे लगता है कि बुक स्टोर में एक अच्छी किताब खोजने का मौका 10% से कम है। हालाँकि, नेट पर उपलब्ध संसाधनों जैसी कई अच्छी पुस्तक हैं। सही संसाधन चुनने से आपके सीखने में तेजी आ सकती है।
BillThor

1
मुझे यकीन नहीं है कि जब वह समय था। मैंने हाल ही में अपनी पुरानी सीएस पुस्तकों पर एक नज़र डाली। मानक में व्यापक सुधार हुआ है। उदाहरण के लिए, मैंने सालों पहले 'फंक्शनल प्रोग्रामिंग विद मिरांडा' का इस्तेमाल किया था। मैंने हाल ही में 'रियल वर्ल्ड हास्केल' का इस्तेमाल किया। हस्केल के रूप में समान अवधारणाओं और प्रतिमानों का उपयोग करने के बावजूद, पुरानी किताब आज रहस्यमय है।
स्लिम

21

मुझे लगता है कि आप कुछ करने के लिए हो सकता है। मेरे लिए कम से कम, मेरे अधिकांश कौशल एक प्रोग्राम को "एक्स" करने की आवश्यकता / चाहने से आए हैं।

हो सकता है कि इस तरह से सीखने वाले लोग मदद नहीं मांग रहे हों; वे इसे पूरा करने में बहुत व्यस्त हैं (खराब, लेकिन रास्ते में सीख रहे हैं)। जो लोग प्रोग्रामर बनना चाहते हैं (जैसा कि पहले समूह के लिए अपील की गई है) प्रोग्रामर होने के बारे में बहुत सारे प्रश्न पूछते हैं, या प्रोग्राम कैसे करें, हालांकि उन्हें जरूरी हल करने की समस्या नहीं है, और ये नहीं हैं सीधे जवाब के साथ सवाल।

और इसलिए हम किताबों को पंट करते हैं। "ओह, हाँ, 'डाइव इन पाइथन' की एक प्रति उठाओ।" "क्या आपने सीखा है?" "नहीं" "उम ..." "मैं व्यस्त हूँ, लेकिन मैं मदद करूँगा अगर तुम फंस गए" "उह ... ठीक है, मुझे लगता है"

दूसरी ओर, मैं सीखते समय अच्छी पठन सामग्री से बिल्ली को महत्व देता हूं, ताकि मैं देख सकूं कि मैं जिस समस्या को हल करने की कोशिश कर रहा हूं, वह एक अधिक कुशल लेखक द्वारा हल की गई है, या शायद बस ताकि मैं कुछ सीख सकूं "शुरुआत" तकनीक मैं जिस तरह से साथ नहीं ले सकता है।

TLDR : किताबें अच्छी हैं, करना सीखना अच्छा है, किताबें करना सीखना है ???


1
+1: मुझे लगता है कि आपने इसे रद्द कर दिया है। मेरे द्वारा लिखी गई सबसे मूल्यवान पुस्तकें जो मैं उस समय लिख रहा था, के लिए विशिष्ट थी।
जस्टिन शील्ड

41
एक "स्व-सिखाया" प्रोग्रामर बनने से बचने के लिए सावधान रहें जो सोचता है कि यह सब जानते हैं क्योंकि उन्होंने एक साधारण समस्या के माध्यम से काम किया, बुरी तरह से, और खुद को किताबें पढ़ने के लिए "बहुत अच्छा" महसूस करते हैं।
जोरिस टिम्मरमन्स

2
ध्यान दें कि मैं पढ़ने के खिलाफ नहीं हूं, मुझे लगता है कि डिजिटल मीडिया आमतौर पर बहुत अधिक वर्तमान और आकर्षक है।
एलेक्स होप ओ'कॉनर

2
@ डिजिटल मीडिया के बारे में। यह वास्तव में मीडिया द्वारा संबोधित किए जा रहे विषय पर निर्भर करता है। अगर मीडिया ऐसी चीजों को संबोधित कर रहा है जैसे भाषा में x कैसे करना है, या z में कोड करने का सबसे कुशल तरीका है, तो मैं आपके कथन से सहमत हूं। हालांकि, अन्य विषयों (आमतौर पर अधिक उन्नत, सैद्धांतिक विषय), जैसे कि एनपी, पी, एल्गोरिथ्म विश्लेषण, आदि, आईएमएचओ को आमतौर पर एक पाठ्य पुस्तक द्वारा सर्वोत्तम रूप से संबोधित किया जाता है। नूथ की प्रोग्रामिंग की कला को लें । यह काफी पुराना पाठ है, लेकिन फिर भी प्रोग्रामिंग पर सबसे महत्वपूर्ण पुस्तकों में से एक माना जाता है।
क्लेडॉक्स

16
मुझे लगता है कि यह पुष्टि पूर्वाग्रह का मामला है। @ एलेक्स एक निश्चित उत्तर की तलाश में है। मैं यह नहीं कह रहा हूं कि यह उत्तर खराब है, लेकिन यह निश्चित रूप से कल्पना के किसी भी खंड द्वारा प्रदान किया गया सबसे अच्छा जवाब नहीं है।
zzzzBov

15

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

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

हालाँकि, मैं अपने आप को अब अधिक से अधिक "googling" पाता हूं और जब मैं किसी समस्या को हल करने की कोशिश करता हूं, तो मैं उसकी नकल करता हूं और यह सुनिश्चित करने में अच्छा समय बिताता हूं कि मैं जो नकल कर रहा हूं (या उससे प्रेरित होकर) वह कुछ भरोसेमंद है कि मैं मेरे कोड में डाल सकते हैं सिर्फ इसलिए कि मैं वेब पर एक समाधान खोजता हूं, यह जरूरी नहीं कि सबसे अच्छा हो।

जबकि मैं, इतने सारे अन्य प्रोग्रामर की तरह, अब बस जवाबों को गूगल करता हूं, फिर भी मैं अपने आप को ज्ञात लेखकों की किताबें उठा रहा हूं। मुझे लगता है कि सामग्री मेरे पास किसी ऐसे व्यक्ति द्वारा लाई गई है जो इसे समझाने (इसे सिखाने) में अच्छा है, और यह मुझे मेरे Google परिणामों से सभी कबाड़ को फ़िल्टर करने से बचाता है।


14

मुझे लगता है कि आपका सवाल "HTML पृष्ठों के बजाय एक मुद्रित पुस्तक की तरह पुरानी तकनीक का उपयोग क्यों नहीं किया गया" था, लेकिन "क्यों एक या कुछ लेखकों द्वारा लिखित प्रोग्रामिंग के बारे में लंबे पाठ पढ़ें"।

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

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

इसे थोड़ा उत्तेजक करने के लिए: मैं एक वास्तुकार पर भरोसा नहीं करूंगा कि एक पुल का निर्माण करना है जिसे मुझे हर दिन पार करना होगा अगर उसने मुझे बताया कि उसने पुल निर्माण या संरचनात्मक विश्लेषण के बारे में कभी किताब नहीं पढ़ी है लेकिन बस इसे इधर-उधर करके और Google का उपयोग करके सीखा ...


मेरे सवाल की व्याख्या ईमानदार होने के रूप में की जा सकती है, लेकिन बाद में मेरी आम सहमति थी।
एलेक्स होप ओ'कॉनर

10

यदि आप एक सी प्रोग्रामर हैं, तो आप किताब या शिक्षक के बिना पायथन सीखने की उम्मीद कैसे करते हैं?

यदि आप मूल सिंटैक्स सीखते हैं और सही में गोता लगाते हैं, तो आप पायथन में सी कोड लिखना समाप्त कर देंगे , और इस गलत निष्कर्ष पर पहुंचेंगे कि पायथन सिर्फ सी के रूप में क्रियात्मक और दर्दनाक है।


यह एक अतिशयोक्ति है। यदि आपने पायथन की प्रोग्रामिंग शुरू की है तो आप समस्याओं के उत्तर दे सकते हैं और पायथन व्यंजनों जैसी चीजों को पा सकते हैं जो विशिष्ट समस्याओं के लिए पायथोनिक समाधानों का वर्णन करते हैं।
इडबरी जूल 28'11

6
@pydave: यदि यह एक अतिशयोक्ति थे तो नहीं होगा इतना सी कोड लिखा-इन-अजगर पर एसओ (उदाहरण)
BlueRaja - डैनी Pflughoeft

4
मैंने आपका उदाहरण प्रश्न पढ़ा, आपका उत्तर पढ़ा, और मुझे समझ में आया कि आपका क्या मतलब है: मूल वाक्यविन्यास सीखना भाषा सीखने जैसा नहीं है। (मैंने भाषा के निर्माण को नहीं सीखने पर भी विचार नहीं किया।) यदि आप पायथन में सी कोड लिखने के लिए सिर्फ पर्याप्त पायथन सीखते हैं, तो आपने अभी भी पायथन में प्रोग्राम करना नहीं सीखा है।
इडबरी जूल 28'11

यह एक गंभीर समस्या है जो अधिक ध्यान देने योग्य है। सभी प्रोग्रामिंग लैंग्वेज ट्यूरिंग पूर्ण हैं, जिसका अर्थ है कि आप किसी भी समस्या का हल C-like Python कोड, या Java-like Ruby कोड लिखकर कर सकते हैं। वहाँ कोई अवरोधन नहीं है जो आपको उस भाषा के ज़ेगेटिस्ट के अनुरूप करने के लिए मजबूर करेगा जिसे आप प्रोग्रामिंग कर रहे हैं। इससे भी बदतर, आप अपनी कोडिंग अक्षमता के दर्द को महसूस भी नहीं कर सकते हैं क्योंकि यह लगभग उतना ही दर्दनाक होगा जितना कि मूल C या देशी में था। जावा, एक दर्द स्तर जिसे आप सामान्य रूप से स्वीकार करते आए हैं।
वेज

अधिक सहमत नहीं हो सकता - मैं PHP में एक सी प्रोग्रामर हूं जब मैं कोई भी लिखता हूं: - |
वॉरेन

9

Google आमतौर पर कोड या ओपन-सोर्स लाइब्रेरी के छोटे स्निपेट खोजने के लिए अच्छा है। कुछ पुस्तकालयों / कार्यक्रमों के लिए दस्तावेज़ीकरण सर्वश्रेष्ठ पर अविश्वसनीय है (यदि यह मौजूद है, तो यह आपको केवल सरल या सामान्य विवरण दिखाता है)

मेरे पास कई प्रोग्रामिंग किताबें नहीं हैं, लेकिन मैं आपको अभी बता सकता हूं कि मुझे ओपनजीएल के बारे में एक किताब मिली है, और इसमें 3 डी इंजन के लिए अधिकांश कोड मिला है, जिसे आप बस कॉपी कर सकते हैं, लेकिन आप कर सकते हैं सिद्धांत को भी पढ़ें - आपको बस कुछ पन्ने पलटने होंगे और कोड का स्पष्टीकरण ठीक वहीं पर होगा, पढ़ने का इंतजार करना होगा। आजकल, आप शायद नेट पर कुछ ओपन-सोर्स 3 डी इंजन पा सकते हैं, लेकिन अगर आपको कोड को काफी हद तक बदलने की आवश्यकता है, तो आप शायद कुछ परेशानी में हैं - आमतौर पर कोई सहायता फोरम मौजूद नहीं है और एसओ पर लोगों को पता नहीं चलेगा। यदि यह बहुत विशिष्ट है तो अपने प्रश्न का उत्तर दें। जब यह वास्तव में विशेष सामग्री की बात आती है, पूरी दुनिया में केवल कुछ दर्जन लोग ही इस सवाल का जवाब देने में सक्षम हो पाते हैं कि बिना किसी खर्च के, बिना किसी उत्तर के साथ आने की स्थिति में पर्याप्त समय का पता लगा सकें। यदि आप पूछते हैं कि C # में लिंक की गई सूची को कैसे लागू किया जाए, तो आपको पहले 10 मिनट में SO पर 5+ उत्तर मिलने वाले हैं, लेकिन यदि आप पूछते हैं कि तीन में एक जटिल छायांकन एल्गोरिदम को लागू करने का सबसे अच्छा तरीका क्या है। , आपका प्रश्न सामने वाले पृष्ठ को चट्टान की तरह डुबोने वाला है।

उसके शीर्ष पर, पुस्तकें लगभग उस दृष्टिकोण से विशेष रूप से लिखी जाती हैं, जो पाठक इसमें शामिल सिद्धांत के बारे में सीखना चाहता है, जबकि Google सिर्फ रैंडम जंक - कोड स्निपेट तैयार करता है, उस विषय के बारे में चर्चाओं को संग्रहीत करता है जिसमें कोई नहीं जानता कि वे किस बारे में बात कर रहे हैं। , आदि इंटरनेट पर स्रोत बहुत बेहतर हो गए हैं: एसओ, मोज देव नेटवर्क, माइक्रोसॉफ्ट की वेब साइट, ब्लॉग्स, आदि, लेकिन ऐतिहासिक रूप से, किताबें बहुत बेहतर रही हैं, इंटरनेट स्रोतों के साथ बस अब पकड़ रही हैं।


1
+1 उस समय की ओर इशारा करने के लिए जब आपको "सीखने के लिए यादृच्छिक तरीके" से यादृच्छिक रद्दी को छाँटना होगा
रे

1
+1 के लिए 'उस विषय के बारे में संग्रहीत चर्चा जिसमें कोई नहीं जानता कि वे किस बारे में बात कर रहे हैं, आदि।' - आरओएफएल
5arx

7

सर्वश्रेष्ठ पुस्तकों में लिखने की गुणवत्ता ऐसी है कि आपके द्वारा शुरू करने से पहले भी बहुत सारे गैर-स्पष्ट मुद्दे रखे गए हैं। बहुत सारे अनुभव वाला एक लेखक आपको चीजों के बारे में बताना चाहेगा: अप्रत्याशित दुष्प्रभाव, दीर्घकालिक नतीजे, अनिर्दिष्ट सुविधाएँ, विशिष्ट उपयोग परिदृश्य ...

मूल रूप से, आपको एक लेखक का लाभ मिल रहा है जिसमें आपको समस्या के माध्यम से चलने और वास्तव में दिलचस्प बिट्स को इंगित करने का अनुभव है।

कभी-कभी आप इसे ऑनलाइन संदर्भों में भी पा सकते हैं, लेकिन बहुत सारी सूचनाओं को ऑनलाइन दर्ज करने में कम अवरोध के कारण यह बहुत ही बुनियादी है, विवरणों पर गायब है, या सिर्फ एकमुश्त गलत है। यह पुस्तकों के साथ भी हो सकता है, इसलिए सुनिश्चित करें कि आप केवल उन पुस्तकों पर विश्वास करते हैं जो लगातार अच्छी समीक्षा के साथ क्लासिक्स हैं। अन्य पुस्तकें भी उपयोगी हो सकती हैं, लेकिन केवल एक स्रोत के रूप में, आपको अभी भी क्रॉस-रेफ़रिंग या स्वयं की कोशिश करके जानकारी को सत्यापित करना होगा।


1
+1000 of सिर्फ एकमुश्त गलत ’, mers सर्वश्रेष्ठ प्रोग्रामर’ द्वारा लिखित ऑनलाइन उदाहरण के एक टन कोड है जो उपयोगकर्ता को संकलित नहीं करता है या पता नहीं है कि वे किस बारे में बात कर रहे हैं। साथ ही, एक अच्छी पुस्तक एक शैक्षणिक मॉडल के साथ लिखी जाएगी जो परिचय देती है कि सामग्री को एक सुसंगत और पठनीय तरीके से पुष्ट करती है।
जका

6

पुस्तकें संरचित प्रारूप में बहुत अधिक जानकारी के साथ आती हैं। Google को विशेष रूप से संरचित और आपके द्वारा क्या करने की आवश्यकता के संदर्भ में व्यवस्थित करने के लिए मुश्किल नहीं है, बड़ी मात्रा में जानकारी के साथ आता है।

मैं वास्तव में अब फिजिकल पेपर की किताबें नहीं पढ़ता हूं - मेरे बगल में एक इलेक्ट्रॉनिक रीडर है और मेरे लैपटॉप पर किंडल सॉफ्टवेयर है जो मुझे उस जानकारी तक पहुंच देता है जिसकी मुझे तलाश है।

जहां Google सहायक है यदि आप कैसे प्रोग्राम करने के लिए संरचित अवलोकन की तलाश में नहीं हैं, लेकिन किसी विशिष्ट कार्य को कैसे करें, इस पर विवरण की आवश्यकता है। किसी के लगभग हमेशा उस कार्य के लिए पहले लिखा कोड, या, कम से कम, ऐसा कुछ।

मुझे लगता है कि कार्यक्रम को सीखने और किसी विशिष्ट कार्य को सीखने के बीच अंतर है। मैं किसी ऐसे व्यक्ति से आने वाले कोड की गुणवत्ता पर सवाल उठाऊंगा, जो केवल कभी-कभी बिट्स और टुकड़ों को विशिष्ट कार्यों से सीखते हैं यदि वे वास्तव में कभी भी कार्यक्रम के बारे में एक सभ्य अवलोकन प्राप्त नहीं करते हैं। यह भाषा विशिष्ट नहीं है, यह अधिक वैचारिक है।


4

यदि आप किसी विषय में गहराई से जाना चाहते हैं तो किताबें उपयोगी हैं। ज़रूर मैंने कुछ ट्यूटोरियल करने और कुछ (पालतू) प्रोजेक्ट लिखने से C # सीखा। लेकिन गहराई में C # देखने के लिए अभी भी उपयोगी है जो नीचे चला जाता है और कुछ नई चीजें सीखने के लिए।

इसके अलावा, मैं एक प्रोग्रामिंग बुक ले सकता हूं और इसे अपने स्नान में या बाहर धूप में पढ़ सकता हूं । मैं अपने डेस्कटॉप पीसी के साथ ऐसा नहीं कर सकता।


4

क्योंकि यह अन्य प्रोग्रामर से सीखने का एक सुविधाजनक तरीका है।

पुस्तकें एक पूरक हैं। आप केवल इतनी तेजी से अपने दम पर काम कर सकते हैं। बल्कि एक बेहतर प्रोग्रामर के साथ एक परियोजना पर नहीं होगा जो आपको सिर्फ किताब पढ़ने की तुलना में कुछ सिखाने के लिए तैयार है?

मैं उन्हें "संदर्भ के रूप में आपको प्रोग्रामिंग के बारे में जानने की आवश्यकता होगी" के बजाय एक संदर्भ के रूप में अधिक उपयोग करने की प्रवृत्ति है।


3

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


3

संक्षेप में, मुझे लगता है कि किताबें उच्च स्तर पर अधिक उपयोगी होती हैं। वे आपको डिजाइन मार्गदर्शन दे सकते हैं और उन्हें हल करने के बजाय समस्याओं को रोकने में आपकी मदद कर सकते हैं।


पुस्तकों में निश्चित रूप से उनके नुकसान हैं। प्रोग्रामिंग पायथन की मेरी प्रति पायथन 2.0 को कवर करती है, लेकिन मेरे द्वारा उपयोग किए जाने वाले रनटाइम 2.6 है।

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

अन्य पुस्तकें आपके ज्ञान को परिष्कृत करने के लिए अच्छी हैं। मुझे लगता है कि स्कॉट मर्फी की प्रभावी C ++ पुस्तक एक अच्छा उदाहरण है। हालांकि यह पुस्तक C ++ सीखने के लिए वास्तव में बहुत अच्छी नहीं है, यह आपको एल्गोरिथम / इंटरफ़ेस / इनहेरिटेंस डिज़ाइन में समस्याओं को देखने में मदद करती है जो आपने (अभी तक) सामना नहीं किया है या चारों ओर काम किया है। एक सरल समाधान खोजना आसान हो सकता है (जो कि बाद में मेरी अन्य समस्याओं का कारण बनता है), लेकिन भाषा को बेहतर ढंग से समझकर आप पहली बार इन समस्याओं से बचने के लिए अपने सॉफ़्टवेयर को डिज़ाइन कर सकते हैं।

बेशक, यह तथ्य नहीं है कि किताबें कागज पर मुद्रित होती हैं जो उन्हें सार्थक बनाती हैं। देखभाल और प्रयास जो उन्हें बनाने में जाते हैं और कठोर शिक्षा देने की इच्छा होती है, जो पुस्तकों को महत्व देते हैं। अक्सर साइड-इफ़ेक्ट के रूप में आपको उपयोगी ऑनलाइन संसाधन जैसे C ++ FAQ लाइट या ebooks जैसे डाइव इन पाइथन । ऑनलाइन-केवल ट्यूटोरियल भी हैं जो पूरी तरह से और उपयोगी शिक्षण उपकरण हैं (जैसे कुछ प्लेटफार्मों / भाषाओं / पुस्तकालयों के लिए प्रलेखन)।

वेब पर स्निपेट्स आपके प्रश्न का उत्तर देने का एक अच्छा तरीका है, लेकिन वे शायद ही कभी आपको बताते हैं कि आपको क्या पूछना चाहिए।


3

मैं एक प्रोग्रामर बनना चाहता हूं, इसलिए मैं प्रोग्रामिंग पुस्तकों का उपयोग कर रहा हूं। पुस्तकें मुझे प्रोग्रामिंग में पेशेवर रूप से कुशल बनने की अनुमति देंगी।


3

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

वैसे भी, मुझे लगता है कि प्रोग्रामिंग किताबों से सीखने वाली सबसे अच्छी बात कोर लैंग्वेज है। उदाहरण के लिए, मेरी पहली वास्तविक भाषा सी थी। मैंने इसे ओएस लिखकर सीखा था (मैं इसकी अनुशंसा नहीं करता)। नतीजतन, सी का मेरा ज्ञान दो या तीन साल की प्रोग्रामिंग के बाद भी अपंग था। मुझे भाषा का अच्छा मूल ज्ञान कभी नहीं मिला। मुझे नहीं पता था कि मैं गंदी कोड की इन 15 पंक्तियों को कोड की एक साफ दो पंक्तियों में बदल सकता हूं। इसलिए मैं समस्याओं को हल कर सकता था, लेकिन मैं सी का उपयोग पूरी तरह से नहीं कर रहा था।

फिर एक बिंदु पर मैंने C ++ सीखने का फैसला किया ... (C सीखने के लिए शुरुआत के लगभग 2 साल बाद)। इसलिए मैंने अपने आस-पास एकमात्र C ++ पुस्तक पढ़ी, C ++ For Dummies Book। मैंने इसके बारे में 3/4 वीं के माध्यम से सीधे पढ़ा, उस समय के दौरान बहुत कम "कर" कर रहा था .. और इसके परिणामस्वरूप जब मैंने अपने पहले प्रोजेक्ट में छलांग लगाई, तो उस गड़बड़ कोड की 15 लाइनों के साथ सहज होने के बजाय, मुझे पता था कि वहाँ था इसे करने का एक आसान तरीका (भले ही मुझे इसे देखना पड़ा हो)।

जब मैंने C # / ASP.NET सीखा तो मैंने वही किया। मैंने लगभग कुछ नहीं किया, लेकिन जब तक मैं पुस्तक के लगभग 3/4 के साथ नहीं किया गया, तब तक पढ़ा। और जो मैंने नहीं सीखा, मैंने दिलचस्प सी # सवालों के लिए स्टैक ओवरफ्लो को ब्राउज किया। जब मैंने अपनी पहली परियोजना में कदम रखा, तो मैं कहूंगा कि मेरा अधिकांश कोड अपेक्षाकृत साफ था और तब से केवल एक बार "हगली" किया जाना था।

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


2

यह कम है कि आप क्या पढ़ते हैं, लेकिन कितना। जब मैं किसी प्रोजेक्ट पर काम कर रहा होता हूं, तो मुझे प्रोग्रामिंग की कुछ किताबें मिलती हैं। हर अब और फिर से (अधिक बार आप सोच सकते हैं) आप एक ऐसी तकनीक के बारे में पढ़ेंगे जिसे आपके वर्तमान प्रोजेक्ट पर लागू किया जा सकता है।

एक बार जब आप वास्तविक विश्व समाधान में लागू हो जाते हैं, तो जानकारी चिपक जाएगी।


2
वास्तव में मुझे लगता है कि एसई जैसी वेबसाइटों पर सवालों के जवाब देते समय। मुझे अक्सर लगता है कि टिप्पणियां मुझे एक समस्या को हल करने के लिए प्रासंगिक जानकारी तक ले जाती हैं, जिस पर मैं या तो काम कर रहा हूं या जानता हूं कि जल्द ही काम हो जाएगा।
ली हेस

2

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

पुस्तकें अक्सर "क्यों" को कवर करती हैं, यह समाधान समस्या को हल करता है, जबकि ऑनलाइन डॉक्स आमतौर पर कॉपी पेस्ट होते हैं।

आप अक्सर अपने सभी संदर्भों के लिंक भी खो सकते हैं, वे स्थानांतरित कर सकते हैं, या नीचे जा सकते हैं। मैं अपनी पुस्तकों की एक निवेश (जो वे कर रहे हैं) की रक्षा और देखभाल करता हूं।


2

आप किताबें पढ़े बिना समस्याओं का समाधान कर सकते हैं, लेकिन फिर क्या आप वास्तव में जान पाएंगे कि आपके कार्यक्रम के पीछे क्या समस्या है?

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


1

जब मैं C ++ सीख रहा था तब मुझे सबसे ज्यादा साहित्य तब तक बेकार लगा जब तक कि मेरे सिर में कुछ क्लिक नहीं हुआ। आज तक मुझे यकीन नहीं है कि यह क्या था, लेकिन सब कुछ समझ में आने लगा। पुस्तकों और वेबसाइटों ने तब कहीं अधिक समझ में आया। C ++ में प्रोग्राम करने के तरीके के बारे में जानने के लिए मुझे 2 किताबें लगीं और न ही सही C ++ किताबें थीं (वे विजुअल C ++ किताबें थीं जो मुख्य रूप से MFC पर केंद्रित थीं)।

यदि आपको सही पुस्तक मिलती है तो यह वास्तव में उपयोगी हो सकती है। मेरा एक दोस्त ऊनी में कुछ डाइटेल किताबें पढ़ रहा था और मैंने पाया कि वे बहुत अच्छी तरह से लिखे हुए हैं। मुझे कभी भी "... डमीज़ के लिए" किताबें नहीं मिलीं जो उपयोगी हैं क्योंकि वे चीजों को मेरे लिए सही तरीके से नहीं समझाते हैं। सबसे अच्छी सलाह एक किताबों की दुकान में जाना है और पुस्तक का एक बहुत कुछ प्राप्त करना है ताकि आप बहुत महंगी किताबें होने के लिए पैसे के भार को बर्बाद न करें।

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

कभी-कभी कई विचारों की समझ होने से आप उन कनेक्शनों को बना सकते हैं जो अन्यथा अधिक अस्पष्ट हैं।


1

मैं वेब की तरह दोनों पुस्तकों और "बस समय में" स्रोतों से सीखना (प्रोग्रामिंग करना) करता हूं। दोनों अच्छे हो सकते हैं लेकिन कुल मिलाकर मैं किताबों से सीखना पसंद करता हूँ, यहाँ क्यों है:

जब आप केवल वही सीखते हैं जो आपको किसी प्रोजेक्ट का हिस्सा खत्म करने के लिए तुरंत जानने की आवश्यकता होती है, तो कभी-कभी आपको बड़ी तस्वीर याद आती है। सर्वोत्तम पुस्तकें केवल संदर्भ नहीं हैं बल्कि एक अर्थ में एक प्रशिक्षुता के करीब कुछ हासिल करती हैं, एक प्रौद्योगिकी का एक अच्छा गोल अवलोकन और सामान्य समस्याओं के सर्वोत्तम समाधान के बारे में बहुत सी अनुभवी सलाह प्रदान करके।

केवल-इन-टाइम लर्निंग बहुत ही आसानी से संतोषजनक की समस्या से ग्रस्त हो सकता है, जब आप एक ऐसी समस्या की पहचान करते हैं जिसे आप हल करना चाहते हैं जो आपको पहले समाधान के लिए कूदती है जो काम करने लगती है, तो आप इसे लागू करने के तरीके के बारे में जानने के लिए इंटरव्यू तक भागते हैं। । हालांकि, अक्सर यह आपको परेशानी में डाल सकता है, यदि आप अपनी समस्या के बारे में एक अनुभवी प्रोग्रामर के साथ बातचीत करने में सक्षम थे, तो वे आपको "यहां एक्स कैसे करें" वे आपको इसके बजाय बताएंगे "नहीं" एक्स, इसके बजाय वाई करें ”। और यह ज्ञान का वह प्रकार है जो आप सर्वश्रेष्ठ पुस्तकों से प्राप्त करते हैं। दरअसल, कुछ किताबें पूरी तरह से इस तरह की होती हैं, जैसे कि जावास्क्रिप्ट: द गुड पार्ट्स

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

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


1

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


0

नए प्रोग्रामर्स के लिए यह समझना बहुत मुश्किल है कि वास्तव में प्रोग्रामिंग क्या है, यह कितना गहरा है।

कोई भी कंप्यूटर को करने के लिए कहने के लिए एक कार्यक्रम लिख सकता है - बहुत कम सीखने के साथ कुछ भी बस के बारे में, यह मुश्किल नहीं है! जो कठिन है वह एक ऐसा कार्यक्रम बना रहा है जो सहायक है और टीम के अन्य सदस्यों द्वारा इसे जल्दी और आसानी से समझा जा सकता है, इस हिस्से में कई साल, दर्जनों साल लगते हैं।

एक टीम के एक प्रभावी हिस्से के रूप में काम करने के लिए सीखने के अलावा एक वक्र है।

तो कैसे इन "रियल" प्रोग्रामिंग समस्याओं को हल करने में किताबें मदद करती हैं जो वेब पर संदर्भ नहीं देख रही हैं?

मेरी पसंदीदा पुस्तकों में से दो "डिज़ाइन पैटर्न" और "रिफैक्टिंग" हैं।

Refactoring एक बेहतरीन किताब है जो आपको बताती है कि बुरे कोड को कैसे पहचाना जाए। यदि आपने कोडिंग संदर्भों को देखकर सीखा है, तो यह पुस्तक (कई रिफैक्टिंग पुस्तकों में से एक है) महत्वपूर्ण है।

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

मुझे साक्षात्कार में इन दो पुस्तकों का वर्णन करने के लिए कहा गया है और वे जो पूरा करने की कोशिश कर रहे हैं, मुझे लगता है कि यह एक बहुत ही मान्य साक्षात्कार प्रश्न है ... मैं एक प्रोग्रामर पर ध्यान देना चाहता हूं जो इन दोनों के बारे में नहीं जानते थे किताबें जब तक वह एक बेहद जूनियर स्थिति के लिए आवेदन कर रहा था।


0

मैंने सीधे किताबों से प्रोग्राम करना सीखा। लगभग 20 साल पहले Google और नेट कभी लोकप्रिय हो गए थे। मुझे लगता है कि वे महान संसाधन हैं। हालांकि अधिकांश आधुनिक दिन की किताबें निर्माताओं द्वारा सिर्फ तकनीकी लेख उद्धृत करती हैं। इसलिए मैं अब मानता हूं कि ऑनलाइन सीखना बेहतर है। चेतावनी के एक शब्द के साथ इस प्रकार है:

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

मुझे अपना सारा जीवन कॉलेज में रहने में समस्या थी, लेकिन मैं अब अपने तीसरे वर्ष में जा रहा हूं। अपने पहले वर्ष में मैं चौथे वर्ष में लोगों से मिला, और मास्टर्स, और एआई, एचसीआई, कोडांतरक और संकलक विकास ect के सिद्धांतों के बारे में उत्पादक बातचीत करने में सक्षम था। लेकिन फिर भी इस सारे ज्ञान के साथ मैं एक उचित कार्यक्रम नहीं बना सका। मुझे क्या याद आ रहा था ... एक चीज जो आप किसी भी किताब या ऑनलाइन से नहीं प्राप्त कर सकते।

संरचना। पहले साल में, मैंने तकनीकी प्रकृति के बारे में कुछ नहीं सीखा (पहले से ही बहुत कुछ जानता था और एक दिन के अध्ययन के बिना इसके माध्यम से टूट गया, गणित और डिजाइन निष्पादित किया क्योंकि ये मेरे लिए बहुत नए थे), लेकिन मैंने संरचना और टीमवर्क सीखा। अपनी पहली गर्मियों की छुट्टियों में मैं अपने पहले असली काम को पूरा करने के लिए पहले से कहीं ज्यादा करीब आ गया।

अपने दूसरे वर्ष में, मैंने नए तकनीकी सामानों का एक अच्छा सौदा सीखा (अभी भी जो मैं जानता था कि उसके अनुरूप मूल बातें, लेकिन मैं उस सिद्धांत को रख रहा था जिसे मैं वास्तविक अभ्यास के लिए जानता था)। इसने फिर से संरचना के महत्व पर जोर दिया। मैंने अपना पहला वास्तविक प्रोजेक्ट पूरा नहीं किया है। मैं अब खुद को एक प्रोग्रामर मानता हूं।

मैं प्रोग्रामिंग सीखने के लिए किताबें पढ़ने के लिए आवश्यक नहीं हूं। लेकिन इसकी एक मदद है। हालाँकि, मैं यह प्रमाणित करता हूं कि कोई भी किताब या वेबसाइट आपको 2 साल के कॉलेज से नहीं सिखाती या सिखा सकती है। यदि आप कभी भी कॉलेज जाने, निष्पक्ष खेलने के बिना परियोजनाओं को पूरा करने में कामयाब रहे हैं, लेकिन यह एक ऐसा अनुभव है जिसकी मैं उम्र की कोई परवाह नहीं करता हूं।

किताबें अच्छी हैं, इंटरनेट बेहतर है, गूगल और आप ट्यूब फैब हैं, लेकिन मेरे ऑप्शन में कुछ भी अच्छा नहीं है। और मुझे संदेह है कि किसी भी राशि के गुग्लिंग और यूट्यूबिंग कभी भी होंगे, और मैं पहले हाथ से जानता हूं कि कोई भी राशि कभी भी नहीं होगी।


जहां यह ऊपर कहता है "मैंने अपनी पहली वास्तविक परियोजना पूरी नहीं की है। अब मैं खुद को एक प्रोग्रामर मानता हूं"। इसे पढ़ना चाहिए "मैंने अब अपनी पहली वास्तविक परियोजना पूरी कर ली है। अब मैं खुद को एक प्रोग्रामर मानता हूं"। गलत वर्तनी के बारे में क्षमा करें।
जैक स्प्रैट

0

मेरे पास कोई सुराग नहीं है। मैं प्रोग्रामिंग बुक्स के खिलाफ हूं। ज्यादातर मामलों में, आपको अभी भी अतिरिक्त जानकारी खोजने के लिए इंटरनेट पर शोध करना होगा।

क्या आप एक प्रोग्रामिंग भाषा सीखना चाहते हैं? इसके लिए गूगल। मुझे jQuery से नफरत थी क्योंकि यह कठिन लग रहा था। तब मैं स्टैक ओवरफ्लो में आया, और मैं उससे बहुत कुछ जानता हूं। बिना किसी किताब की मदद के।

  • इसके लिए गूगल
  • कुछ व्यावसायिक, पूर्ण ओपन सोर्स एप्लिकेशन के लिए चारों ओर देखें
  • उस कोड और TRY में ब्राउज़ करें जो प्राप्त करने के लिए चल रहा है।
  • किसी मौजूदा कोड के स्निपेट से कुछ तेज़ / सरल एप्लिकेशन लिखने का प्रयास करें।
  • इसे अपने लिए फिर से लिखने का प्रयास करें।
  • इंटरनेट पर अधिक ट्यूटोरियल खोजें
  • अनुभव लो
  • अधिक अनुभव लें
  • आपने अभी एक नई भाषा सीखी है! (मैंने यह नहीं कहा कि आप एक विशेषज्ञ होंगे, लेकिन मूल बातें कुछ घंटों या दिनों में सीखी जाती हैं)

एक संदर्भ के रूप में एक पुस्तक होना बहुत उपयोगी है - आप दूसरों के अनुभव से प्राप्त करते हैं। "पुस्तक" django या jquery जैसे व्यापक ऑनलाइन दस्तावेज़ / ट्यूटोरियल भी हो सकते हैं । लेकिन परीक्षण और त्रुटि + पठन स्रोत अकेले आपके ज्ञान के प्रमुख अंतराल को छोड़ देंगे। अब अगर आपको केवल jQuery की कुछ लाइनों की आवश्यकता है, तो आपका तरीका काम करता है लेकिन आपने भाषा नहीं सीखी है। लेकिन अगर आप C सीखना चाहते हैं, तो मैं एक संदर्भ के रूप में K & R होने की सलाह दूंगा। यकीन है कि अधिकांश जानकारी कहीं न कहीं ऑनलाइन है, लेकिन कई ब्लॉग पोस्टों में बिखरी हुई है।
डॉम्ब जिंबाब

0

मुझे लगता है कि यह सही है कि प्रोग्रामिंग को केवल पुस्तकों से नहीं सीखा जा सकता है (जैसा कि अधिकांश लोगों ने उल्लेख किया है), आपको बहुत अभ्यास करने की आवश्यकता है और इंटरनेट पर कई संसाधन उपलब्ध हैं (लेख, वीडियो, नमूने आदि)।

लेकिन एक अच्छी किताब आपके ज्ञान के अंतराल को भर देती है। बुक कवर को पढ़ने के बाद आपको विश्वास दिलाता है कि आपके पास विषय के ज्ञान में कोई अंतर नहीं है। हालांकि, इस विषय पर अच्छी पुस्तकें खोजने के लिए इनवॉइस है।

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