एक चीज जो मुझे दूसरे दिन हुई, वह विशिष्ट प्रकार अभी भी आवश्यक है या एक विरासत जो हमें वापस पकड़ रही है। मेरा मतलब है: क्या हमें वास्तव में शॉर्ट, इंट, लॉन्ग, बिगिंट आदि की आवश्यकता है।
मैं समझता हूं कि तर्क, चर / वस्तुओं को स्मृति में रखा जाता है, स्मृति को आवंटित करने की आवश्यकता होती है और इसलिए हमें यह जानना होगा कि एक चर कितना बड़ा हो सकता है। लेकिन वास्तव में, क्या एक आधुनिक प्रोग्रामिंग भाषा को "अनुकूली प्रकार" को संभालने में सक्षम नहीं होना चाहिए, अर्थात, अगर कुछ केवल कभी शॉर्टलाइन रेंज में आवंटित किया जाता है तो यह कम बाइट्स का उपयोग करता है, और अगर कुछ अचानक एक बहुत बड़ी संख्या आवंटित की जाती है तो मेमोरी आवंटित की जाती है। आमतौर पर उस विशेष उदाहरण के लिए।
फ्लोट, रियल और डबल एक बिट ट्रिकियर हैं क्योंकि टाइप इस बात पर निर्भर करता है कि आपको किस परिशुद्धता की आवश्यकता है। हालांकि स्ट्रिंग्स को कई उदाहरणों (.Net) में कम मेमोरी लेने में सक्षम होना चाहिए, जहां ज्यादातर एएससीआई का उपयोग किया जाता है, लेकिन यूथिंग स्ट्रिंग्स हमेशा यूनिकोड एन्कोडिंग के कारण मेमोरी को दोगुना कर देते हैं।
विशिष्ट प्रकारों के लिए एक तर्क यह हो सकता है कि यह विनिर्देशन का हिस्सा है, उदाहरण के लिए एक चर एक निश्चित मूल्य से बड़ा नहीं हो सकता है इसलिए हम इसे संक्षिप्त रूप में सेट करते हैं। लेकिन इसके बजाय टाइप की अड़चनें क्यों नहीं हैं? यह चर (और गुण) पर अनुमेय श्रेणियों और मूल्यों को सेट करने में सक्षम होने के लिए बहुत अधिक लचीला और शक्तिशाली होगा।
मुझे यह पता चला है कि इस प्रकार की वास्तुकला को बदलने में अपार समस्या है क्योंकि यह अंतर्निहित हार्डवेयर के साथ बहुत कसकर एकीकृत है और क्रमबद्धता जैसी चीजें वास्तव में मुश्किल हो सकती हैं। लेकिन एक प्रोग्रामिंग दृष्टिकोण से यह महान नहीं होना चाहिए?
type hour is range 0 .. 23;