अर्थात् स्तर पर इस भाषा के लिए कोई भी भाषा का समर्थन करने का मुख्य कारण यह नहीं है कि इस तरह की सुविधा के लिए पर्याप्त आम एक सामान्य संप्रदाय को खोजने के लिए विभिन्न आवश्यकताएं बहुत अलग हैं। डेटा छिपाना उतना ही खराब है जितना कि यह है, और जब आपको और अधिक बढ़िया दाग नियंत्रण की आवश्यकता होती है तो यह केवल बदतर हो जाता है।
ऐसी भाषा के फायदे होंगे, उदाहरण के लिए, आप किसी भी डेटा के लिए निजी डेटा को चिह्नित कर सकते हैं लेकिन ऑब्जेक्ट जिसने इसे बनाया है (पासवर्ड एक महान उदाहरण होगा: उसी एप्लिकेशन में चलने वाला कोड भी उन्हें पढ़ नहीं सकता)।
दुर्भाग्य से, यह "सुरक्षा" असेंबलर स्तर पर सतही होगा, सुरक्षा मौजूद नहीं होगी। कुशल होने के लिए, हार्डवेयर को इसका समर्थन करने की आवश्यकता होगी। इस मामले में, शायद राम में एक बाइट के स्तर पर। इससे ऐसा एप्लिकेशन बेहद सुरक्षित और दर्दनाक धीमा हो जाएगा।
असली दुनिया में, आप इसे अपने मुख्य बोर्ड पर TPM chip में और सीपीयू के एमएमयू टेबल के साथ, बहुत मोटे रूप में पाएंगे। लेकिन यह एक 4 के पेज स्तर पर है, बाइट स्तर पर नहीं। दोनों को संभालने के लिए पुस्तकालय हैं लेकिन यह "भाषा समर्थन" आईएमओ के रूप में नहीं गिना जाता है।
जावा के पास Security API के रूप में ऐसा कुछ है। आपको प्रश्न में कोड को एक अभिभावक में लपेटना चाहिए जो मौजूदा SecuityManager
से पूछता है कि पहुंच की अनुमति है या नहीं।
पायथन में, आप सजावटकर्ताओं (विधियों और कार्यों के लिए) के समान कुछ प्राप्त कर सकते हैं या __setattr__
और __getattr__
को फ़ील्ड एक्सेस के लिए लागू कर सकते हैं।
स्रोत
2009-08-05 14:07:06
मैंने क्लास-आधारित पहुंच स्तर को लागू करने वाली भाषाओं की सूची में PHP जोड़ने की स्वतंत्रता ली। –