बैकट्रैक माई "एजुकेशन" [बंद]


13

कुछ समय पहले, मैंने प्रोग्रामिंग शुरू करने का फैसला किया। मैं वास्तव में, बस एक भाषा (पर्ल) में कूद गया और वहां से चला गया। मुझे क्या पछतावा है कि मैं बस में कूद गया:

मैंने मूल बातें नहीं सीखीं (यदि आप उन्हें मूल बातें कहेंगे)।

मैंने कंप्यूटर साइंस के बारे में नहीं सीखा।

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


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

@JamesDrinkard: यह सिर्फ सीखने के लिए था! मैं जीने के लिए ऐसा नहीं करता।
डायनेमिक

तुम्हारी पृष्ठभूमि क्या है? क्या आप विज्ञान के बारे में कुछ जानते हैं? गणित? अभियांत्रिकी? लकड़ी का काम? :-) आप किस प्रकार की प्रोग्रामिंग में रुचि रखते हैं? उन विवरणों के बिना एक उपयोगी उत्तर देना कठिन है। इसके अलावा, इसमें कूदने का पछतावा नहीं है - यह बहुत अच्छा है!
गाय साइरन

@GuySirton: मैं एक मध्य विद्यालय का छात्र हूँ। मेरे पास वास्तव में कार्यक्रम करने का कोई कारण नहीं है, मैं बस करता हूँ!
गतिशील

जवाबों:


21

मैं यह करूँगा:

पथ ए: अर्ध-विशिष्ट विधि

  1. जावा, C #, या पायथन जैसे अधिक नियमित वाक्यविन्यास वाली भाषा सीखें। पर्ल एक बहुत ही उपयोगी उपकरण है, लेकिन यह आपको चीजों को कैसे करने देता है, इसके संदर्भ में भी बहुत मुक्त है। मैंने जिन अन्य भाषाओं को सूचीबद्ध किया है, वे बहुत कम हैं, इसलिए बहुत कम हैं।

  2. उक्त भाषा में डेटा स्ट्रक्चर्स के बारे में एक पुस्तक प्राप्त करें।

  3. उक्त भाषा में एल्गोरिदम पर एक पुस्तक प्राप्त करें।

  4. कोड पूर्ण और प्रभावी जावा / सी # / जो भी पायथन का संस्करण है, प्राप्त करें।

पाथ बी: जोएल स्पोल्स्की का पथ प्रबोधन (या मृत्यु, अपनी पिक लें)

  1. "कोड" पुस्तक प्राप्त करें

  2. K & R की "द सी प्रोग्रामिंग लैंग्वेज" प्राप्त करें

  3. कंप्यूटर प्रोग्रामिंग की संरचना और व्याख्या प्राप्त करें

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

विधि 2 अधिक कट्टर है, यह "कोड" के मूल सिद्धांतों के साथ बहुत अधिक है मूल बातें बताते हुए, K & R मशीन स्तर के सामान और SICP को उच्च स्तर की अवधारणाओं को प्रस्तुत करता है। यह बहुत कठिन लेकिन अधिक केंद्रित मार्ग है।

किसी भी मामले में, अपने आप को समय दें। रोम एक दिन में नहीं बनाया गया था और न ही प्रोग्रामिंग कौशल हैं, भले ही आप उस पर एक प्रतिभाशाली हों। पीटर नॉरविग के 10 वर्षों में प्रोग्रामिंग सामान्य निबंध है जो मैं लोगों को बताता हूं।

परिशिष्ट:

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

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

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

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

इसके अलावा, आपका पहला सीएस मजाक / वाक्य: आप अपनी शिक्षा को "रिफैक्टर" करना चाहते हैं, बैकट्रैक को नहीं।


धन्यवाद! क्या आपके पास पढ़ने के लिए कोई मुफ्त ऑनलाइन किताबें होंगी? इसके अलावा, यह एक अद्भुत जवाब है!
डायनेमिक

5
कंप्यूटर प्रोग्रामिंग (एसआईसीपी) की संरचना और व्याख्या के लिए + 1 यह ऑनलाइन यहां पाया जा सकता है: mitpress.mit.edu/sicp
NWS

पर्ल को जानने के बाद क्या पायथन मुझे आदत डाल लेगा?
डायनेमिक

1
पर्ल के बाद, अधिकांश भाषाएं एक चट्टानी संक्रमण की तरह हैं। पाइथन काफी आसान है क्योंकि वहाँ अनिवार्य रूप से 1 तरीका है किसी भी 1 काम को करने के बजाय 50 तरीके से 1 काम करना है जैसे कि पर्ल में हैं। पायथन की बड़ी चाल यह निर्धारित करने के लिए है कि भाषा के किस संस्करण का उपयोग किया जाए: 2.7 या 3.x। मैं आपके द्वारा उपयोग किए जाने वाले ट्यूटोरियल का उपयोग करता हूं और वहां से जाता हूं। एक बार जब आप इसे बेहतर कर लेते हैं, तो आप अन्य के साथ समायोजित कर सकते हैं क्योंकि परियोजनाएँ साथ आती हैं।
वर्ल्ड इंजीनियर

1
@kevincline: वास्तव में, पायथन अभ्यास के कुछ करने के बाद, यह मुझे बहुत परेशानी दे रहा है। IMHO, कुछ चीजें जो पर्ल में बेहद सरल हैं, पायथन में मुश्किल (एर) हैं।
डायनेमिक

4

मैं कहता हूँ कि लर्निंग पाइथन द हार्ड वे का उद्देश्य ; यह एक अच्छा तरीका है। वहां से जाओ; अन्य संसाधनों को खोजने के लिए आपको समय देने में काफी समय लगेगा।

मेरी राय में, एक अन्य उत्तर में वर्णित "पथ बी" इस स्तर पर उचित नहीं है।


1

ठीक है, मैंने उसी कारण से शुरुआत की क्योंकि मुझे हार्डवेयर पक्ष में कुछ ज्ञान था और प्रोग्रामिंग के साथ साज़िश की गई थी। मुझे नई चीजें सीखना पसंद है।

मैंने DOS बैच फ़ाइलों के साथ शुरू किया, फिर QuickBasic, फिर Visual Basic, VBA, MASM, के साथ एक्सेस के लिए डेटाबेस काम से पहले मेरी पहली नौकरी उतरा। मेरे लिए, यह सबसे अच्छा रास्ता था, सरल शुरू करना और फिर वहाँ से निर्माण करना।

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

वेब विकास सीखने में मदद करने के लिए एक भाषा के रूप में, जावास्क्रिप्ट निश्चित रूप से, PHP लोकप्रिय है, और पायथन, लेकिन वह IMHO है। यह माना जाता है कि आप HTML / CSS को जानेंगे या सीखेंगे। मैंने वास्तव में जावास्क्रिप्ट को कम करके आंका था, भले ही मैंने इसे 2001 के बाद से इस्तेमाल किया हो। मैंने सीएसएस के साथ भी यही किया है और मुझे नहीं लगता कि यह महत्वपूर्ण था। मैंने उस पर भी अपनी राय बदल दी है।

जब मैं एक प्रवृत्ति को निर्धारित करने की कोशिश करता हूं, तो मैं http://www.indeed.com पर जाता हूं और पृष्ठ के ऊपरी बाएं भाग में रुझान लिंक पर क्लिक करता हूं । फिर मैंने PHP और Python जैसे कीवर्ड्स डाले और देखे कि इंटरनेट पर आने वाले वास्तविक जॉब पोजीशन के लिए नीचे क्या रखा गया है।

हालांकि यह करियर के नजरिए से है और यह इस बात पर आधारित है कि मुझे क्लाइंट्स (नियोक्ताओं) के लिए सबसे ज्यादा अहमियत मिलती है। सिर्फ सीखने के नजरिए से नहीं।


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

-1

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

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