2008-09-19 15 views
20

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

+11

बीटीडब्ल्यू, मुझे लगता है कि यह बहुत समृद्ध है कि आपके पास "चिकन" का उपयोगकर्ता नाम है और योजना के मूल्य पर सवाल उठा रहे हैं! http://www.call-with-current-continuation.org/ –

+5

योजना सीखना शुरू करने के लगभग 4 साल बाद यह लगभग 4 साल है। मैं उत्सुक हूं कि आपको लगता है कि यह सीखने के फायदे वापस देख रहे थे। –

उत्तर

32

यह एक कार्यात्मक प्रोग्रामिंग भाषा है और आपके अनुभव को व्यापक रूप से विस्तृत करेगी।

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

I इच्छा मेरे स्कूल ने हमें एक कार्यात्मक प्रोग्रामिंग भाषा सीखने के लिए मजबूर किया।

1

मेरी समस्या यह थी कि इसे सीखते समय हमने इसके साथ-साथ कुरकुरा सीखा। मैं अपने जीवन को बचाने के लिए दो स्ट्रेट नहीं रख सका।

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

अगर मुझे ऐसा करने की ज़रूरत नहीं है, तो मैं कभी भी योजना में प्रोग्राम नहीं करना चाहूंगा या फिर मुझे लापरवाही नहीं करना चाहूंगा, लेकिन मुझे खुशी है कि मैंने कार्यक्रम में अलग-अलग तरीके से सीखने के लिए कम से कम कुछ किया है।

6

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

मेरे परिचय पाठ्यक्रम में, हमें जावा सिखाया जाता है, और मुझे लगता है कि मेरे बहुत सारे दोस्त 'सार्वजनिक स्थैतिक शून्य मुख्य' के साथ संघर्ष कर रहे हैं, भले ही यह कार्यक्रम का बिंदु न हो और प्रोफेसर के पास 'हैंडवेव' जब तक वे अधिक उन्नत नहीं होते हैं। आप योजना में नहीं देखते हैं।

तुम सच में जानने के लिए क्या योजना केक का एक टुकड़ा है कि जावा जैसी भाषाओं में लागू करने के लिए वास्तव में कड़ी मेहनत है में कर सकते हैं चाहते हैं, मैं इस पर देख सलाह देते हैं: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-12.html#%_sec_1.3

यह शायद सबसे अच्छा किताब योजना पर लिखा है ।

8

LISP (और बहुत करीबी से संबंधित योजना) जैसी भाषाएं प्रोग्रामिंग के लिए हैं जो लैटिन अंग्रेजी में है।

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

योजना के लिए भी यही सच है।

6

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

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

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

3

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

+0

नासा जिज्ञासा! – Timeless

1

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

यदि आप योजना सीख रहे हैं, तो आप ऑब्जेक्ट सिस्टम कैसे कार्यान्वित किए जाते हैं, इस बारे में सब कुछ सीख सकते हैं (संकेत: ऑब्जेक्ट सिस्टम हमेशा उस प्रकार के बारे में नहीं होता है जिसमें विधियों और आवृत्ति चर शामिल हैं ...)। हालांकि इस प्रकार का ज्ञान आपके दैनिक काम के 9 5% में मदद नहीं करेगा, आपके काम का 5% आप उस ज्ञान पर निर्भर करेंगे।

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

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

संक्षेप में, सीखने की योजना में बिंदु यह है कि आप प्रोग्रामिंग के मूलभूत सिद्धांतों को सीख सकते हैं।

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

6

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

1

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

+0

योजना एक शुद्ध कार्यात्मक भाषा नहीं है। – newacct

+0

सच है, लेकिन यदि योजना का उपयोग मुख्य रूप से गैर-कार्यात्मक है तो आपको योजना का उपयोग नहीं करना चाहिए। कोई भी जो कार्यात्मक प्रोग्रामिंग की ठोस समझ प्राप्त किए बिना योजना सीखता है, सफलतापूर्वक "सीखा" योजना नहीं है। – Reggie

संबंधित मुद्दे