2012-04-24 14 views
18

coffeescript उपयोग करने के लिए तो मूल रूप से मैं मेरे coffeescript से रोके हुए चिंताओं की एक संख्या है:सही समय

  1. मैं वास्तव में js में एक विशेषज्ञ नहीं हूँ अभी तक है, भले ही मैं चारों ओर के लिए यह उपयोग कर रहा हूँ 3 साल अब मुझे लगता है कि मुझे इसके बारे में कुछ महत्वपूर्ण याद आ रहा है। चूंकि यह मेरे लिए अधिक सहायक तकनीक है, इसलिए मुझे कभी भी जेएस की गहराई में जाने का समय नहीं मिलता है (जिसे मैं मानता हूं, गलत व्यवहार हो सकता है)।

  2. मेरे js ज्ञान भी बदतर हो जाएगा अगर मैं coffeescript का उपयोग करना शुरू करेंगे

  3. मुझे यकीन है कि अगर मैं वास्तव में coffescript भरोसा कर सकते हैं, जे एस कोड यह संकलित अर्थ कई बार

  4. लिए नहीं कर रहा हूँ मुझे जेएस कोड कॉफ़ीस्क्रिप्ट संकलित नहीं होता है और इससे भी बदतर - यह ऐसा क्यों संकलित करता है।

मैं उपरोक्त बिंदुओं पर आपके विचार जानना चाहता हूं। महत्वपूर्ण यह है: कॉफ़ीस्क्रिप्ट का उपयोग करने से आपके ज्ञान को प्रभावित किया गया है? और कॉफ़ीस्क्रिप्ट पर स्विच करने से पहले आपको जेएस को पूरी तरह से समझना कितना महत्वपूर्ण लगता है?

+4

सबसे अच्छा सवाल _ "5 होना चाहिए। क्या कॉफी स्क्रिप्ट हमें अपठनीय कोड को छोड़कर देता है" _! – gdoron

+0

यदि आपका काम/संभावित काम मांग है कि आप कॉफ़ीस्क्रिप्ट का उपयोग करते हैं, तो मुझे लगता है कि इसके लिए जाना है। अन्यथा बस सामान्य जेएस के साथ जाओ। –

+4

* "मैं वास्तव में जेएस में वास्तव में एक विशेषज्ञ नहीं हूं" * - फिर जेएस सीखें। एक किताब जाओ और पढ़ें। जब आप इसमें हों तो [VaporJS] (http://vaporjs.com/) आज़माएं। कॉफ़ीस्क्रिप्ट का उपयोग कर सभी परेशानी क्यों करें? – Joseph

उत्तर

11

आपको समझना चाहिए कि कॉफ़ीस्क्रिप्ट को किस समस्या का समाधान करना है। और इसके लिए, आपको जावास्क्रिप्ट के "खराब हिस्सों" का मूल ज्ञान होना चाहिए। मैं डगलस क्रॉफर्ड को इसके बारे में पढ़ने का सुझाव देता हूं (वहां एक पुस्तक है, लेकिन इंटरनेट पर भी बहुत सारे रिसॉर्ट्स हैं। बस Google "जावास्क्रिप्ट खराब भागों")। असल में, विचार यह है कि "उन सभी अजीब ब्रेसिज़ और अर्धविरामों के नीचे, जावास्क्रिप्ट के पास हमेशा अपने दिल में एक खूबसूरत ऑब्जेक्ट मॉडल होता है। कॉफीस्क्रिप्ट जावास्क्रिप्ट के अच्छे हिस्सों को सरल तरीके से बेनकाब करने का प्रयास है।" (कॉफ़ीस्क्रिप्ट की साइट से लिया गया)।

जेस्लिंट नामक जावास्क्रिप्ट नुकसान से बचने के लिए प्रोग्रामर की सहायता करने के लिए एक टूल है। यह टूल आपके कोड को एनालिट करता है और वैश्विक गलतियों, अर्धविराम सम्मिलन, नामस्थान प्रदूषण, आदि जैसे सामान्य गलतियों के बारे में चेतावनियां देता है ...

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

1

मुझे लगता है कि यहां याद रखने की महत्वपूर्ण बात यह है कि कॉफ़ीस्क्रिप्ट जावास्क्रिप्ट है। जावास्क्रिप्ट में प्रत्येक कॉफ़ीस्क्रिप्ट स्टेटमेंट या जादू ऑपरेटर का एक अलग ठोस प्रतिनिधित्व होता है। उदाहरण के लिए कॉफ़ीस्क्रिप्ट में (x) -> x * x सीधे function (x) { return x * x; } पर अनुवाद करेगा।

आप जावास्क्रिप्ट के बारे में जागरूक किए बिना वास्तव में कॉफ़ीस्क्रिप्ट लिख नहीं सकते हैं। एक बात के लिए, उत्पन्न जावास्क्रिप्ट वह है जो आपको डीबग करना होगा। अगर कुछ भी है, तो मेरा मानना ​​है कि कॉफ़ीस्क्रिप्ट लिखने से जावास्क्रिप्ट की आपकी समझ में सुधार हो सकता है, क्योंकि यह आपको जावास्क्रिप्ट के लिए अद्वितीय निर्णय लेने के लिए मजबूर करता है। उदाहरण के लिए, जब कॉफ़ीस्क्रिप्ट में, आप वास्तविकता में -> के बजाय => का उपयोग करने का निर्णय लेते हैं, तो आप इस बारे में निर्णय ले रहे हैं कि आप this - एक बहुत ही वास्तविक जावास्क्रिप्ट समस्या को बांधना चाहते हैं या नहीं।

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

6

मैं आपकी चिंताओं को दूर करना चाहता हूं।

1) यदि आप तीन वर्षों तक जेएस का उपयोग कर रहे हैं, तो शायद आपके पास जेएस की एक बहुत अच्छी समझ है। यदि आपको अभी तक ठोस समझ नहीं मिली है, तो हो सकता है कि आपके ज्ञान को अच्छी जेएस किताबों में से एक के साथ पूरक करने का समय हो।

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

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

4) निश्चित रूप से कॉफी-स्क्रिप्ट द्वारा उत्पन्न जेएस आपके लिए विदेशी दिखाई देगा, क्योंकि इसे उत्पन्न करने के नियमों में मानव पठनीयता को प्राथमिकता नहीं है। हालांकि, इसे पढ़ना, जेएस के बारे में आपके ज्ञान को बढ़ाएगा क्योंकि आप देखते हैं कि असाधारण रूप से लिखे गए कार्यक्रम कैसे चलते हैं। यह हमें वापस बात करने के लिए लाता है 1.

+0

मैंने आपका जवाब वोट दिया, लेकिन मुझे आम तौर पर विश्वास है कि मानव पठनीयता वास्तव में कॉफीस्क्रिप्ट कंपाइलर डिज़ाइन की प्राथमिकता (शायद उच्चतम नहीं) है। मुझे नहीं लगता कि मुझे संकलित जावास्क्रिप्ट को अक्सर देखने की ज़रूरत है, लेकिन जब मैं करता हूं, तो मुझे अपने कॉफीस्क्रिप्ट के इरादे से कनेक्ट करने में कोई परेशानी नहीं होती है। उस ने कहा, इसे पढ़ने के बारे में आपका मुद्दा बढ़ता है जावास्क्रिप्ट ज्ञान अच्छी तरह से बनाया गया है ... जैसा कि आपका बाकी जवाब है। –

+0

+1 यहां भी है, लेकिन मैं विदेशी दिखने/पढ़ने योग्य बिंदु से सहमत नहीं हूं। कॉफ़ीस्क्रिप्ट में जावास्क्रिप्ट में अनुवाद करने के बारे में बहुत स्पष्ट नियम हैं, और संकलित कोड को पहचानना काफी आसान है। Http://coffeescript.org/ के अग्रभाग पर नियम ठीक हैं – AHM

1

तो यहाँ क्या मैं विषय के बारे में:

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

  2. बिलकुल नहीं। असल में कॉफीस्क्रिप्ट का उपयोग करना अलग-अलग भाषा का उपयोग करना है। एक सीखना आपको दूसरे में डम्बर नहीं बना सकता है। जब तक आप दूसरे को सीखना बंद नहीं करते।

  3. कोई सबूत नहीं है कि कॉफीस्क्रिप्ट बग्गी या धीमी कोड के लिए संकलित करता है। वास्तव में मैं कुछ समय के लिए कॉफीस्क्रिप्ट का उपयोग कर रहा हूं और मैंने किसी भी प्रदर्शन हिट का पालन नहीं किया।

  4. असल में आपको को समझने की आवश्यकता नहीं है क्यों यह इस तरह संकलित करता है। यदि आप बैक-एंड पर कॉफीस्क्रिप्ट का उपयोग कर रहे हैं तो आपको उस कोड को भी देखना नहीं है जिसमें इसे संकलित किया गया है (आपको केवल स्रोत कोड की आवश्यकता है)। ब्राउज़र स्क्रिप्ट बनाने के लिए इसका उपयोग करने के लिए हाँ - यह इसके साथ काम करना थोड़ा मुश्किल हो सकता है (डीबग)। यही कारण है कि मैं हमेशा सामान्य ब्राउज़र के लिए जावास्क्रिप्ट लिखने और बैक-एंड पर कॉफीस्क्रिप्ट का उपयोग करने की सलाह देता हूं।

अब अंतिम प्रश्न के लिए: मुझे नहीं लगता कि कॉफीस्क्रिप्ट ने मेरे जेएस ज्ञान को बिल्कुल प्रभावित किया है। मैं उन्हें अलग-अलग भाषाओं के रूप में मानता हूं। कॉफीस्क्रिप्ट पर स्विच करने के लिए आपको जेएस को जानने की आवश्यकता नहीं है (हालांकि आपको चाहिए) जब तक आप फ्रंट-एंड पर कॉफीस्क्रिप्ट का उपयोग नहीं करना चाहते हैं।

इसके अलावा जावास्क्रिप्ट मास्टरिंग हमेशा एक अच्छा विचार है, इससे कोई फर्क नहीं पड़ता। :)

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