2009-07-05 5 views
9

अब जीडब्ल्यूटी, मॉर्फिक आदि जैसे ढांचे मौजूद हैं जो जावा क्लाइंट साइड कोड को प्रमुख जावास्क्रिप्ट बोलियों में संकलित करते हैं, क्या यह अभी भी जावास्क्रिप्ट सीखने लायक है?क्या वेब डेवलपर्स अभी भी जावास्क्रिप्ट सीखना चाहिए?

उत्तर

49

मेरी पुस्तक में, हाँ

मैं आपके द्वारा उपयोग किए जा रहे टूलकिट के नीचे अंतर्निहित तकनीक को समझने में एक मजबूत आस्तिक हूं।

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

+14

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

+0

@ माचा: ठीक है। जेएस अपने स्वयं के अधिकार में बेहद शक्तिशाली है (और जावा से बहुत अलग है)। इसे अवशोषण के साथ क्यों कवर करें? – Rake36

+6

सहमत हुए। जेएस जानने के बिना जीडब्ल्यूटी जैसी चीजों का उपयोग करना एसक्यूएल को जानने के बिना कुछ डेटाबेस टूल का उपयोग करना है। हालांकि यह काम कर सकता है, अगर आपको वास्तव में पता चल रहा है कि क्या हो रहा है तो आपको बेहतर परिणाम मिलेंगे। –

12

आपके ढांचे के पीछे की तकनीक को समझना आपके ढांचे के साथ जो चीजें आप करते हैं, उन्हें डीबग करने पर समय व्यय कम कर देता है। इसलिए मेरी राय में यह देखना हमेशा अच्छा होता है कि दृश्य के पीछे क्या चल रहा है।

4

इस आगे ...

आप विधानसभा भाषा आज-कल का तो कई उच्च स्तर भाषाओं के साथ सीखना चाहिए स्ट्रेचिंग?
क्या आपको सीखना चाहिए कि कैसे मूल अंकगणित करना है जैसे घटाव और जोड़ना हाथ से जब अब हमारे पास कैलकुलेटर और कंप्यूटर है जो आपके लिए यह कर सकता है?

ठीक है, मैं कहूंगा कि अगर आपको गहराई से जाने का कोई कारण नहीं है तो आपको शायद इसकी आवश्यकता नहीं होगी, लेकिन किसी को अभी भी करना होगा।

सभी चीजों के साथ, एक संतुलन है। जानें कि यदि आप निम्न स्तर की चीजें नहीं जानते हैं, तो यह आपके नुकसान के लिए होगा, लेकिन कभी-कभी इसे छोड़ना जरूरी है ताकि आप किसी और चीज में गहरे हो सकें। आपको यह मानना ​​है कि वहां इतनी तकनीक है कि आप सभी चीजों में एक विशेषज्ञ बनने में सक्षम नहीं होंगे। उस स्थिति में, किसी और को जानना जो अच्छी बात है।

तो अपनी पसंद चुनें और अपनी रुचि के साथ जाएं। यदि आपको लगता है कि आप जावास्क्रिप्ट सीखने में रुचि रखते हैं तो इसके लिए जाएं। यदि नहीं, तो आप अपने स्तर के अमूर्त स्तर तक चिपके रह सकते हैं और एक जावास्क्रिप्ट दोस्त प्राप्त कर सकते हैं जो आपको अटकने पर मदद कर सकता है।

8

हाँ,

... और मुझे अनुभव के साथ बात: मैंने कभी नहीं जावास्क्रिप्ट सीखा है और केवल इसके कुछ हिस्सों का इस्तेमाल किया, जब मैं यह सामना करना पड़ा गूगल खोज में प्रश्नों के लिए।

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

मुझे लगता है कि मुझे अन्य भाषाओं के साथ मौलिक ज्ञान याद आती है, जैसे कि मुझे 'जावास्क्रिप्ट प्रोग्रामिंग भाषा' पुस्तक याद आती है (मुझे यकीन नहीं है कि यह मौजूद है लेकिन मेरे पास सी, सी ++ और जावा के लिए समान प्रतियां हैं)। तो आज मैंने Javascript:The good parts का आदेश दिया और मैं इसे सीखूंगा ...

+0

क्रॉकफ़ोर्ड का गुड पार्ट्स वास्तव में एक शुरुआती पुस्तक नहीं है। मेरा सुझाव है कि आप पहले फ़्लानगन की जावास्क्रिप्ट द डिफिनिटिव गाइड से शुरू करें, और उसके बाद द गुड पार्ट्स पर जाएं। http://www.amazon.com/JavaScript- परिभाषित- गाइड- डेविड- फ़्लालागन/डीपी/056101996/ref=sr_1_1?ie=UTF8&s=books&qid=1246804047&sr=8-1 –

+0

मैं दोनों को पार-संदर्भ देने का सुझाव दूंगा; क्रॉकफोर्ड द गुड पार्ट्स से बाहर निकलने वाली भाषा सुविधाओं के लिए, मैं परिभाषित मार्गदर्शिका पढ़ने के दौरान उन्हें पढ़ाने में बहुत अधिक समय नहीं लगाऊंगा। आपको अंततः उन विशेषताओं को समझने की आवश्यकता हो सकती है, लेकिन क्रॉकफोर्ड के बिंदु का हिस्सा यह है कि जावास्क्रिप्ट भाषा में चीजों का एक गुच्छा खराब डिजाइन किया गया था और वास्तव में वहां नहीं होना चाहिए। मैंने पाया है कि, अधिकांश भाग के लिए, मैं उसके साथ सहमत हूं। (मैंने उससे एक उचित राशि भी सीखी।) – DougWebb

+0

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

3

मुझे लगता है कि ब्राउज़र की बग की वास्तविकता लंबे समय तक जेनरेट की गई जावास्क्रिप्ट का निदान और समझने में सक्षम होगी। मैंने ओएस/2 के लिए स्प्रेडशीट कंपनी के साथ काम किया, और उन्हें सी ++ कोड से उत्पन्न असेंबलर को पढ़ना पड़ा क्योंकि आईबीएम कंपाइलर कई बार बग्गी मशीन कोड उत्पन्न करेगा। इसलिए जब वे पूरी परियोजना लिखने के लिए पर्याप्त असेंबलर नहीं जानते थे, तो उन्हें निश्चित रूप से समस्याओं को ट्रैक करने के लिए पर्याप्त जानकारी थी।

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

7

ABSOLUTELY। मेरी राय में, अमूर्तता महत्वपूर्ण है, लेकिन यह जानकर कि अमूर्त कार्य कैसे महत्वपूर्ण है उतना ही महत्वपूर्ण है।

मैंने डेवलपर्स को देखा है जो अपने ढांचे (जावास्क्रिप्ट: jquery, yui, आदि ... या php: zend, केक, आदि ...) द्वारा रहते हैं और मर जाते हैं, लेकिन कोई संकेत नहीं है कि बिना उत्पादक कुछ भी कैसे करें उन्हें।

आप कौन होंगे (या किराया)? वह व्यक्ति जो जानता है कि सबकुछ कैसे काम करता है, लेकिन ढांचे और पुस्तकालयों का उपयोग करके अपनी उत्पादकता में सुधार करता है ... या वह व्यक्ति जो इन संसाधनों का उपयोग करता है, यह नहीं जानता कि वे वास्तव में कैसे काम करते हैं?

1

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

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

हालांकि, जावास्क्रिप्ट को कोड करते समय अधिक उत्पादक होने के लिए JQuery जैसे कुछ को नियोजित करना बहुत बेहतर है। किसी भी ओएस पर चल रहे किसी भी ब्राउज़र पर JQuery का उपयोग किया जा सकता है, इसलिए यह आपको सीमित नहीं करता है।

1

मैं हाँ कहूंगा। मैंने उन लोगों से मुलाकात की है जिन्होंने पर दावा किया है जावास्क्रिप्ट, जब वे सब कुछ कर सकते हैं तो कुछ jquery फ़ंक्शन कॉल करते हैं। जावास्क्रिप्ट (ईसीएमएस्क्रिप्ट) एक प्यारा छोटा है (ठीक है, बहुत कम नहीं) भाषा।

जावास्क्रिप्ट से थोड़ा सा सार - परिभाषित करने के लायक "परिभाषित करें"। इस तरह की सोच हमेशा मेरे लिए एक conundrum था। क्या आप, प्रति मौका, कुछ नया सीखने से डरते हैं?

मुझे लगता है कि इस तरह की सोच वास्तव में एक प्रोग्रामर से कोडर को अलग करती है।

1

एक वेब डेवलपर जो जावास्क्रिप्ट नहीं जानता है एक ऑटो मैकेनिक की तरह है जो टायर को बदलने का तरीका नहीं जानता है।

0

जावास्क्रिप्ट इंटरैक्टिव क्लाइंट-साइड विकास का केंद्र है। यह बिल्कुल जरूरी है। जावास्क्रिप्ट को जानने के बाद आप अन्य चीजों को आजमाने का फैसला कर सकते हैं जो जावास्क्रिप्ट को संकलित करते हैं यदि आप उन्हें आसान पाते हैं।

यदि आप किसी कंपनी के लिए वेब विकास में पेशेवर काम करना चाहते हैं तो आपको जावास्क्रिप्ट को जानना होगा। इसके अलावा, ब्राउज़र में भाषा के निष्पादन के रूप में जावास्क्रिप्ट अधिक से अधिक लोकप्रिय हो रहा है क्योंकि यह सर्वर-साइड विकास में भी अधिक लोकप्रिय हो जाता है।

संबंधित मुद्दे