मैं कैसे कह सकता हूं कि प्रोग्रामिंग भाषा अन्य भाषाओं के लिए संकलित है?


22

मैं अंग्रेजी में कैसे कह सकता हूं, कि प्रोग्रामिंग भाषा को अन्य प्रोग्रामिंग भाषाओं में संकलित किया जा सकता है?

उदाहरण हेक्से हो सकता है । वेबसाइट पर भाषा को "मल्टीप्लायर" के रूप में घोषित किया गया है:

Multiplatform: Haxe को अपने फास्ट कंपाइलर - JavaScript, Flash, NekoVM, PHP, C ++, C # और Java (जल्द ही) के साथ सभी लोकप्रिय प्रोग्रामिंग प्लेटफार्मों पर संकलित किया जा सकता है।

लेकिन मल्टीप्लायर हार्डवेयर या सॉफ्टवेयर प्लेटफॉर्म (जीत, मैक, लिनक्स) के रूप में गलत समझा जा सकता है।

तो इस क्षमता का वर्णन करने वाला सबसे उपयुक्त शब्द कौन सा है?


3
मैं "संकलन" हटाऊंगा और बस इतना कहूंगा कि यह प्रोग्रामिंग भाषा कुछ दुभाषिया के उपयोग के माध्यम से दूसरे में तब्दील हो सकती है।
नील

6
आप नियमित रूप से भाषाओं के लिए उसी शब्द का उपयोग कर सकते हैं: अनुवाद, अनुवादक। यह स्पष्ट है, और मैंने इस अर्थ में प्रयुक्त शब्द को सुना है।
सुपरएम

4
@teresko कैसे? एकमात्र तरीका मैं आपको यह तर्क दे सकता था कि आप संकलन के अत्यधिक प्रतिबंधात्मक और बेकार परिभाषा का उपयोग कर रहे हैं (जो मशीन कोड के आउटपुट को प्रतिबंधित करता है)।

18
@ नील: एक भाषा में लिखे गए प्रोग्राम को दूसरी भाषा में बदलना व्याख्या नहीं है। वास्तव में, यह संकलन की परिभाषा है ।
जोर्ग डब्ल्यू मित्तग

2
@ नील, संकलन, परिभाषा के अनुसार, एक भाषा से दूसरी भाषा में परिवर्तन है। और "परिवर्तन" उतना ही अस्पष्ट और रहस्यमय लगता है जितना "संकलन", जब तक कि आपका पाठक शब्द पुनर्लेखन और इस तरह के शब्दों में पारंगत न हो। इसलिए मैं "टारगेटिंग" शब्द का उपयोग करने का सुझाव दूंगा, उदाहरण के लिए, "हेक्स जावास्क्रिप्ट, फ्लैश, जो भी हो, और ऐसे लक्ष्य कर रहा है"।
SK-तर्क

जवाबों:


41

सामान्य शब्द "ट्रांसकम्पिलेशन" है - एक सामान्य शब्द नहीं है, लेकिन तकनीकी रूप से सही है। यह सिर्फ नई स्क्रिप्टिंग भाषाओं (कॉफीस्क्रिप्ट -> जावास्क्रिप्ट) के लिए ही नहीं है; पहले C ++ कंपाइलर वास्तव में C से ट्रांसकंपलर थे।


2
इसके अलावा "ट्रांसपिलर्स" जैसा कि "ट्रांसपॉइलर ट्रांसक्रिप्लेस कॉफीस्क्रिप्ट इन जावास्क्रिप्ट"

4
दशकों से इस क्षेत्र में होने से पहले मैंने यह शब्द कभी नहीं सुना। मन अपनी उत्पत्ति की ओर इशारा करता है (पहले पेपर का लिंक जहां यह सबसे अच्छा होगा)?
SK- तर्क

से विकिपीडिया : "एक स्रोत करने वाली स्रोत संकलक [। उर्फ" transcompiler "," transpiler "] तब्दील हो भाषाओं कि लगभग अमूर्त का एक ही स्तर पर संचालित प्रोग्रामिंग के बीच, एक पारंपरिक संकलक एक कम करने के लिए एक उच्च स्तर प्रोग्रामिंग भाषा से अनुवाद करते समय स्तरीय प्रोग्रामिंग भाषा। "
l0b0

4
@ l0b0, विकिपीडिया शब्द की उत्पत्ति पर टिप्पणी नहीं करता है, और यह निश्चित रूप से मूल स्रोत नहीं माना जाता है ।
SK- तर्क

3
... Google पर "ट्रांसकम्पिलेशन" खोजना कोई संबंधित परिणाम नहीं देता है ...
बकुरीउ

27

क्षमा करें, लेकिन इसके लिए शब्द सिर्फ "संकलित" है । इसका अर्थ है एक प्रकार के कोड को दूसरे प्रकार के कोड में बदलना। इससे कोई फर्क नहीं पड़ता है अगर वह कोड इंग्लिश, C ++, x86 मशीन कोड, ARM मशीन कोड, जावा, बाईटेकोड या फिर अंग्रेजी में है। हम आम तौर पर इसका उपयोग प्रोग्रामिंग भाषा से मशीन कोड तक की यात्रा के लिए करते हैं, लेकिन यह एक ऐसा पहलू है जो शब्द समय के साथ बढ़ा है। और हे, अगर पर्याप्त लोग गलत तरीके से एक शब्द का उपयोग करना शुरू करते हैं, तो यह वास्तव में उस नए अर्थ को प्राप्त करता है। लेकिन अगर आप हेक्स को सी ++ में बदलने के लिए एक शब्द चाहते हैं, तो शब्द "संकलन" है

Multiplatform: Haxe को सभी लोकप्रिय प्रोग्रामिंग भाषाओं में इसके फास्ट कंपाइलर - JavaScript, Flash, NekoVM, PHP, C ++, C # और Java (जल्द ही) के साथ संकलित किया जा सकता है।

(इसके अलावा, मैं मरियम-वेबस्टर की उपेक्षा कर रहा हूं, क्योंकि वे मूर्ख हैं क्योंकि वे मुझसे असहमत हैं ... हम्ममम)


10

शायद यह एक सवाल है https://english.stackexchange.com/ फिर भी मैं कहूंगा कि संकलन की प्रक्रिया में एक और उच्च स्तरीय भाषा का संकलन शामिल है और यह केवल उन संकलनकर्ताओं तक ही सीमित नहीं है जो मूल मशीन कोड की ओर संकलन करते हैं।

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

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

मैं "हैक्स" कथन को इस तरह से भी पढ़ूंगा जिसमें मानक पुस्तकालय और इसी तरह की चीजें शामिल हैं। Ie उस स्थिति में प्लैटफॉर्म "भाषा" का एक सुपरसेट होगा और आप इसे "सॉफ़्टवेयर सॉफ्टवेयर तकनीक" आदि कहकर इससे अलग कर सकते हैं।


4
मुझे लगता है कि आपका मतलब english.stackexchange.com है?
सुमन

3

आप कह सकते हैं कि एक संकलक में अनुवाद लक्ष्य के रूप में भाषाएं X, Y और Z हैं , या उन लक्ष्यों को ध्यान में रखते हुए भाषा डिज़ाइन करें।


2

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

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


1

पहली बात पहली: मैं नहीं जानता कि क्या इस सुविधा के लिए पहले से ही एक उपयुक्त शब्द है।

लेकिन शायद इसे बहुभाषी कहा जा सकता है? या अनिष्टकारी? चूँकि यह प्रोग्रामिंग भाषा के बारे में अधिक है, इसलिए नाम में 'भाषा' का उल्लेख इसे मल्टीप्लायर की तुलना में अधिक स्पष्ट बना सकता है।

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

दूसरी ओर प्रत्येक अनुभवी प्रोग्रामर शायद ऐसे निर्माण को स्थानीयकरण या अंतर्राष्ट्रीयकरण से अलग पहचान देगा, इसलिए वे अधिक आसानी से 'प्राप्त' कर सकते हैं।

बस मेरे 2 सेंट।


मुझे नहीं लगता कि यह सटीक है; और यदि आप इस तथ्य को देखते हैं कि साइट केवल तथ्यात्मक रूप से सही उत्तर पसंद करती है। लेकिन समुदाय में आपका स्वागत है और आशा है कि आप कुछ और जवाब देंगे जहां आप जवाब के बारे में सुनिश्चित हैं :)
tgkprog
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.