2012-11-22 15 views
10

ठीक है, मैं जावा प्रोग्रामर हूं बिना किसी कार्यात्मक प्रोग्रामिंग ज्ञान के।कुशलतापूर्वक OCaml कैसे सीखें?

अब मैं वर्तमान में 2 सप्ताह के लिए ओकैमल सीख रहा हूं, और मुझे ओकैमल के बारे में भी कोई संकेत नहीं मिलता है।

कई ट्यूटोरियल और किताबें यहाँ सुझाव हैं:

https://stackoverflow.com/questions/2073436/ocaml-resources

लेकिन उनमें से कोई अनुकूल लगता है। वास्तव में, मेरा मतलब है।

कोई भी ट्यूटोरियल या किताबों में से कम से कम मुझे Hello World त्वरित प्रारंभ देता है। दो हफ्तों के बाद, मुझे यह भी नहीं पता कि Ocaml के program entrance (जैसे main()) क्या है।

मुझे यह भी पता नहीं है कि वास्तव में ओकैमल कोड को फ़ाइल में कैसे लिखना है, और किसी भी तरह ओकैम इसे संकलित करने दें।

ठीक है, शिकायतें समाप्त हो गई हैं।

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

+2

[ocaml.org] (http://ocaml.org) वेबसाइट पर कई संसाधन प्रदान किए जाते हैं। इसके अलावा, एक नई किताब [रियल वर्ल्ड ओकैमल] (http://realworldocaml.org/) जल्द ही बाहर आ जाएगी। शायद आप इसे बेहतर पसंद करेंगे, लेकिन मैंने हमेशा सोचा था कि जेसन हिकी की किताब भी अच्छी थी। इसके अलावा, कृपया विशिष्ट प्रश्न पूछें और हम मदद करेंगे। –

उत्तर

13

क्या आपने TryOCaml वेबसाइट आजमाई है? यह एक अच्छी शुरुआत हो सकती है।

9

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

शुभकामनाएं, Kakadu

पी.एस. मुझे आशा है कि ओकैमल आपका अगला बड़ा प्यार होगा क्योंकि यह हम में से कई लोगों के लिए बन गया है।

+0

मैं एक ही ट्यूटोरियल से सीख रहा हूं, बस 'डेटा प्रकार और मिलान' समाप्त हुआ। लेकिन मुझे अभी भी 'कितना भयानक' नहीं मिला है। लेकिन हाँ, मैं इसे मास्टर करना चाहता हूं। –

+0

@ ककाडु वाह सिर्फ 4 और ओकंपल के प्रयास के कुछ हिस्सों और वाह यह इतना तार्किक और साफ है। बस मेरे मस्तिष्क को आश्चर्यजनक रूप से फिट बैठता है। – sayth

5

मेरे व्यक्तिगत अनुभव में मैंने पाया है कि λ-calculususus का एक अच्छा ज्ञान सीखने के लिए एक अच्छा प्रवेश (मंच) प्रदान करता है कार्यात्मक भाषा। लेकिन फिर फिर से मैं कार्यात्मक प्रोग्रामिंग के साथ पेश किया गया था, इसलिए मैं इसे अन्य दृष्टिकोणों से तुलना नहीं कर सकता।

आप this tutorial से λ-Calculus के लिए एक अच्छा परिचय प्राप्त कर सकते हैं। हालांकि इसे गणितीय सोच की थोड़ी सी आवश्यकता होती है और शायद खुद के अध्ययन के लिए बहुत उबाऊ हो सकती है। विश्वविद्यालय से कार्यात्मक प्रोग्रामिंग के λ-कैलकुस या नींव पर मॉड्यूल लेने के लिए आदर्श होगा।

ध्यान दें कि λ-calculल्कस ज्यादातर अधिकतर functions पहलू के बारे में बात करता है। लेकिन एक बार जब आप गणना के कार्यात्मक तरीके को समझ लेते हैं, तो शेष भाषा को निपटने में आसान होना चाहिए (कम से कम मुझे ऐसा लगा)।

सुनिश्चित नहीं है कि मैंने मदद की है या इसे और अधिक भ्रमित कर दिया है।

+2

क्षमा करें असिरी, हाँ, आपने इसे और अधिक भ्रमित कर दिया है। धन्यवाद –

+0

कोई चिंता नहीं, मुझे लगता है कि दूसरों ने आपको बहुत अच्छे पॉइंटर्स दिए हैं। अपने प्रयास के साथ आप सबको शुभकामनाएं! –

+0

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