स्मॉलटाक के हालिया परिचय ने मुझे 'शुद्ध' ऑब्जेक्ट उन्मुख शैली के अनुप्रयोग और लाभों पर प्रबुद्ध किया है। मैंने पहले रूबी में इसका लाभ देखा था, हालांकि गैर ऑब्जेक्ट उन्मुख if
, unless
इत्यादि की उपस्थिति प्रतीत होती है जैसे यह चीजों को सभी तरह से नहीं ले जाती थी।कुछ 'शुद्ध' वस्तु-उन्मुख भाषाओं में से कुछ क्या हैं?
यहां शुद्ध करके, मैं बुलियन & संग्रहों पर प्रवाह नियंत्रण विधियों का उपयोग करने के बजाय 'सबकुछ एक वस्तु है' (ब्लॉक या कुछ समान कार्यों के साथ) और प्रक्रियात्मक-शैली प्रवाह नियंत्रण जैसी चीजों के बारे में बात कर रहा हूं।
फिर भी, स्मॉलटाक जैसी भाषा में कुछ चीजें ऑब्जेक्ट उन्मुख नहीं होने के कारण खड़ी होती हैं। उदाहरण के लिए विशेष वाक्यविन्यास (: = 'की बजाय' है: 'या इसी तरह की विधि के बिना वैरिएबल असाइनमेंट करना संभव नहीं लगता है) और फ़ंक्शन से मूल्यों को वापस करने के लिए^ऑपरेटर की आवश्यकता होती है जो' प्रतीत नहीं होता है किसी भी वस्तु के लिए।
क्या ऐसी कोई भाषाएं हैं जो इस शैली को और भी आगे ले जाती हैं?
शुद्धता का लाभ क्या है? शुद्धता ने अन्य कार्यात्मक भाषाओं की तुलना में हास्केल के पास काफी अधिक सीखने की वक्र बनाई है क्योंकि प्रक्रियाओं के दृष्टिकोण से मोनैड को समझना बहुत मुश्किल है। –
@ क्रिस: हाँ, लेकिन मोनैड * शानदार * होते हैं जब आप उन्हें प्राप्त करते हैं। दूसरी तरफ, यह सवाल शुद्धता की बात को थोड़ा दूर ले जाने जैसा लगता है ... निश्चित रूप से, आप रिटर्न वैल्यू छोड़ सकते हैं और इसके बजाय ऑब्जेक्ट स्टेटस के माध्यम से जाने के लिए उस तरह के संचार की आवश्यकता होती है (एक विधि को कॉल करें जिसके परिणामस्वरूप कुछ भी नहीं होता है, फिर उपयोग करें 'self.result'), लेकिन एक कारण है कि हम प्रोग्रामर आमतौर पर जितना संभव हो सके सबकुछ के दायरे को रखने की कोशिश करते हैं। इसके अलावा, यह विधि श्रृंखला को तोड़ देगा क्योंकि कोई रिटर्न वैल्यू नहीं है, जब तक कि आप उस ऑब्जेक्ट प्रॉपर्टी को उस मान के रूप में परिभाषित न करें, लेकिन फिर हम जादू पर वापस आ जाएंगे। और सूची खत्म ही नहीं होती। – delnan
मैं पूरी तरह से पहचानता हूं कि इस संबंध में शुद्धता चीजों को सुंदर वर्बोज़ और संभावित रूप से निष्पादित नहीं कर सकती है, लेकिन एक बहुत ही छोटे और लगातार नियम वाले भाषा में भी एक महत्वपूर्ण लाभ है। उस ने कहा, मुझे ऐसी भाषा मिलना अच्छा लगेगा जिसने चीजों को चरम पर ले लिया है, भले ही सिर्फ एक अच्छी चीज के अच्छे उदाहरण के लिए। – donalbain