मैं अपने प्रोग्रामिंग कौशल के बारे में अधिक आश्वस्त कैसे महसूस कर सकता हूं? [बन्द है]


37

प्रोग्रामिंग मेरे लिए विदेशी नहीं है। मैंने पहले मार्कअप करना शुरू किया (एचटीएमएल, अब कृपया मुझ पर हंसी मत करो) जब मैं 12 साल का था और जब मैं 13 साल का था तब थोड़ा बहुत बुनियादी था (मुझे इस बिंदु पर फ़्लोचार्ट्स, स्यूसोकोड्स के बारे में बहुत कुछ पता था), लेकिन तब मुझे बुलाया गया था हाई स्कूल में जीव विज्ञान और इसलिए सी, जावा, वगैरह जैसी भाषाओं के "वास्तविक" प्रोग्रामिंग ज्ञान को याद किया। मैंने अपने यूजी बीई (बीएस के समान, लेकिन अधिक सैद्धांतिक तरीके से) के लिए सीएस को लिया। मैंने अपने दम पर C & C ++ (कुछ हद तक) सीखा (मेरे प्रोफेसर को कुल दर्द था और कक्षा कोड-जॉक्स से भरी हुई थी (जो पहले से ही स्कूल में इसे सीख चुके थे, और इसलिए कक्षा पर ध्यान नहीं दिया और नहीं किया) मेरी तरह कम नश्वर लोगों को (या तो कक्षा पर ध्यान देने के लिए)) और एक भयानक जोड़ या गुणा कार्यक्रम (जो अब भी किंडर-गार्डनर्स को कोड़ा मार सकता है)

मेरी मुख्य समस्या यह है कि मैंने हमेशा अपने सीमित प्रोग्रामिंग कौशल से अपर्याप्त और गला घोंटने का अनुभव किया है और कोड-जॉक्स द्वारा विश्वास किया है (मेरा विश्वास करो, मैं इस साइट पर उम्र भर पहले आया हूं, लेकिन अभी वास्तव में पोस्ट करने के लिए साहस का निर्माण कर सकता हूं एक प्रश्न) और कई बार असमर्थता पर भी उदास रहा है। अधिकांश लोगों का कहना है कि प्रोग्रामिंग भाषा के बारे में जरूरी नहीं है, बल्कि उस व्यक्ति की मन: स्थिति और वह तकनीक है जो वे समस्याओं / मुद्दों को हल करने के लिए नियोजित करते हैं। मैं इस तरह की भावनाओं से सहमत हूं, लेकिन क्या मैं कभी भी इस तरह के "मन की स्थिति" प्राप्त कर सकता हूं, और अगर मुझे "प्रोग्रामिंग / कोडिंग" से कैसे संपर्क करना चाहिए, और अगर कोई भी तरीका है और कदम एक के माध्यम से "ज़ेन" को प्राप्त करने के लिए गुजरते हैं कोडिंग का "। मैं ऐसा कैसे करूं? इसके अलावा, अगर कुछ संत $ #!

पीएस मैं हमेशा किसी ऐसे व्यक्ति का आभारी रहूंगा जो मुझे अपने समय के लायक समझता है, और एक बोनस के रूप में मेरे पहले सॉफ्टवेयर I के जहाज का नाम उनके नाम पर रखा जाएगा। (अगर मुझे कभी एक जहाज करने के लिए मिलता है, यानी)

टीएल; डीआर: कभी भी वास्तव में "प्रोग्रामिंग / कोडिंग" नहीं सीखा, अगर मैं कोशिश करूं तो भी समस्याएं हल नहीं हो सकती हैं। मेरी मदद करो!


22
अपने आप पर इतना नीचे मत जाओ। गर्भ प्रोग्रामिंग से कोई नहीं निकला। जितना अधिक आप कोड, उतना ही आप कोड में सोचेंगे। इसके साथ मजे करो।
स्टीवन एवर्स

9
यदि आप सोच रहे हैं "एचएम, बग शायद मेरे कोड में है, तो संकलक नहीं" आप प्रोग्रामर की तरह सोचने के तरीके पर हैं (अच्छी तरह से अधिकांश प्रोग्रामर की तरह)।
गाब्लिन

5
@SnOrfus: जॉन स्कीट के अलावा कोई भी;)
back2dos

4
एक दोपहर से दूसरे तक: अभ्यास कुंजी है!
चनी

1
@Snorfus मैंने शर्त लगाई कुछ लोगों ने! : पी
मार्क सी

जवाबों:


26

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


10000 घंटे का नियम सुझाव उचित लगता है। वास्तव में पेचीदा, लेकिन मुझे कौन सी भाषा चुननी चाहिए जो अभी भी प्रासंगिक होगी और नई भाषाओं की समान लचीलापन प्रदान करती है (उदाहरण के लिए: यदि मैंने सभी अवधारणाओं के साथ गहराई से जावा सीखा है, तो मैं स्काला, प्रसंस्करण, क्लीजुर, में माइग्रेट कर सकूंगा आदि काफी आसानी से)।
अमीन

11
अमीन: अन्य भाषाओं के बारे में चिंता न करें। एक जानें। जावा में 10,000 घंटे डालने के बाद, बाद में आगे बढ़ें। जीवन लंबा है, बहुत सारी भाषाएं हैं, आप उन सभी को नहीं सीखेंगे। हर समय नए का आविष्कार किया जाता है। एक बात अब सीखो। उसके बाद के भविष्य की चिंता करें।
एस.एल.टी.

2
अस्पष्ट तरीके से "उस पर अधिक समय बिताना" प्रभावी नहीं है।
रीन हेनरिच

1
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज सीखने और फंक्शनल प्रोग्रामिंग लैंग्वेज सीखने के लिए भी एक अच्छी रणनीति है। सांख्यिकीय रूप से टाइप की गई भाषा और गतिशील रूप से टाइप की गई भाषा सीखें। आप एक अच्छी तरह से गोल डेवलपर होंगे।
चिरॉन

1
@BSeven आपको इसके समान "10 वर्षों में प्रोग्रामिंग सीखें" पर पीटर नॉर्विज के निबंध की जाँच करने की आवश्यकता है और कुछ प्रमुख मुद्दों पर एक टन प्रकाश डालती है, जो प्रोग्रामिंग फेस के लिए नए चेहरे को प्रदर्शित करता है।
आमीन

16

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

संपादित करें: आपको इसे शिप करना चाहिए । यह बहुत अच्छा है।

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


12

'समस्या', 'अपर्याप्त', 'गला घोंटने', 'सीमित एक्स कौशल', 'बेईमान', 'उदास', 'अक्षमता', एक वाक्य में, सभी अपने आप को निर्देशित करते हुए मुझे अतीत से कुछ अनजाने घाव / s अभी भी दर्द हो रहा है आप। यदि आप उन पर काबू पाने के तरीके खोजते हैं, तो प्रोग्रामिंग या ऐसी कोई भी कला / शिल्प में महारत हासिल करना बहुत आसान होगा। शायद अन्य लोगों के लचीलेपन के बारे में पढ़ने से यहाँ मदद मिलेगी। हर कोई अपने जीवन में कई बार दुखों से गुजरता है। यदि उन चोटों / घावों को ठीक नहीं किया जाता है, तो उनकी सफलता नहीं होगी। पहले अपने घाव को ठीक करो। प्रोग्रामिंग बाद के लिए इंतजार कर सकते हैं।

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


2
इसी नस में, यदि आप किसी ऐसे व्यक्ति को देखना चाहते हैं जिसके पास एक ही समस्या थी और उसके और उसकी समस्याओं के बारे में एक सामुदायिक रैली हो, तो इस हैकर न्यूज थ्रेड को पढ़ना सुनिश्चित करें ।
वेस बेकर

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

@ बेकर: हैकर न्यूज़ थ्रेड के लिए आपका बहुत-बहुत धन्यवाद। मैं निश्चित रूप से ओपी के विचारों से संबंधित हो सकता हूं (हालांकि मेरे पास यह इतना बुरा नहीं था)। मुझे लगता है कि ऑपरेटिंग सिस्टम, कंप्यूटर आर्किटेक्चर, एल्गोरिथम, डेटा संरचनाएं, कंप्यूटर नेटवर्क, क्रिप्टोग्राफी, डेटा वेयरहाउसिंग, आदि पर काफी सभ्य ज्ञान है (हालांकि मुझे उन्हें ब्रश करने की आवश्यकता है)। जैसा कि मैंने कहा कि मैं इन सभी विषयों को एक सैद्धांतिक पीओवी से जानता हूं, और वास्तव में इस पर व्यावहारिक सामान नहीं किया है। निश्चित रूप से उस धागे के माध्यम से स्किम होगा, वहाँ पर बहुत बढ़िया सलाह। Tyvm!
अमीन

@ सब कुछ 'द्वारा', मैं डॉक्स और ट्यूटोरियल के लिए सीमित नहीं है। कोड दूसरों ने लिखा है, उनके द्वारा उपयोग किए गए मुहावरे, त्रुटियां, अपवाद, आदि का सामना करना पड़ा है और उनके समाधान, आदि भी। मैं किसी भी तरह से मानसिक या मनोवैज्ञानिक नहीं हूं।
vpit3833

9

कुछ चीजें जो आपको वास्तव में प्राप्त करने की आवश्यकता होंगी:

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

लक्ष्य: अपने लिए कुछ लक्ष्य निर्धारित करें। कहो कि दो सप्ताह में C ++ में STL का उपयोग कैसे करें। आप कितना अच्छा करते हैं। यदि आप अधिक समय लेते हैं, तो अधिक समय तक नज़र रखें, यह आपको भविष्य में बेहतर करने में मदद करेगा। मैंने यह चाल सहकर्मी से सीखी; वह अनुमान लगा सकता है, उस दिन तक, जब तक कि कोई भी कार्य उसे नहीं हो जाता। ऐसा करने से मुझे व्यक्तिगत परियोजनाओं पर कितने समय तक खर्च करने में मदद मिलती है, और मुझे नियंत्रण से बाहर होने से बचाने में मदद मिलती है (गुंजाइश प्रबंधन वे इसे कहते हैं)।

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

आत्मविश्वास: आप जो करना चाहते हैं, उसमें आत्मविश्वास रखें और प्रश्न पूछने के लिए पर्याप्त आश्वस्त रहें। यदि कोई व्यक्ति आपको कुछ करने का एक और तरीका दिखाता है, तो रक्षात्मक न हों, या अपने आप को यह सोच कर नीचे गिरा दें कि आपने यह गलत किया; अपनी समस्या को हल करने के लिए आपको एक अलग दृष्टिकोण सिखाया जा रहा है, इसके बारे में सोचें!

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

सौभाग्य! और याद रखें, यह मजेदार माना जाता है! = D


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

मैं मदद करने के लिए खुश हूँ! = डी
bryanegr

सबसे अच्छा लक्ष्य: जहाज कोड!

7

विकास में ऐसा लगता है कि विरोधाभास "जितना अधिक आप जानते हैं, उतना ही आप जानते हैं कि आप नहीं जानते" सच है।

यदि आप एक विचारशील, ईमानदार व्यक्ति हैं, तो आपको इस तथ्य को स्वीकार करना होगा और इससे निपटना सीखना होगा।

आत्मविश्वास, प्रश्न द्वारा निहित अर्थ में, एक बहुत ही व्यक्तिगत चीज है जिसका वास्तव में किसी विशेष कौशल सेट या कार्यप्रणाली से कोई लेना-देना नहीं है।

अधिक उथले नोट पर, http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (खंड: में वर्णित भावना) आप मौलिक रूप से प्रतियोगिता के औसत कौशल को पछाड़ देते हैं क्योंकि आपके साथ घूमने वाली भीड़) ने हमेशा मेरी मदद की है।

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


4

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

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

(यह, निश्चित रूप से, यह मानते हुए कि आप एक पेशेवर प्रोग्रामर के रूप में कैरियर का पीछा नहीं कर रहे हैं, इस मामले में मैं सिर्फ स्कूल वापस जाने के लिए कहूंगा ...)

सौभाग्य, और एक खुश कोडिंग है

पुनश्च: ओह, और आपको बहुत आलस्य, अधीरता और पति की आवश्यकता होगी

http://c2.com/cgi/wiki?LazinessImpatienceHubris


4

मजेदार बात यह है:

प्रोग्रामर का दिमाग कंप्यूटर, प्रोग्रामिंग लैंग्वेज,
डिजाइन-पैटर्न या एल्गोरिदम के बारे में ज्यादा नहीं है

यह वास्तविक दुनिया की सूक्ष्मताओं को समझने के बारे में है, चीजों के बीच बातचीत है। सार सोचने की क्षमता । चीजों को नोटिस करने और उन्हें याद रखने की क्षमता । यह अनिवार्य रूप से अच्छी समस्या को हल करने की ओर जाता है।

कार्यान्वयन, कोड स्वयं उसके बाद ही आता है - जब आपने
अपने दिमाग के अंदर दी गई समस्या को सफलतापूर्वक हल कर लिया है।


4

आत्मविश्वास कुछ ऐसा नहीं है जिसे आपको अपने कौशल के बारे में महसूस करने की कोशिश करनी चाहिए। वास्तविक कौशल के साथ विश्वास का संबंध खराब है (संभवतः नकारात्मक रूप से भी)। आपको अपने पेशेवर (या मूल्यवान शौक) कौशल को बेहतर बनाने के लिए काम करना चाहिए, इससे कोई फर्क नहीं पड़ता कि आप अपने वर्तमान कौशल स्तर के बारे में क्या महसूस करते हैं।

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


3

यह बहुत सरल है: इसमें रुचि रखें ! आप पहले से ही प्रतीत हो रहे हैं, इसलिए ऐसा कुछ ढूंढें जो आपको लगता है कि यह करने के लिए अच्छा होगा, और फिर इसे करें, रास्ते में आपको जो भी प्रश्न चाहिए, जो भी आप कर सकते हैं, जो भी संसाधन आप कर सकते हैं, परियोजना को एक साथ रखने के लिए। यह चाहता हूँ। कुल्ला और दोहराना, और आप अपने आप को एक भयानक प्रोग्रामर होने के बिना भी बहुत प्रयास किए बिना पाएंगे, क्योंकि यह दिलचस्प / मजेदार था।

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

कौन सी तकनीक के बारे में इतनी चिंता न करें, हालांकि HTML5 + जावास्क्रिप्ट + कैनवास टैग के साथ ग्राफिक्स करना वास्तव में मजेदार हो सकता है, क्योंकि यह स्थापित करना बहुत आसान है, पुरस्कार तत्काल हैं, और आप उन्हें साझा कर सकते हैं।


आपका बहुत बहुत धन्यवाद। मुझे प्रोग्रामिंग में बहुत दिलचस्पी है (मैं अपने सिर में समस्याओं को हल करता हूं - और निश्चित रूप से एल्गोरिदम, प्रवाह-चार्ट, आदि में) मुझे लगता है कि एक परियोजना से चिपके रहने और इसके साथ जा रहा है और अटक जाने पर मदद मांग रहा है। एक मृत अंत पर। (यह सब अब समाप्त हो गया है, हालांकि :) एसई के लिए धन्यवाद) इसके अलावा, मुझे एचटीएमएल 5 + जावास्क्रिप्ट सामान (आंशिक पृष्ठ लोड करने के बारे में बहुत दिलचस्पी है) - यह भयानक फैशन में लागू करता है, एसई पर उत्तर लोड हो रहा है, आदि)। वास्तव में उनके लिए सभ्य संसाधनों को नहीं जानते हैं, हालांकि (W3C- स्कूल माना जाता है कि वे बहुत अधिक हैं; W3Fools ऐसा कहते हैं!)
Ameen

3

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

  • समस्या को सुलझाना
  • नई चीज़ें सीखना
  • कंप्यूटर बनाना आपकी इच्छा के अनुसार है
  • कुछ और...

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

मेरी पृष्ठभूमि आपके समान है। 10 साल की उम्र में कंप्यूटर का निर्माण शुरू किया। मेरे मध्य-किशोरियों में थोड़ा HTML / C ++ ... इसके साथ ऊब गया ... कुछ वर्षों के लिए छोड़ दिया। मैंने हालांकि कंप्यूटर के साथ खेलना बंद नहीं किया।

अब, मैं प्रोग्रामिंग प्यार कर रहा हूँ। तो क्या बदला? मुझे मेरी प्रेरणा मिली। मैंने काम करना शुरू कर दिया जहां मुझे हल करने के लिए समस्याओं का ढेर दिया गया है। जटिल समस्याओं के चतुर, सरल समाधान खोजने से वास्तव में मेरी आग जलती है।

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


3

नई चीजों को सीखने पर काबू पाने के लिए हमेशा जड़ता होती है। जिज्ञासु प्रोग्रामर ने नई भाषाओं और प्रतिमानों को सीखने के लिए प्रेरणा को खोजने के लिए संघर्ष को जाना है। वे कहेंगे, "मुझे एक्स पर कोशिश करने के लिए एक परियोजना की आवश्यकता है।" X को सीखने के लिए कुछ लोग वास्तव में उस परियोजना को खोज / आविष्कार कर सकते हैं।

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

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

उपयोग करें लेकिन आकाओं से सावधान रहें। प्रश्न अधिकार।

और वैसे, "ज़ेन कोडिंग" एक ऑक्सीमोरोन है।


3

आप अपने प्रोग्रामिंग कौशल के बारे में आश्वस्त महसूस नहीं करेंगे।

जिस तरह से आप अपने कौशल का वर्णन करते हैं, वह एक मानसिकता की ओर इशारा करता है जहां आप अपने कौशल से कभी संतुष्ट नहीं होंगे। आपने C ++ में महारत हासिल की? रुको वहाँ जावा है! आपने जावा में महारत हासिल की? प्रतीक्षा करें समानांतर प्रोग्रामिंग है। आपने C ++ और जावा में समानांतर प्रोग्रामिंग में महारत हासिल की? रुको वहाँ SOA है! OOD है! और MVC! ठोस! कार्यात्मक प्रोग्रामिंग! वेब प्रोग्रामिंग! क्लाउड प्रोग्रामिंग! मोबाइल प्रोग्रामिंग!

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


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

3

मैं उसी तरह महसूस करता था, और यह वास्तव में स्टैक एक्सचेंज साइटें थीं जो मुझे आत्मविश्वास देने में मदद करती थीं।

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

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

मुझे पहेलियाँ पसंद हैं, और मेरे लिए SO प्रश्न मिनी-प्रोग्रामिंग पहेली की तरह थे, अगर मुझे सही उत्तर मिला तो कुछ सकारात्मक प्रतिक्रिया मिलने के अतिरिक्त लाभ थे। यदि मुझे कोई उत्तर गलत मिला, तो मैंने इसे हटा दिया और अन्य लोगों के समाधान से लेकर उसी समस्या के बारे में सीखा।

इसलिए मेरी सिफारिश होगी कि आप SO पर जाएं और जिस भी टैग में आपकी रुचि हो, उसमें प्रश्नों को ब्राउज़ करें, और कुछ को खोजें, जिनके बारे में आपको लगता है कि आप उनके उत्तर पा सकते हैं। ऐसा कुछ भी नहीं है जैसे लोग आपको बता रहे हैं कि आपके प्रोग्रामिंग उत्तर आपके प्रोग्रामिंग क्षमता में आत्मविश्वास देने के लिए सहायक / अच्छे हैं :)


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

3

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

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

बार-बार अभ्यास के लिए भी कुछ कहा जाना है। आप उपन्यास होने के लिए पर्याप्त भिन्नता चाहते हैं, लेकिन पर्याप्त समानता यह है कि आप समान क्रियाओं का अभ्यास करें और उन्हें निगलना।

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


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

2

तीन बातों पर विचार करें: (या नहीं, निश्चित रूप से)

  1. अभ्यास। क्या होगा अगर विफलता का मतलब एक संकेत से ज्यादा कुछ नहीं है जो आप अभ्यास कर रहे हैं? यदि आपने पहली बार गिरना सीखना शुरू कर दिया है, तब भी आप रेंगते रहेंगे।
  2. आप जो भी कर रहे हैं, उसके साथ खेलें। प्ले बस कुछ करने की कोशिश कर रहा है और क्या हो रहा है इसे नोटिस कर रहा है। अच्छे / बुरे परिणामों को देखते हुए हार मानें, बस खेलें और देखें कि क्या होता है। किसी विशेष परिणाम के साथ संलग्न होने का त्याग करें, बस कुछ प्रयास करें और देखें कि क्या होता है।
  3. क्या होगा यदि आप दुनिया के एकमात्र प्रोग्रामर नहीं हैं जिन्होंने कभी इस तरह से महसूस किया है?

2

यहाँ पर अभ्यास के बारे में बहुत सारी अच्छी टिप्पणियाँ हैं, यह वास्तव में सभी फर्क पड़ता है।

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

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

यदि कोई आपके कोड को बेरिकेट करता है क्योंकि आपने 20 के बजाय 25 लाइनें ली हैं तो मैं उन्हें अनदेखा करना चाहूंगा जब तक कि उन्हें तर्क में कोई वास्तविक दोष नहीं मिला है। कभी-कभी वास्तविक दुनिया में, हमें बस काम करना पड़ता है (और जो वास्तव में किसी को छाती से सुनना चाहता है कि कितना जटिल है ... गलत, सुरुचिपूर्ण वे कोड का एक टुकड़ा बनाने में कामयाब रहे जो 10 मिनट में किया जाना चाहिए था) । क्या आप अंतहीन दार्शनिक बहसों से लेकर अमूर्त चीजों तक कुछ सीख सकते हैं? ज़रूर ... लेकिन लगातार 100% लालित्य में चूसा जाने में मंद रिटर्न है। यह हर समय यथार्थवादी नहीं है जितना हम यह दिखावा करना चाहते हैं कि यह है। मेरे कुछ कम से कम सुरुचिपूर्ण कोड जिन्हें मैं किसी के साथ साझा करने के लिए तैयार होऊंगा (जो मैंने अपने करियर की शुरुआत में लिखा था) ने लोगों को सप्ताह के लायक समय बचा लिया है,

जोएल स्पोलस्की द्वारा डक्ट टेप प्रोग्रामर नामक एक महान ब्लॉग पोस्ट है। यह एक बेहतरीन रीड है और IMO आपके कुछ डर को परिप्रेक्ष्य में रखता है।

http://www.joelonsoftware.com/items/2009/09/23.html

मैं नहीं कह रहा कि बकवास कोड लिखो और सर्वोत्तम प्रथाओं को अनदेखा करो, लेकिन नमक के दाने के साथ रैंटी प्रोग्रामर ले लो।


1

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

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

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