क्या यह ठीक है अगर मैं कंप्यूटर के सामने बैठकर समस्या का समाधान नहीं कर सकता? [बन्द है]


12

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

कभी-कभी मैं कंप्यूटर के सामने बैठकर समस्या को हल कर सकता हूं, लेकिन कुछ संघर्ष के साथ। क्या वह ठीक है?


6
मेरे लिए यह किसी समस्या का बहुत बुरा नहीं है, और वास्तव में बहुत सारे लोग कंप्यूटर पर बहुत अधिक घूरते हैं, अंततः उन्हें यह एहसास नहीं होता है कि उनके पास यह मुद्दा कुछ हद तक है। पेशेवर प्रोग्रामिंग के बहुत सारे ट्रिकी लॉजिकल फ़ार्मुलों के बजाय आमतौर पर होमवर्क असाइनमेंट के रूप में बहुत ही रॉट परिवर्तन शामिल करने जा रहे हैं, और यदि आप कम से कम उन को पूरा कर सकते हैं तो यह एक मुद्दे का इतना नहीं है।
कटाना ३१४

2
मुझे लगता है कि आप अपने प्रश्न को फिर से लिखना चाहते हैं ताकि यह प्रोग्रामिंग के बारे में अधिक समझ में आए।
स्नूप

8
यह पूरी तरह से व्यक्तिपरक है। हर कोई अलग तरह से सीखता और काम करता है। करो जो तुम्हारे लिए काम आता हो।

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

2
इसके अलावा बस सवाल यह है कि समस्या कितनी कठिन है। जैसा कि आप अधिक अनुभव प्राप्त करते हैं, कुछ समस्याएं जो अब मुश्किल हैं वे आसान हो जाएंगे। लेकिन इसका मतलब यह है कि आपको और भी मुश्किलों को हल करना है। खुद के लिए, मैं लंबी पैदल यात्रा या क्रॉस-कंट्री स्कीइंग के दौरान अपने बहुत मुश्किल लोगों को हल करता हूं।
jamesqf

जवाबों:


33

मैं अपनी सबसे कठिन समस्याओं को हल करता हूं:

  • व्हाइटबोर्ड के सामने (कभी-कभी बिना कुछ खींचे भी - बस किसी समस्या की कल्पना करने के बारे में सोचकर कभी-कभी समाधान निकल सकता है)
  • सहयोगियों को समझाते हुए
  • खिड़की से बाहर देखा
  • टहलते हुए
  • शावर के नीचे
  • शौचालय पर

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

समस्या को हल करना आपके सिर में होता है। प्रोग्राम कोड में टाइप करना बस यह है कि आप कंप्यूटर को अपना समाधान कैसे समझाते हैं।


1
धन्यवाद! आप सही हैं, जितना अधिक मैं एक कंप्यूटर से दूर हूं, उतना ही मैं समस्या पर ध्यान केंद्रित कर सकता हूं।
महमूद मुहम्मद नगेब

2
मुझे एक किताब पढ़ना याद है (जो याद नहीं कर सकता है, दुर्भाग्य से) जिसने सुझाव दिया कि अपनी डेस्क पर एक रबर डक रखें, और जब आप स्टम्प्ड होते हैं, तो रबर डक पर जोर से समस्या का वर्णन करें।
रोबोट

7
@StevenBurnap इसे रबर डक डिबगिंग कहा जाता है और आप संभवतः एडिसन वेस्ले द्वारा द प्रोगैमैटिक प्रोग्रामर में इसके बारे में पढ़ते हैं ।
फिलिप

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

4
पुन: रबर ducking। एक टेडी बियर के साथ भी ऐसी ही कहानी है। एमआईटी के शिक्षक अपने कार्यालयों के बाहर टेडी बियर लगाते थे। भालू को अपनी समस्या के बारे में बताने के बाद ही आपको खटखटाने की अनुमति दी गई। आधे छात्रों ने कभी दरवाजे पर दस्तक नहीं दी, और भालू को समझाते हुए अपनी समस्या का पता लगाया। StackExchange पर एक अच्छी तरह से लिखा, अच्छी तरह से शोध, अच्छी तरह से स्वरूपित, विस्तृत, उच्च-गुणवत्ता वाला प्रश्न तैयार करने का एक ही प्रभाव हो सकता है , जो (कारणों में से एक) है कि हम सिर्फ इतना करने के बारे में इतने गुदा क्यों हैं!
जॉर्ग डब्ल्यू मित्तग

7

मुझे लगता है कि यह एक अच्छा सवाल है। मैं इसकी व्याख्या कैसे करता हूं, जो मुझे लगता है कि आप पूछ रहे हैं कि "क्या यह ठीक है कि मुझे समय-समय पर कंप्यूटर से दूर रहना पड़ता है"?

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

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

कुछ चीजें जो आप अपने दिमाग को साफ करने और समस्या को हल करने के लिए कर सकते हैं:

  • एक ब्रेक ले लो
  • किसी सहकर्मी से बात करें
  • व्हाइटबोर्ड समस्या / अवधारणा
  • उस पर सोओ!

यदि आप समाधान के साथ रात के बीच में जागते हैं तो आश्चर्यचकित न हों।


1

मुझे लगता है कि यदि आप कर सकते हैं तो यह निश्चित रूप से एक कुशल पेशेवर प्रोग्रामर / डेवलपर बनने में मदद करेगा। हालाँकि, प्रोग्राम लॉजिक में समाधान का अनुवाद करते समय एक समस्या के बारे में सोचना IMHO को प्रशिक्षण की आवश्यकता है, इसलिए मुझे कोई समस्या नहीं है यदि आप इन कार्यों को क्रमबद्ध करते हैं - तो आपको बस दोनों को सफलतापूर्वक पूरा करने में सक्षम होने की आवश्यकता है। कोड शुरू करने से पहले शुरू से अंत तक एक समाधान के बारे में सोचना निश्चित रूप से इसकी योग्यता है, लेकिन आपको इसके लिए कुछ हद तक रोगी होने की आवश्यकता है।

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