2010-12-15 16 views
12

हम जानते हैं कि जावास्क्रिप्ट सामने के अंत में सबसे लोकप्रिय और व्यापक रूप से उपयोग की जाने वाली भाषा में से एक है। मुझे आश्चर्य है कि इसका व्यापक रूप से उपयोग नहीं किया जाता है?सर्वर पक्ष जावास्क्रिप्ट का व्यापक रूप से उपयोग क्यों नहीं किया जाता है?

+0

क्योंकि यह वास्तव में सर्वर-साइड भाषा होने का मतलब नहीं है? –

+8

यह न तो व्यक्तिपरक है, न ही तर्कवादी है। यह वास्तविक उत्तरों के साथ एक वैध सवाल है। –

+3

पहली बार मैंने 'स्क्रिप्ट टाइप = "टेक्स्ट/जावास्क्रिप्ट" टैग पर' runat = "सर्वर" विशेषता देखी, मैंने अपने मुंह में फेंक दिया – hunter

उत्तर

3

संक्षिप्त उत्तर: क्योंकि बहुत बेहतर विकल्प हैं।

लांग जवाब: क्योंकि यह पूरी तरह व्याख्या की है (और अक्सर अच्छी तरह से नहीं - जैसे IE6), प्रदान करता है कोई मानक मैं/हे क्या पर्यावरण देता है, एक ढीला व्याकरण कि मुश्किल में जो परिणाम कोड सत्यापित करने के लिए किया गया है के अलावा अन्य तंत्र, और कई लोगों को प्रोटोटाइप-आधारित ओओ कक्षा-आधारित ओओ से निपटने के लिए बहुत कठिन लगता है।

+1

* "क्योंकि यह पूरी तरह से व्याख्या की गई है ..." * नहीं रहा [रखरखाव] (http://code.google.com/p/v8/)? * "पर्यावरण के अलावा अन्य I/O तंत्र प्रदान करता है" * तो, दुनिया में हर दूसरी भाषा की तरह, फिर। I/O भाषा सुविधा नहीं है, यह एक [पर्यावरण सुविधा] है (http://nodejs.org/)। * "एक ढीला व्याकरण है जिसके परिणामस्वरूप कोड सत्यापित करना मुश्किल होता है" * व्याकरण ढीला नहीं होता है। मैं सहमत हूं कि कोड सत्यापन समृद्ध गतिशील भाषाओं के साथ चुनौतीपूर्ण हो सकता है। –

+0

@TJ - वह Google प्रोजेक्ट एक दुभाषिया नहीं है, एक संकलक नहीं। मेरा मतलब है कि इसमें सी, सी ++, सी #, जावा इत्यादि के विपरीत, इसके मानक कार्यान्वयन में कोई I/O नहीं है। मैं वैकल्पिक अर्धविरामों का वर्णन करता हूं, सिवाय इसके कि जब वे ढीले व्याकरण सुविधा के रूप में वैकल्पिक नहीं होते हैं। – OrangeDog

+0

"अर्धविराम सम्मिलन" की मूर्खता के बारे में आपसे अधिक सहमत नहीं हो सका, आप वहां बिल्कुल सही हैं। ** वाह ** मेरी इच्छा है कि वे इसे सख्त मोड में तय करेंगे। वी 8 मूल रूप से एक दुभाषिया के बजाय एक जेआईटी संकलक है। वास्तव में, यह एक अनुकूलन जेआईटी कंपाइलर है (हाल ही में हॉटस्पॉट विश्लेषण और अनुकूलन के साथ दो चरण)। कोई अंतर नहीं है कि एक अंतरिम प्रारूप को संग्रहीत नहीं किया जा सकता है (राइनो यह करता है; जावा बाइटकोड में जावास्क्रिप्ट संकलित करता है), भाषा गतिशील संरचनाओं की अनुमति देने के अलावा इसे अन्यथा नहीं रोकती है। –

5

जावास्क्रिप्ट लोकप्रिय और व्यापक रूप से सामने के अंत में उपयोग किया जाता है क्योंकि इसमें महत्वपूर्ण द्रव्यमान है, जरूरी नहीं कि यह एक उत्कृष्ट भाषा है। कोई क्लाइंट-साइड कोड के लिए जावास्क्रिप्ट लिखने का निर्णय नहीं लेता है; वे बस होना चाहिए, क्योंकि प्रत्येक ब्राउज़र इसका समर्थन करता है। पिछली छोर पर, अन्य भाषाओं (जावा, PHP, पायथन, रूबी, ...) जावास्क्रिप्ट नहीं कर सकते हैं कि फायदे प्रदान करते हैं।

+1

वास्तव में, कॉफीस्क्रिप्ट ब्राउज़र में लेखन (पारंपरिक) जावास्क्रिप्ट की आवश्यकता से बचने का प्रयास है, या तो। –

10

यह Google के V8 इंजन के लिए अधिक व्यापक रूप से उपयोग किया जा रहा है। Node.js पर एक नज़र डालें। मुझे लगता है कि खराब प्रदर्शन से पहले इसकी प्रभावशीलता सीमित है।

नोड.जेएस आपको आंखों के झपकी में और अधिकतर ओओपी तरीके से बहु-थ्रेडेड कस्टम वेब सेवाओं को लिखने देता है। मुझे लगता है कि आप देखेंगे कि बैक एंड पर जावास्क्रिप्ट बस चल रहा है।

मुझे लगता है कि केवल एक चीज यह पकड़े वापस — है के रूप में अन्य लोगों ने कहा — एक बड़े करीने से पैक किया और मानकीकृत (लिनक्स के लिए कम से कम) ड्रॉप-में समाधान की कमी है। इस समाधान को प्रमुख होस्टिंग कंपनियों द्वारा उठाया जाना चाहिए और इसके लिए आईएमएचओ को वास्तव में बंद करने के लिए उनके उत्पाद प्रसाद के हिस्से के रूप में जोड़ा जाना चाहिए। यदि ऐसा होता है तो मुझे लगता है कि आप पाएंगे कि यह बैक-एंड सर्वर स्पेस में विस्फोट कर देगा।

माइक्रोसॉफ्ट ने 1 99 8 से "जावास्क्रिप्ट" (एकेए जेस्क्रिप्ट) के साथ बैक-एंड सिस्टम प्रोग्राम करने की क्षमता प्रदान की है, जिसमें ASP पेशकश है। आप अभी भी जेस्क्रिप्ट के साथ एएसपी.NET अनुप्रयोग विकसित कर सकते हैं। तो यह कुछ भी नया नहीं है। मुझे लगता है कि इसका कारण एएसपी या एएसपी.NET अनुप्रयोगों के लिए व्यापक रूप से उपयोग नहीं किया जाता है क्योंकि वीबीस्क्रिप्ट "डिफ़ॉल्ट" है और सी # अधिक अनुभवी पेशेवरों के लिए पसंदीदा भाषा प्रतीत होता है। लेकिन कंपनी नीतियों को छोड़कर आपको कुछ भी रोक नहीं रहा है जो अक्सर डेवलपर्स को कॉर्पोरेट विकास के लिए एक ही भाषा में प्रतिबंधित करता है। कॉरपोरेट इकाइयों द्वारा जेस्क्रिप्ट का अधिक इस्तेमाल नहीं किया जा सकता है, इसका कारण यह है कि यह "appears no longer to be actively developed." वास्तव में माइक्रोसॉफ्ट वास्तव में कभी भी "मार्केट" डेवलपर्स के लिए जेस्क्रिप्ट। या कम से कम उतना ही नहीं जितना उन्होंने सी # & वीबीस्क्रिप्ट किया था। तो मुझे लगता है कि यह इसे वापस पकड़ सकता है।

+2

मुझे लगता है कि गरीब * एक्सपोजर * इससे पहले इसका उपयोग सीमित कर दिया गया था। यह उस समय सर्वर-साइड उपयोग के लिए उपलब्ध था जब अन्य सर्वर-साइड तंत्रों में भी गंभीर प्रदर्शन समस्याएं थीं, लोगों ने विशेष रूप से * इसका उपयोग नहीं किया था। नोडजेस सामान के लिए +1, हालांकि, और अवलोकन कि यह संभवतया बस बंद होने वाला है। मैं वर्षों से सर्वर पर जावास्क्रिप्ट का उपयोग कर रहा हूं, यह सिर्फ ** ** ** एक भाषा का उपयोग करने के लिए सुविधाजनक है। –

+0

खराब प्रदर्शन कोई कारण नहीं है, मैंने PHP, .NET (C#), पर्ल और जेस्क्रिप्ट प्रोग्राम किया है, जेस्क्रिप्ट सबसे गरीब कलाकार नहीं है। – KooiInc

+0

जो मुझे लगता है उसके बारे में टिप्पणियां जो इसे वापस पकड़ रही हैं, और सबूत है कि यह 1 99 8 से आसपास रहा है। – sholsinger

2

मैं कहूंगा कि यह सिर्फ इतिहास का दुर्घटना है। जावास्क्रिप्ट का जन्म नेटस्केप में क्लाइंट-साइड भाषा के रूप में हुआ था और कभी भी संक्रमण नहीं हुआ था।

इसे आज प्रमुख सर्वर-साइड वेब भाषाओं की तुलना में, मुझे लगता है कि सबसे स्पष्ट अंतर यह है कि बैटरी जावास्क्रिप्ट के साथ शामिल नहीं हैं। कोई मानक पुस्तकालय नहीं है।

पाइथन, PHP, रूबी, आदि की तुलना करें, जिनमें सभी के पास शानदार मानक पुस्तकालय हैं जो वेब प्रोग्रामिंग को और अधिक आकर्षक बनाते हैं।

+0

नाइटपिक: वास्तव में, जावास्क्रिप्ट क्लाइंट और सर्वर दोनों के लिए एक वेब स्क्रिप्टिंग भाषा के रूप में पैदा हुआ था। असल में, इसका कारण मूल रूप से लाइवस्क्रिप्ट कहा जाता था (और नहीं, उदाहरण के लिए, नेविगेटरस्क्रिप्ट) क्योंकि यह नेटस्केप लाइववायर वेब एप्लिकेशन फ्रेमवर्क के लिए स्क्रिप्टिंग भाषा के रूप में भेजा गया था जो नेटस्केप एंटरप्राइज़ सर्वर 2.0 और बाद में हिस्सा था। हालांकि, मैं आपके निष्कर्ष से सहमत हूं। सर्वरसाइड प्रोग्रामिंग के लिए भाषा का उपयोग करना मुश्किल है, जो फ़ाइल सिस्टम से फ़ाइल भी नहीं पढ़ सकता है। –

0

मुझे लगता है कि उत्तर यह हो सकता है कि क्लाइंट-साइड के लिए क्या अच्छा है सर्वर-पक्ष के लिए हमेशा अच्छा नहीं है। उदाहरण के लिए, जावास्क्रिप्ट (सामान्य रूप से ईसीएमएस्क्रिप्ट .. एक्शनस्क्रिप्ट) एक बहुत ही लापरवाही और क्षमा करने वाली भाषा है, जो आपको बहुत सी चीजों से दूर जाने की अनुमति देती है। क्लाइंट-साइड में यह अक्सर स्वीकार्य नहीं बल्कि बेहतर भी होता है।उपयोगकर्ता अनुभव को बेहतर बनाने के लिए आप अक्सर अपने यूआई को जितना संभव हो सके चिकनी और क्षमा करना चाहते हैं।

सर्वर पक्ष पर, हालांकि, यह आमतौर पर एक अलग कहानी है, और इसलिए, मुझे विश्वास है कि, उस पक्ष पर हावी होने वाली भाषाएं अधिक दृढ़ता से टाइप और कठोर हैं।

स्केल का मुद्दा भी है। क्लाइंट-साइड यूआई एप्लिकेशन के आम तौर पर छोटे कोड-बेस के लिए क्या काम करता है, हमेशा सर्वर पक्ष के लिए काम नहीं करता है, जिसे कई मुद्दों से निपटना पड़ता है जो क्लाइंट-साइड में वास्तव में एक प्रमुख चिंता नहीं हैं। जैसे प्रदर्शन, पैकेजिंग, स्केलेबिलिटी - क्लाइंट कोड (आमतौर पर) से सर्वर कोड के लिए ये अधिक महत्वपूर्ण हैं और इसलिए यह समझ में आता है कि लोग सर्वर साइड काम के लिए जेएस क्यों नहीं चुनेंगे।

+0

PHP, कठोर? 1234 –

5

मैं इस पर एक विशेषज्ञ नहीं हूं, लेकिन डगलस क्रॉकफोर्ड "जावास्क्रिप्ट: द गुड पार्ट्स" में कहता है कि जेएस अनिवार्य रूप से दुर्घटना से ब्राउजर में लोकप्रिय हो गया, योग्यता के कारण नहीं।

"जावास्क्रिप्ट बुरा भागों में इसके हिस्से से अधिक के साथ एक भाषा है। यह समय की एक चिंताजनक छोटी सी अवधि में वैश्विक गोद लेने करने के लिए गैर अस्तित्व से चला गया। यह प्रयोगशाला में एक अंतराल नहीं था जब यह पता करने की कोशिश की जा सकती है और पॉलिश ... जब जावा एप्लेट में विफल रहा है, जावास्क्रिप्ट डिफ़ॉल्ट रूप से ' वेब की भाषा' बन गया। JavasScript के लोकप्रियता लगभग पूरी तरह से एक प्रोग्रामिंग भाषा के रूप में अपनी गुणों से स्वतंत्र है। "

विभिन्न ब्राउज़र इसे अलग-अलग कार्यान्वित करते हैं, और यह कहना मुश्किल है कि मानक दुभाषिया वाली भाषाओं के लिए यह सही है।

इसमें अच्छी विशेषताएं हैं, क्योंकि क्रॉकफोर्ड की पुस्तक बताती है, और node.js साबित कर सकते हैं कि यह सर्वर-साइड विकास के लिए बहुत अच्छा है। लेकिन अब तक, जहां लोगों के पास विकल्प हैं, उन्होंने ज्यादातर अन्य भाषाओं को चुना है।

1

सर्वर पर लोगों को एक विशिष्ट भाषा का उपयोग करने के लिए बाध्य नहीं हैं, और जावास्क्रिप्ट इतना मुक्त रूप है कि कोड बनाए रखना बहुत मुश्किल हो जाता है।

यही कारण है कि लोगों का सबसे बड़ा प्रतिशत कुछ और चुनते हैं।