सवाल यह है कि असली दुनिया में एकरूपता कितनी मूल्यवान है?
शायद काफी महत्वपूर्ण: इन दिनों सर्वर-पक्ष जावास्क्रिप्ट करने वाले सभी लोगों को देखें। जावास्क्रिप्ट किसी भी चीज़ पर उत्कृष्ट नहीं है, और सर्वर-साइड कोड के लिए इसका लाइब्रेरी समर्थन बिल्कुल बढ़िया नहीं है, लेकिन इसका उपयोग करके बड़े लाभ प्राप्त किए जा सकते हैं।
जब भी कुछ भी गलत हो जाता है, तो आप Firebug में पेज लोड करने के लिए है,
क्या "कुछ भी" है पर निर्भर करता है। मैं वास्तव में याद नहीं कर सकता कि आखिरी बार मुझे फ़ायरबग खोलना था कि क्या गलत हो रहा है - मैं निश्चित रूप से चरणों के माध्यम से रहा हूं, लेकिन यह कई बार भी नहीं है जब यह नहीं है।
उदाहरण के लिए, यदि आप अपने सीएसएस को एस-एक्सप से उत्पन्न करते हैं, तो आपके सीएसएस के साथ परेशानी केवल आपको अजीब सिंटैक्स मुद्दों (जैसे आई 6 चाल) के लिए "संकलित" सीएसएस को देखने की आवश्यकता हो सकती है। यदि आप केवल पृष्ठ को देखते हैं और निर्णय लेते हैं कि आपको अतिरिक्त सीमा की आवश्यकता है, तो आप (:border 1)
जोड़ सकते हैं और इसके साथ किया जा सकता है। (बेशक, यदि आप क्लाइंट को सेवा देने के लिए सीएसएस नियमों का एक पूरा सेट उत्पन्न करने के लिए संसाधित करते हैं, तो यह एक बड़ी जीत भी है।)
इसके बारे में सोचने का एक और तरीका: बहुत दुर्लभ मौकों पर मुझे इसकी आवश्यकता है एक आधुनिक वेब ऐप पर काम करते समय एक पैकेट स्निफर और एक डिस्सेबलर खींचें। हाँ, यह बेकार है, लेकिन अच्छी पुस्तकालयों के साथ, यह भी बहुत असामान्य है। मुझे उस स्तर के स्तर की आवश्यकता होने पर दुर्लभ अवसर पर एक पैकेट स्निफर पर स्विच करने के प्रतिबाधा विसंगति से बचने के लिए पूरे दिन निम्न स्तर का कोड लिखना नहीं होगा।
यह मानता है कि आप उस स्तर पर जा सकते हैं जहां आप लिख रहे हैं (वी) एचएलएल कोड।सामान्य लिस्प सी सी होने पर सी को हरा नहीं सकता है, और यदि आप एचटीएमएल में एक साधारण ब्लॉग थूकने की कोशिश कर रहे हैं तो आप वहां मीठे स्थान पर नहीं हैं, या तो रेल पहले से ही इस तरह की चीज़ पर अच्छा है। लेकिन वहां बहुत सारे प्रयोगात्मक प्रोग्रामिंग हैं जहां सर्वर के बजाए क्लाइंट पर एक ध्वज और रन कोड बदलने में सक्षम होना उपयोगी है।
और फिर आप उत्पन्न एचटीएमएल, सीएसएस, और जावास्क्रिप्ट को देखेंगे, लिस्प स्रोत नहीं, इसलिए आपको अपने सिर में मैपिंग रखना होगा। क्या लिस्प द्वारा प्रदान की गई एकरूपता वास्तव में कुछ भी हल करती है, या समस्या पर सिर्फ वॉलपेपर, जो अंत में फिर से नीचे की ओर आती है?
मैं सभी लिस्प और सभी जावास्क्रिप्ट वेब क्षुधा लिखा है, और मुझे लगता है कि सबसे अच्छा जवाब मैं अभी दे सकते है: यह सकता। मैंने पेरेंटस्क्रिप्ट का उपयोग किया है, और बड़ी समस्या यह है कि माता-पिता एक लिस्प-वाई भाषा है लेकिन यह सामान्य लिस्प नहीं है, न ही यह कोई अन्य पूर्ण भाषा है जिसका आप सर्वर पक्ष पर उपयोग कर सकते हैं। (यदि जावास्क्रिप्ट कंपाइलर के लिए एक सामान्य लिस्प था, जैसे जीडब्ल्यूटी जावा के लिए है, तो यह बहुत अच्छा होगा। हालांकि, मुझे किसी को भी गंभीर बनाने की कोशिश नहीं कर रहा है।) तो आप अभी भी मिल चुके हैं, जैसा कि आप देखते हैं, दो भाषाएं।
जावास्क्रिप्ट आज थोड़ा बेहतर है, इस संबंध में, क्योंकि आप दोनों जगहों पर बिल्कुल वही कोड चला सकते हैं। यह काफी आदर्श नहीं है क्योंकि आपके सर्वर-पक्ष जावास्क्रिप्ट में ऐसी विशेषताएं हैं जिनकी आप गारंटी नहीं दे सकते हैं, क्लाइंट-साइड पर मौजूद होंगे (जब तक कि आप अपने उपयोगकर्ताओं को फ़ायरफ़ॉक्स के हाल के संस्करणों को सीमित न करें)। यदि आप मेरे जैसे हैं, तो आप अपने सर्वर कोड को जेएस पर सीमित नहीं करना चाहते हैं जो हर ब्राउज़र में चलने के लिए होता है, इसलिए आपका सर्वर-साइड जेएस और क्लाइंट-साइड जेएस कमजोर होगा। यह एक डीलब्रेकर नहीं है - यह अभी भी बहुत अच्छा है - लेकिन यह अभी भी 2 अलग-अलग भाषाओं है।
मुझे लगता है कि यह एक बहुत अच्छा होगा यदि कोई प्रोग्राम था जो नवीनतम जावास्क्रिप्ट (1.8.5) में लिखा गया कोड ले सकता है, और किसी भी ब्राउज़र में चलने वाले पुराने स्कूल जावास्क्रिप्ट उत्पन्न करता है। मुझे नहीं लगता कि ऐसा एक कार्यक्रम मौजूद है, लेकिन मुझे नहीं पता कि यह कितना मुश्किल होगा।
जावास्क्रिप्ट के लिए योजना कार्यान्वयन हैं, और इसलिए शायद योजना के साथ स्थिति बेहतर है। मुझे शायद इन दिनों में से किसी एक को देखना चाहिए।
मैं सर्वर-साइड भाषा का उपयोग करने के दौरान अक्सर निराश हूं जो मेरी क्लाइंट-साइड भाषा (जावास्क्रिप्ट) से बिल्कुल अलग है। लेकिन फिर भी मैं निराश हूं जब मुझे ऐसी भाषा का उपयोग करना है जो लिस्प की तुलना में निम्न-स्तर है (जो उनमें से अधिकतर है)। क्या यह अधिक लिस्प-जैसी, या अधिक जावास्क्रिप्ट की तरह एक बड़ी जीत है? मुझे नहीं पता। काश मैं चुनना नहीं था।