एक पूरा कार्यक्रम का निर्माण?


15

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

बात यह है, यह वास्तव में आपको एक पूर्ण कार्यक्रम या वेबसाइट लिखने के लिए तैयार नहीं करता है। मान लीजिए कि आप वे किशोर हैं (केवल हाईस्कूल में, कोई भी सच्चा (कॉलेज स्तर का) कंप्यूटर विज्ञान या प्रोग्रामिंग पाठ्यक्रम और कोई वास्तविक दुनिया का अनुभव नहीं है), और आप ग्रुपन के साथ बाहर आते हैं। या यहां तक ​​कि मार्क जुकरबर्ग, यकीन है कि वह एक प्रतिभाशाली था, और वह एक बहुत ही सक्षम प्रोग्रामर था ... लेकिन कैसे?

आप कैसे अनुशंसा करते हैं कि जो लोग प्रोग्रामिंग के लिए नए नहीं हैं, लेकिन नए प्रोग्रामिंग के लिए वास्तविक अनुप्रयोग और वास्तविक प्रोग्रामर इसे विकसित करने के बारे में हैं? "विकास प्रक्रिया" क्या है - विशेष रूप से एकल प्रोग्रामर (या शायद 2-3 किशोर) के लिए?

इसके अलावा, जहां तक ​​वेब विकास जाता है, क्या प्रक्रिया है? क्या फेसबुक या Groupon की तरह कुछ एक फ्रेमवर्क के साथ लिखा गया था (जैसे PHP के लिए CodeIgniter या Zend)? या वे अपने स्वयं के ढांचे विकसित करते हैं? मैं यह नहीं पूछ रहा हूं कि एक महान विचार कैसे आया जाए, लेकिन एक प्रभावी तरीके से महान विचारों को कैसे लागू किया जाए? क्या किसी के पास सलाह है?

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


3
Reading books, watching videos, and reviewing tutorials is all very easy। हां, उन्हें पढ़ना आसान है, उन्हें समझना कठिन हिस्सा है।
यानिस २५'११ को

@Yannis Rizos वास्तव में, मैं उन्हें समझता हूं, और मैं बाद में इस बारे में बात करता हूं।
बॉब

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

1
@ThanosPapathanasiou सॉफ्टवेयर, हार्डवेयर या OO अवधारणा? :)
yannis

2
@YannisRizos कि आप जैसी चीजों को समझाने की सुंदरता एक दस साल की उम्र में होगी, आप एक सरल उदाहरण का उपयोग करने के लिए मजबूर होंगे जो तीनों को मिला देगा :)
थानोस पापनाथिसौ

जवाबों:


8

बस प्रोग्राम को कैसे जानना है, और किसी प्रोग्राम (सॉफ्टवेयर आर्किटेक्चर) को कैसे बनाना है, यह जानने के बीच अंतर है।

एक विशिष्ट प्रोग्रामिंग भाषा के बारे में एक सरल पुस्तक केवल आपको वे उपकरण सिखाएगी जिन्हें आप प्रोग्राम के आर्किटेक्चर की स्थापना के बारे में जाने के लिए उपयोग कर सकते हैं।

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

संसाधनों के व्यापक सेट के लिए, यह प्रश्न आपकी रुचि पैदा कर सकता है।

फिर भी यह जानने का सबसे अच्छा तरीका है कि एक पूरे कार्यक्रम को ठीक से कैसे तैयार किया जाए, ऐसा करने का अनुभव हाथों पर है और ऐसा करते समय सुझावों और नई तकनीकों के लिए बहुत खुला होना चाहिए।


6

यह (इंडी) खेल के विकास के साथ एक ही बहुत ही आम समस्या है: कैसे समाप्त करें।

यह सुनिश्चित करने के अलावा कि आप यह कर सकते हैं, या तो क्योंकि आपके पास सभी आवश्यक ज्ञान है या आप सीखने के इच्छुक हैं - और आपने जाँच की कि अन्य लोगों ने जाँच की कि यह असंभव नहीं था ...

... मुख्य बात जो "परिष्करण" संभव बनाती है वह है उद्देश्यों को निर्धारित करना

उद्देश्य लक्ष्य तक पहुँचने के लिए होते हैं, उन्हें यह नहीं बताना चाहिए कि वहाँ कैसे पहुँचें, केवल वही मूलभूत आवश्यकताएँ / सुविधाएँ हैं जिन्हें आपको अपने ऐप के पहले संस्करण को "समाप्त" मानने की आवश्यकता है। इसके अलावा, समय में भी उद्देश्य निर्धारित न करें।

अपने उद्देश्यों को कहीं लिखें। इसे लिखो।

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

यहां तक ​​कि खेल के डिजाइन में, हम जानते हैं कि आपको यह सुनिश्चित करने के लिए उद्देश्य प्रदान करने होंगे कि खिलाड़ी को पता है, यहां तक ​​कि एक सार तरीके से, उसे जो भी हासिल करने की आवश्यकता है, वह चाहे जो भी हो।


4

तैराकी के बारे में बहुत कुछ पढ़ना किसी को तैराक नहीं बनाता है। बेशक यह आवश्यक ज्ञान के साथ एक तैयार करता है, तैरने वाला बनने के लिए आपको पानी में कूदने के लिए मिला।

मैं देख रहा हूँ कि बहुत से लोग जिन्होंने इसे करने के बारे में सोचा / पढ़ा था, वे वही हैं जो सफल होते हैं।

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

मेरा मानना ​​है कि पीटर नर्विग का निबंध यहां प्रासंगिक है: 10 साल में खुद को प्रोग्रामिंग सिखाएं


2
अच्छा उत्तर! मेरे पास दो दोस्त हैं जो प्रोग्रामिंग को पढ़ना शुरू कर रहे हैं (उम्मीद कर रहे हैं) किताबें उम्मीद करते हैं कि एक दिन वे प्रोग्रामिंग शुरू करने के लिए तैयार होंगे । आपको ऐसा कभी महसूस नहीं होगा। बस ठंडे पानी में कूदें और एक वास्तविक परियोजना पर काम करना शुरू करें। यदि आपको लगता है कि यह बहुत जटिल है, तो एक छोटा चुनें। जब तक यह खत्म नहीं हो जाता तब तक इस पर काम करें। परियोजना के दौरान, खुले मुद्दों के अनुसार किताबें और रीडिंग देखें, जो आपके पास जाते हैं।
जियोर्जियो

1

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

उम्मीद है की यह मदद करेगा..


0

संक्षिप्त उत्तर, अपने लक्ष्य निर्धारित करें और शुरू करें।

आपके पास इसे सिखाने के लिए कोई पुस्तक या तरीका नहीं है, लेकिन अनुभव पर हाथ रखें।

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

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

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

पुस्तकें (सामान्य संदिग्ध):


0

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

आपके द्वारा कुछ कोड लिखे जाने के बाद, प्रोग्रामिंग तकनीकों के बारे में पुस्तकों का अर्थ बहुत अधिक होगा।


0

जब आप बाहर जा रहे हैं और कुछ कार्यक्रमों को लिखने का प्रयास करें जिन्हें आप बेचना चाहते हैं, तो मैं आपको सलाह देता हूं कि आप "विकास के विकास की परत" के बारे में जोएल स्पोल्स्की के इस निबंध को पढ़ें।

http://www.joelonsoftware.com/articles/DevelopmentAbstraction.html

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