मैं हास्केल सीखना शुरू कर रहा हूं । मैं इसके लिए बहुत नया हूं, और मैं अपने मूल निर्माणों के बारे में जानने के लिए ऑनलाइन पुस्तकों के एक जोड़े के माध्यम से पढ़ रहा हूं।
एक 'मेम' जो इससे परिचित लोगों ने अक्सर बात की है, वह है "संपूर्ण" यदि यह संकलन करता है, तो यह काम करेगा * "बात - जो मुझे लगता है कि टाइप सिस्टम की ताकत से संबंधित है।
मैं यह समझने की कोशिश कर रहा हूं कि वास्तव में हास्केल इस संबंध में अन्य सांख्यिकीय रूप से टाइप की गई भाषाओं से बेहतर क्यों हैं ।
एक और रास्ता रखो, मैं जावा में मानता हूं, आप कुछ ऐसा ArrayList<String>()
करने के लिए दफनाने जैसा कुछ कर सकते हैं
जो वास्तव में होना चाहिए ArrayList<Animal>()
। यहाँ जघन्य बात यह है कि आपके string
सम्मिलित हैं elephant, giraffe
, आदि, और यदि कोई डालता है Mercedes
- आपका कंपाइलर आपकी मदद नहीं करेगा।
अगर मैं किया करते ArrayList<Animal>()
समय में कुछ बाद में किसी समय है, तो, अगर मैं तय मेरी कार्यक्रम, जानवरों के बारे में वास्तव में नहीं है, यह वाहनों के बारे में है, तो मैं, बदल सकते हैं कहते हैं, एक समारोह है कि पैदा करता है ArrayList<Animal>
निर्माण करने के लिए ArrayList<Vehicle>
और मेरे आईडीई मुझे हर जगह वहाँ बताना चाहिए एक संकलन विराम है।
मेरी धारणा यह है कि यह एक मजबूत प्रकार की प्रणाली से लोगों का मतलब है , लेकिन यह मेरे लिए स्पष्ट नहीं है कि हास्केल बेहतर क्यों है। एक और तरीका रखो, आप अच्छा या बुरा जावा लिख सकते हैं, मेरा मानना है कि आप हास्केल में ऐसा कर सकते हैं (यानी स्ट्रिंग्स / इन्ट्स में सामान जो वास्तव में प्रथम श्रेणी के डेटा प्रकार होने चाहिए)।
मुझे संदेह है कि मुझे कुछ महत्वपूर्ण / बुनियादी याद आ रही है।
मुझे अपने तरीकों की त्रुटि दिखा कर बहुत खुशी होगी!
Maybe
केवल अंत की ओर क्यों उल्लेख करते हैं। अगर मुझे सिर्फ एक बात चुननी थी कि अधिक लोकप्रिय भाषाओं को हास्केल से उधार लेना चाहिए, तो यही होगा। यह एक बहुत ही सरल विचार है (इसलिए सैद्धांतिक दृष्टिकोण से बहुत दिलचस्प नहीं है), लेकिन यह अकेले हमारे काम को इतना आसान बना देगा।