सीखने के विकास के लिए एल्गोरिथ्म [बंद]


16

यह एक सामान्य प्रश्न है। मैं पर्ल और पायथन के बारे में थोड़ा जानता हूं और मैं प्रोग्रामिंग को और अधिक गहराई से सीखना चाहता हूं ताकि एक बार जब मैं इसे लटका लूं तो मैं एप्लिकेशन और फिर वेबसाइट विकसित करना शुरू कर सकता हूं।

मैं एक एल्गोरिथ्म (चरणों का क्रम :) के बारे में जानना चाहूंगा) जो सामान्य रूप से प्रोग्रामिंग सीखने के प्रति मेरे दृष्टिकोण का वर्णन कर सकता है। मैंने पर्ल / पायथन पर छोटे प्रश्न पोस्ट किए हैं और मैंने सभी से बड़ी मदद प्राप्त की है।

नोट: - मैं सीखने की जल्दी में नहीं हूँ। मुझे पता है कि इसमें समय लगता है और यह ठीक है।

कृपया कोई सुझाव दें जो आपको मान्य हो। इसके अलावा, कृपया मुझे लिस्प, हास्केल आदि सीखने के लिए धक्का न दें - मैं एक शुरुआती हूं।


क्या कोई विशेष भाषा है जिसे आप सीखना चाहते हैं? मुझे पता है कि आप पर्ल और अजगर का उल्लेख करते हैं, यह है कि आप क्या पाने के लिए देख रहे हैं?
जेसन

तो क्या आप के लिए पूछ रहे हैं ... वास्तव में क्या? वह प्रक्रिया जिसके द्वारा आप एक विशिष्ट भाषा सीखते हैं? प्रोग्रामिंग खुद? का उपयोग कर क्या?
ग्लेनट्रॉन 13

मुझे लगता है कि यह एक अच्छा सवाल है। मैंने इसे थोड़ा स्पष्ट करने के लिए संपादित किया है।
गैरी रोवे

जवाबों:


28

एक नई प्रोग्रामिंग भाषा सीखने के लिए 11 कदम एल्गोरिथ्म

मैं इस समय लिस्प सीखने की प्रक्रिया में हूँ , और मैं निम्नलिखित एल्गोरिदम की सिफारिश करूँगा:

  1. अगर भाषा सीखने लायक है और अच्छे संसाधन मिल सकते हैं, तो आसपास से पूछें। यदि विशेषज्ञों द्वारा भाषा को सकारात्मक प्रतिक्रिया दी जाती है, तो चरण 2 पर आगे बढ़ें।
  2. एक प्रारंभिक प्रोग्रामिंग वातावरण बनाएँ। इसे सरल रखें: टेक्स्ट एडिटर और कंपाइलर / दुभाषिया। नंगे न्यूनतम। एक विशेष रंग योजना के साथ अपनी मशीन पर एक विशिष्ट उपयोगकर्ता खाते पर विचार करें ताकि मानसिकता में परिवर्तन हो सके।
  3. "हैलो, विश्व!" आवेदन।
  4. सामान्य वाक्यविन्यास और नियंत्रण कथनों को जानें (यदि-तब-फिर, दोहराएं-तब तक आदि)। सरल नियंत्रण मामलों (सही / गलत मूल्यांकन आदि) को सत्यापित करने के लिए सैंडबॉक्स बनाएं। हर आदिम प्रकार (इंट, डबल, स्ट्रिंग आदि) का प्रयास करें। मुद्रा गणना करें। संख्या अनुमान लगाने का खेल (जैसा कि @ जेरेमी द्वारा सुझाया गया है ) इसके लिए अच्छा है।
  5. कई तरीकों / कार्यों के साथ वर्ग (यदि लागू हो) बनाएँ। कार्यों के बीच कॉल करें। नियंत्रण कथन लागू करें।
  6. सरणियाँ और संग्रह जानें। उपयुक्त रूप से जटिल उदाहरण बनाएं जो प्रत्येक वर्ग / फ़ंक्शंस / प्राइमेटिव्स के एरेज़ और कलेक्शंस बनाते हैं जो आपके लिए उपलब्ध हैं
  7. फ़ाइल IO जानें। बाइनरी और चरित्र आधारित फ़ाइलों को पढ़ने, हेरफेर करने और लिखने के उदाहरण बनाएं।
  8. भाषा के भीतर मुहावरेदार प्रोग्रामिंग के बारे में अधिक प्रश्न पूछें (संकेत, मैक्रोज़, मोनैड्स, क्लोजर, सपोर्ट फ्रेमवर्क, बिल्ड एनवायरनमेंट)।
  9. पुनःप्राप्त मुहावरे में काम करने के लिए अपनी मौजूदा आईडीई चुनें (या अपने अनुकूल करें)।
  10. विभिन्न प्रकार के एप्लिकेशन लिखें जो आपको (या आपके बॉस) को खुश करें।
  11. 1 वर्ष के बाद दूसरी भाषा के लिए चरण 1 पर लौटें, जबकि आप जो सीख रहे हैं, उसमें अपनी रुचि बनाए रखें।

1
मुझे लिखने के लिए एक महान दूसरा कार्यक्रम होने के लिए "संख्या अनुमान" गेम मिला है। (चरण 4 पर) यह आपको पूर्णांक, बूलियन, पाठ इनपुट / आउटपुट, लूपिंग और शर्तों के बारे में जानने की अनुमति देता है।
जेरेमी हेइलर

@ जेरेमी अच्छा सुझाव, मैंने इसे वहां डाल दिया है।
गैरी रोवे

हाय गैरी- विस्तृत निर्देशों के लिए धन्यवाद, मैं इसे पायथन के साथ मैप करने की कोशिश करूंगा - बहुत ही अच्छे स्टेप बाइ स्टेप एक्सप्लेनेशन यानी क्यों मुझे इस मंच की श्रृंखला पसंद है ... @ जेरेमी हां मैं इस पर
हूं

विशेष रंग योजना मानसिकता के परिवर्तन का हवाला देने के लिए , क्या आप इस पर कुछ प्रकाश डाल सकते हैं?
संतोष कुमार

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


2

हर उस भाषा के लिए जिसे आप सीखना चाहते हैं L

  • चरण 1: का सिंटैक्स जानें L
  • चरण 2: Lअपनी पसंदीदा भाषा के लिए एक कंपाइलर लिखें ।
  • चरण 3: अपनी पसंदीदा भाषा के लिए संकलक लिखें L
  • चरण 4: एक प्रमुख परियोजना को मुहावरेदार तरीके से लिखें L
  • बोनस: सुनिश्चित करें कि चरण 2 का परिणाम चरण 4 के परिणाम के साथ संगत है।

इसे बहुत अधिक कवर करना चाहिए, 10 साल में प्रगति रिपोर्ट के साथ हमारे पास वापस जाएं ।

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

अंतिम नोट के रूप में, शुरुआती होने का कोई कारण नहीं है कि लिस्प न सीखें। SICP और वीडियो लेक्चर की जांच करें । न तो विकास, या कंप्यूटर के साथ विशेषज्ञता के किसी भी स्तर को मानता है। वास्तव में वीडियो व्याख्यान के लिए परिचय उद्धृत करने के लिए

मैं कंप्यूटर विज्ञान के इस पाठ्यक्रम में आपका स्वागत करना चाहता हूं। [बोर्ड पर लिखता है] वास्तव में यह एक भयानक तरीका है। कंप्यूटर विज्ञान इस व्यवसाय का एक भयानक नाम है। सबसे पहले, यह एक विज्ञान नहीं है ["विज्ञान" को पार करता है]। यह इंजीनियरिंग हो सकता है या यह कला हो सकता है। [...] यह वास्तव में कंप्यूटर के बारे में बहुत ज्यादा नहीं है ["कंप्यूटर" को पार करता है]। और यह एक ही अर्थ में कंप्यूटर के बारे में नहीं है कि भौतिकी वास्तव में कण त्वरक के बारे में नहीं है। और जीव विज्ञान वास्तव में सूक्ष्मदर्शी और पेट्री डिश के बारे में नहीं है। -हाल अबेलसन


सुनने में अच्छा लग रहा हैं। 10 साल में मिलते हैं!
जेरेमी हेइलर

चरण 2 के लिए +1 L के लिए एक कंपाइलर लिखें! दिमाग ... दर्द होता है .. तो ... बहुत ... अब।
गैरी रोवे

-2

मैं दो चरणों को छोड़कर ज्यादा कुछ नहीं कहना चाहता।

  1. डेटा संरचना जानें
  2. एल्गोरिथ्म का परिचय जानें

PS प्रोग्रामिंग आपका दैनिक कार्य है।


प्रोग्रामर्स पर आपको "ज्यादा कहने" के लिए प्रोत्साहित किया जाता है, शर्मिंदा न हों :) अपनी सलाह पर कुछ विवरण दें, जैसे कि अपने स्वयं के अनुभवों से संदर्भ, संदर्भ या उदाहरण।
मैथ्यू

-2

सबसे अच्छा तरीका एक प्रोग्रामिंग भाषा की मूल बातें / बुनियादी बातों को सीखना है और फिर एक कंपनी को एक जूनियर डेवलपर (ठेकेदार) के रूप में शामिल करना है। यह सीखने और अपने समय के साथ-साथ पैसा बनाने का सबसे तेज़ तरीका होगा;)

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