2010-12-11 20 views
10

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

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

इन दुभाषियों के लिए एक उपयोग केस प्रोग्रामिंग भाषाओं को पढ़ाने और सीखने का एक मॉडल है। इस बात पर विचार करें कि इंटरैक्टिव पुस्तक Eloquent Javascript में जावास्क्रिप्ट दुभाषिया कितना उपयोगी है। निश्चित रूप से, इसे मूल रूप से संकलित करने पर एक प्रदर्शन हिट हो सकती है, लेकिन कुछ परिस्थितियों में लागत निश्चित रूप से इसके लायक है। और हां, मुझे एहसास है कि कोड को संकलित या व्याख्या करने के लिए सर्वर पर भरोसा करना हमेशा एक विकल्प है, लेकिन मैं क्लाइंट-साइड दृष्टिकोण में विशेष रूप से रूचि रखता हूं।


अद्यतन: प्रतिक्रियाओं का एक बहुत compilers कि जावास्क्रिप्ट में लागू नहीं किया गया के संदर्भ शामिल हैं। मैं सिर्फ यह कहना चाहता हूं कि दुभाषिया स्वयं जावास्क्रिप्ट में लागू किया जाना चाहिए ताकि दोनों और स्रोत भाषा कोड आपके दादाजी के कंप्यूटर पर ब्राउज़र पर चल सकें।

+0

+1 उच्च आदेश भाषा -> उच्च आदेश लैंग uage संकलन हमेशा दिलचस्प है। – Orbling

+0

पुन: आपका अपडेट: कंपाइलर को जावास्क्रिप्ट में लागू नहीं करना है, केवल एक ऐसी भाषा में जो जावास्क्रिप्ट में * रन * कर सकता है। कॉफीस्क्रिप्ट कंपाइलर, उदाहरण के लिए, कॉफीस्क्रिप्ट में लिखा गया है। लेकिन चूंकि कॉफीस्क्रिप्ट कंपाइलर जावास्क्रिप्ट को कॉफीस्क्रिप्ट संकलित करता है, इसलिए यह * स्वयं * जावास्क्रिप्ट को संकलित कर सकता है और इस प्रकार ब्राउज़र में चलाया जा सकता है। सी में लिखे गए किसी भी कंपाइलर पर लागू होता है (चूंकि एक कंपाइलर है जो सी को जावास्क्रिप्ट में संकलित करता है), जावा, सीआईएल को संकलित करने वाली किसी भी .NET भाषा, जेवीएमएल को संकलित करने वाली किसी भी जेवीएम भाषा, एलएलवीएम बिटकोड या एलएलवीएम के लिए संकलित कोई भी भाषा आईआर, ... –

उत्तर

4
  • Objective-J एक भाषा है कि मूल रूप से ECMAScript
  • Clamato को ऑब्जेक्टिव-सी और यह गोंद के "उद्देश्य" भाग लेता है क्लाइंट साइड वेब स्क्रिप्टिंग के लिए एक स्मालटाक से प्रेरित भाषा है

देखें भी इस सवाल: Are there other languages than Objective-J that get “compiled” to JavaScript in the browser?

4

समुदाय विकी, चलो इस बाहर :-)

jsc मैश करते हैं - कोल इंडिया (सीआईएल से VB.NET, सी # संकलित, आदि) से फिर से संकलित

Script# - (सी # से संकलित स्रोत कोड)।

GWT: Google Web Toolkit - जावा से संकलित।

Emscripten - एलएलवीएम से संकलित। काम करने में सक्षम होना चाहिए (भाषा एक्स) -> एलएलवीएम-> जावास्क्रिप्ट, माइनस मुद्दे, जहां भाषा एक्स में एलएलवीएम कंपाइलर है।

+0

कोई सी/सी ++ विकल्प? – ROAR

+0

@RA आपके द्वारा एम्सस्क्रिप्ट लिंक जोड़ा गया है, जो कि एलएलवीएम से संकलित है :-) अधिक जानकारी जोड़ने के लिए स्वतंत्र महसूस करें। –

0

Pyjamas पाइथन को जावास्क्रिप्ट में संकलित कर सकता है। यह एक सर्वर प्रकार का अनुवाद है; पजामा का अभी तक संकलन करने के लिए उपयोग नहीं किया गया है इसलिए कोई जावास्क्रिप्ट पायथन दुभाषिया नहीं है।

6

CoffeeScript एक प्रोग्रामिंग भाषा है जो जावास्क्रिप्ट को संकलित करती है।

1

j2js जावास्क्रिप्ट (जैसे, जावा, स्काला, आदि) के लिए जावा बाईटकोड संकलित करता है।

+0

अफसोस की बात है, और नहीं। कारणों के लिए https://github.com/decatur/j2js-compiler/ देखें। –

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