সংকলিত ভাষার তুলনায় আমরা কখন অনুবাদিত ভাষা ব্যবহার করব?


11

আমি ব্যাখ্যা করা এবং সংকলিত ভাষার মধ্যে পার্থক্যগুলি বুঝতে পারি, তবে কেউ যদি পরিস্থিতিগুলির কয়েকটি উদাহরণ সরবরাহ করতে পারে যখন কেউ যখন সংকলিত ভাষার চেয়ে বর্ণিত ভাষা ব্যবহার করতে পারে এবং সেইসাথে পরিস্থিতি যখন কেউ অনুবাদিত ভাষার চেয়ে সংকলিত ভাষা ব্যবহার করতে পারে তবে তা হবে সত্যিই সহায়ক হতে।

উত্তর:


11

(আমার জ্ঞানের কাছে) ব্যাখ্যামূলক "ভাষা" বা সংকলিত "ভাষা" বলে কিছুই নেই।

ভাষা কোডের কীওয়ার্ডগুলির বাক্য গঠন, প্রবাহের গঠন এবং অন্যান্য বিভিন্ন বিষয়গুলির বাক্য গঠন এবং অর্থ নির্দিষ্ট করে, তবে আমি কোনও ভাষা সম্পর্কে অবগত নই যা এটি নির্দিষ্ট করে কিনা ভাষা ভাষার অনুচ্ছেদে সংকলিত বা ব্যাখ্যা করা উচিত specif

এখন যদি আপনি প্রশ্নটি করেন যে আপনি যখন কোনও ভাষা সংকলক বনাম কোনও ভাষা অনুবাদক ব্যবহার করেন, তখন এটি সংক্ষেপকারীর বনাম অনুবাদক এবং প্রকল্পের উদ্দেশ্যটির পক্ষে প্রকৃতপক্ষে / কন এর কাছে চলে আসে।

উদাহরণস্বরূপ, আপনি এমআরআই রুবি ইন্টারপ্রেটারের পরিবর্তে জাভা লাইব্রেরিগুলির সাথে আরও সহজে সংহতকরণের জন্য জেআরবি সংকলক ব্যবহার করতে পারেন। জেআরবির উপর এমআরআই রুবি ইন্টারপ্রেটার ব্যবহার করারও কারণ থাকতে পারে, আমি যদিও ভাষাটির সাথে অপরিচিত এবং এর সাথে কথা বলতে পারি না।

দোভাষী এর সুবিধাজনক সুবিধা:

  • কোনও সংকলন মানে কোড সম্পাদনা করা থেকে শুরু করে অ্যাপ্লিকেশন পরীক্ষার সময় হ্রাস করা যায় না
  • একাধিক আর্কিটেকচারের জন্য বাইনারি জেনার দরকার নেই কারণ দোভাষা আর্কিটেকচার অ্যাবস্ট্রাকশন পরিচালনা করবেন (যদিও আপনাকে এখনও বাইনারি বিতরণ নয়, সঠিকভাবে পূর্ণসংখ্যার মাপ পরিচালনা করে স্ক্রিপ্টগুলি নিয়ে উদ্বেগের প্রয়োজন হতে পারে )

সংকলকগুলির সুবিধাগুলি স্পর্শ:

  • সংকলিত নেটিভ কোডটিতে কোনও দোভাষীর ওভারহেড থাকে না এবং তাই সাধারণত সময় এবং স্থানের ক্ষেত্রে আরও দক্ষ
  • আন্তঃঅযুক্তি দক্ষতা সাধারণত ভাল, স্ক্রিপ্টগুলির সাথে ইনকপ্রোক আন্তঃব্যবহারের একমাত্র উপায় হ'ল স্ট্যান্ডার্ড এফএফআইয়ের পরিবর্তে দোভাষীর মাধ্যমে
  • দোভাষীকে আর্কিটেকচার সমর্থন করার ক্ষমতা সংকলন করা হয়নি (যেমন এমবেডেড সিস্টেম হিসাবে)

যাইহোক, আমি 90% কেসগুলিতে বাজি দেব যা এটির মতো আরও কিছু হয়: আমি ব্লাবটিতে এই সফ্টওয়্যারটি লিখতে চাই কারণ আমি এটি ভাল জানি এবং এটি একটি ভাল কাজ করা উচিত। আমি ব্লাব ইন্টারপ্রেটার (বা সংকলক) ব্যবহার করব কারণ এটি ব্লাবটিতে সফ্টওয়্যার লেখার জন্য সাধারণত গৃহীত ক্যানোনিকাল পদ্ধতি।

সুতরাং টিএল; ডিআর হ'ল মূল ক্ষেত্রে, আপনার নির্দিষ্ট ব্যবহারের ক্ষেত্রে সংকলক বনাম দোভাষীদের কেস ভিত্তিতে তুলনা করে।

এছাড়াও, এফএফআই: বিদেশী ফাংশন ইন্টারফেস, অন্য কথায় অন্য ভাষার সাথে ইন্টারঅ্যাপেরেশন করার জন্য ইন্টারফেস। উইকিপিডিয়ায় আরও পড়া


2
আমার জানা মতে, ইউএসআইএক্সের জন্য ওএসের জন্য কিছু স্ক্রিপ্টিং ভাষা সংকলন করা যায় না।
NoChance

@ ডেলান, আমার বক্তব্যটি বাণিজ্যিক বা একটি মুক্ত সফ্টওয়্যার দ্বারা সংকলিত হতে পারে না যা আমি জানি, প্রযুক্তিগত কারণে এটি সংকলন করা যায় না তা নয়।
NoChance

3
@ এমদাদাকেরিম "সংকলিত হতে পারে না" এর মতো কোনও জিনিস নেই। আপনি এমন একটি প্রোগ্রাম লিখুন যা লি ভাষায় একটি প্রোগ্রাম পড়ে এবং ল লা ভাষায় একটি সমতুল্য প্রোগ্রামকে আউটপুট করে দেয় That's এটি একটি সংকলক একটি সংকলক। আমি টিউরিং সম্পূর্ণতা যুক্তিটি আহ্বান করতে দ্বিধা বোধ করি কারণ এটি অনুশীলনে একটি লাল উত্তেজনা, তবে প্রতিটি প্রোগ্রাম শেষ পর্যন্ত মেশিন কোডের নির্দেশাবলীর অনুক্রমে পরিণত হয়। অন্য সমস্ত কিছু যদি ব্যর্থ হয়, দোভাষী লুপটি আনرول করুন (এবং আপনার আর প্রয়োজন নেই এমন অংশগুলি সরাতে ফলাফল কোডটি সহজ করুন)। দোভাষী যদি কোনও দোভাষী ছাড়া ভাষায় লেখা থাকে তবে আপনি সংকলক দিয়ে কোনও কিছু আঘাত না করা পর্যন্ত পুনরাবৃত্তি করুন।

1
(আমি আমার মন্তব্যটিকে এটিকে আরও ভাল করে বললাম, তবে স্পষ্টতই আমি অনেক দেরিতে অভিনয় করেছি।) @ ইমাদকরিম হ্যাঁ, স্পষ্টতই কিছু ভাষা সংকলকের মাধ্যমে প্রয়োগ করা হয়নি। তবে এটি কীভাবে প্রাসঙ্গিক তা দেখতে আমি ব্যর্থ। এটি করা সর্বদা সম্ভব এবং সম্ভাব্য এবং কিছু প্রচেষ্টা দিয়ে যে কোনও সময় করা যেতে পারে। এটি মূল বিষয়টির পরিণতি, যা কোনও ভাষা অন্তর্নিহিতভাবে সংকলিত বা ব্যাখ্যা করা হয় না এবং উভয় উপায়ে প্রয়োগ করা যায়। এবং অগণিত অন্যান্য উপায়ে (ভাল, তর্কযোগ্যভাবে ছোটখাটো রূপ এবং রিমিক্স) the

2
@ ইমাদকরিম যদি আপনি চান আপনি ksh ভাষার অনুমান নিতে পারেন এবং একটি সংকলক লিখতে পারেন যা এটি পড়ে এবং একটি দেশীয় বাইনারি তৈরি করে। সংকলন বা ব্যাখ্যা করা ভাষা কোন ভাষার সংজ্ঞা নয় এখানে আমার বক্তব্য।
জিমি হোফা

8

এখানে একটি গুরুত্বপূর্ণ বিষয়টি হ'ল অনেকগুলি ভাষা বাস্তবায়ন আসলে উভয়ের উভয় সংকরকে কিছুটা করে থাকে। বর্তমানে প্রচলিত ব্যবহৃত বেশিরভাগ ভাষাগুলি একটি প্রোগ্রামকে একটি মধ্যবর্তী ফর্ম্যাট যেমন বাইটকোডে সংকলন করে এবং তারপরে কোনও দোভাষীর মাধ্যমে এটি চালিয়ে কাজ করে। এইভাবে জাভা, সি #, পাইথন, রুবি এবং লুয়া সাধারণত প্রয়োগ করা হয়। প্রকৃতপক্ষে, আজকের দিনে বেশিরভাগ ভাষা কীভাবে প্রয়োগ করা হয় তা এটি যুক্তিযুক্ত। সুতরাং, ঘটনাটি হ'ল ভাষা আজ তাদের কোডটি ব্যাখ্যা এবং সংকলন করে। এই ভাষার কয়েকটিতে বাইকোডকে কার্যকর করার জন্য স্থানীয় কোডে রূপান্তর করতে একটি অতিরিক্ত জেআইটি সংকলক রয়েছে।

আমার মতে, আমাদের ব্যাখ্যা করা এবং সংকলিত ভাষাগুলি সম্পর্কে কথা বলা বন্ধ করা উচিত কারণ তারা আজকের ভাষা বাস্তবায়নের জটিলতাকে আলাদা করার জন্য দরকারী বিভাগে নেই।

আপনি যখন ব্যাখ্যা এবং সংকলিত ভাষার গুণাগুণ সম্পর্কে জিজ্ঞাসা করেন, আপনি সম্ভবত অন্যরকম কিছু বোঝাতে চাইছেন। আপনি স্ট্যাটিক / ডায়নামিক টাইপিংয়ের যোগ্যতা, দেশীয় এক্সিকিউটেবল বিতরণের যোগ্যতা, জেআইটি এবং এওটি সংকলনের আপেক্ষিক সুবিধা সম্পর্কে জিজ্ঞাসা করতে পারেন। এগুলি সমস্ত বিষয় যা ব্যাখ্যা / সংকলনের সাথে মিশে যায় তবে এটি বিভিন্ন ইস্যু।


2

প্রথমত, একটি প্রোগ্রামিং ভাষা উভয়ই ব্যাখ্যা করা এবং সংকলিত হতে পারে। ব্যাখ্যা এবং সংকলন উত্স কোড থেকে সম্পাদনযোগ্য কোড উত্পন্ন করার পদ্ধতি মাত্র methods একজন দোভাষীর সাহায্যে উত্স কোডটি একজন দোভাষী দ্বারা পঠিত এবং ব্যাখ্যা করা হয় যা কোডটি এর অর্থ ব্যাখ্যা করার সাথে সাথে সম্পাদন করে। অন্যদিকে একটি সংকলক উত্স কোডটি পড়ে এবং উত্স কোড থেকে একটি এক্সিকিউটেবল বাইনারি ফাইল উত্পন্ন করে - যাতে প্রোগ্রামটি স্বাধীনভাবে পৃথক প্রক্রিয়া হিসাবে চালানো যায়।

এখন কেউ আশ্চর্য হওয়ার আগে ... হ্যাঁ, সি / সি ++ / সি # / জাভা ব্যাখ্যা করা যেতে পারে, এবং হ্যাঁ, জাভাস্ক্রিপ্ট এবং বাশ স্ক্রিপ্টগুলি সংকলন করা যেতে পারে। এই ভাষার জন্য ওয়ার্কিং ইন্টারপ্রেটার বা সংকলক রয়েছে কিনা তা অন্য প্রশ্ন।

এখন আমরা আসলে "সংকলিত ভাষা" ওভার "দোভাষী ভাষা" ব্যবহার করব যখন প্রশ্নের উত্তর দিতে। প্রশ্নটি নিজেই কিছুটা বিভ্রান্তিকর, তবে আমি ধরে নিয়েছি এর অর্থ কখন সংকলনের চেয়ে ব্যাখ্যাকে প্রাধান্য দেওয়া উচিত। সংকলনের অন্যতম উত্সাহটি হ'ল এটি সংকলন প্রক্রিয়াটির কারণে কিছু ওভারহেড উত্পন্ন করে - উত্স কোডটি এক্সিকিউটেবল মেশিন কোডে সংকলন করতে হয় তাই কোনও প্রোগ্রাম সম্পাদন করতে উত্স কোডটি চাওয়ার সময় ন্যূনতম বিলম্বের প্রয়োজন হয় এমন কাজের জন্য এটি উপযুক্ত নয় । অন্যদিকে সংকলিত উত্স কোডটি কোডটি ব্যাখ্যা করার কারণে ওভারহেডের কারণে সমতুল্য বর্ণিত উত্স কোডের চেয়ে প্রায় সর্বদা দ্রুত হয়। অন্যদিকে দোভাষীগণ উত্স কোডটি শুরু করতে এবং চালাতে পারেন খুব সামান্য অনুরোধ ওভারহেড সহ, তবে রান-টাইম পারফরম্যান্সের ব্যয়ে।

একের পর এক পছন্দ করার ক্ষেত্রে নির্দিষ্ট ব্যবহারের কেসগুলি উল্লেখ করা শেষ পর্যন্ত অসম্ভব , তবে উদাহরণস্বরূপ একটি (আমার অবাস্তবকে খুব অবাস্তব করে তোলার ক্ষেত্রে) কেস হবে যখন প্রোগ্রামের উত্সের কোড এবং সংকলনের ওভারহেডের মধ্যে প্রোগ্রামের সোর্স কোডটি পরিবর্তনশীলভাবে পরিবর্তিত হয় too এটি কার্যকরী পছন্দ হতে উচ্চ। সেক্ষেত্রে সংকলনের পরিবর্তে উত্স কোডটির ব্যাখ্যা করা বাঞ্ছনীয়।

তবে, এমন কিছু আছে যা বাস্তব-বিশ্বের উদাহরণ হিসাবে বিবেচনা করা যেতে পারে: স্থাপনার উপর hidnig উত্স কোড। সঙ্গে নেটিভসংকলিত কোড বিকাশকারী প্রোগ্রাম এবং ডেটা এক্সিকিউটেবল ম্যাকিন কোড মোতায়েন করে। ব্যাখ্যাযুক্ত কোডের সাথে উত্স কোডটি নিজেই মোতায়েন করতে হবে যা পরে পরিদর্শন করা যাবে এবং বিপরীত প্রকৌশলী নেটিভ মেশিন কোডের তুলনায় রিভার্স-ইঞ্জিনিয়ারড বুদ্ধিমানের তুলনায় অনেক কম প্রচেষ্টা হতে পারে। এর একটি ব্যতিক্রম সি # এবং জাভা এর মতো ভাষা যা তাত্ক্ষণিক ভাষা / বাইটকোড (সি # এর জন্য এমএসআইএল এবং জাভার জন্য জাভা বাইটকোড) সংকলন করে যা রানটাইমের সময় "ঠিক সময়ে" সংযুক্ত হয়ে সংকলিত হয়ে যায়, যেমন দোভাষী যেমন করেন। তবে এমএসআইএল এবং জাভা বাইটকোডের তথাকথিত ডিসকম্পিলার রয়েছে যা তুলনামূলকভাবে ভাল নির্ভুলতার সাথে মূল উত্স কোডটি পুনর্গঠন করতে পারে এবং যেমন রিভার্স ইঞ্জিনিয়ারিং যেমন পণ্যগুলি দেশীয় মেশিন কোডে স্থাপন করা হয় বিপরীত প্রকৌশল পণ্যগুলির তুলনায় অনেক বেশি তুচ্ছ।


1
আপনি ভাল বক্তব্য রাখেন, কিন্তু আমি যে প্যাড্যান্ট হয়েছি, আমি কিছু বাক্য দিয়েছি (উভয়ই তৃতীয় অনুচ্ছেদে উল্লেখ করছি): ১. একজন দোভাষা সংকলন করেন না। ২. একটি অত্যন্ত অপ্টিমাইজড (উদাহরণস্বরূপ বাইটকোড-ভিত্তিক) দোভাষী দ্বারা প্রহার করার জন্য খারাপ অ-অপ্টিমাইজ করা সংকলককে মারামারি করা (যদিও এই শর্তগুলি বিরল) ath এটি দ্বিগুণ হয়ে যায় যদি আপনি দোভাষীদের অধীনে জেআইটি সংকলক গণনা করেন (যা আমি না করতে পছন্দ করি তবে কিছু লোক তা করে)।

@ ডেলান সম্ভবত এটি খারাপভাবে বলা হয়েছে, আমি স্থানীয় ইংরেজী স্পিকার নই। তবে যতদূর আমি তৃতীয় অনুচ্ছেদে বলতে পারি যে কোনও দোভাষী সংকলন করবেন তা বোঝায় না। দ্বিতীয় দফার জন্য, আমি দুর্বল সংকলক বনাম উচ্চ-পারফরম্যান্স ইন্টারপ্রেটারের মামলাগুলি বাদ দেওয়ার জন্য সংকলিত এবং ব্যাখ্যাযুক্ত কোডের জোরের সমতুল্য শব্দের উপর জোর দিয়েছিলাম , সম্ভবত আমি এটি দিয়ে পরিষ্কার ছিলাম না, তবে আমি এটি দেখতে পাচ্ছি না যুক্তিসঙ্গতভাবে এই ধরনের চরম মামলার ব্যাখ্যা দেওয়ার উপর দৃষ্টি নিবদ্ধ করা কারণ এটি উত্সের কোডটি সংকলন করে বা এটির ব্যাখ্যা দিয়ে ভিন্নতার মধ্যে তৈরি হওয়া বিন্দুতে কিছুই অবদান রাখে
zxcdw

দুঃখিত, প্রথম বিষয়টি মনে রাখবেন না, আমি কিছু ভুল লিখেছি। আমার কুলপা। দ্বিতীয় দফার হিসাবে: আমি ব্যাখ্যা করা বা সংকলিত কোডটি উল্লেখ করার জন্য "সমতুল্য" নিলাম (এবং সংকলক এবং দোভাষীর তুলনা করে অনেক কিছু বোঝা যায় না, কারণ তারা মৌলিকভাবে বিভিন্ন জিনিস করেন)। আমি মনে করি না যে আমার উদাহরণের মতো অপ্রত্যাশিত মামলার বিবরণে সময় নষ্ট করা উচিত, তবে আমি "সর্বদা" এমন একটি বাক্যবন্ধের পক্ষে ফেলে দেওয়া পছন্দ করি যা এটি ব্যাখ্যা করে যে এটি প্রথম স্থানে আরও দ্রুত কেন হতে পারে: কোন দোভাষী ওভারহেড [যা হওয়া উচিত সংজ্ঞায়িত আইএমএইচও], এবং রানটাইমের আগে অপ্টিমাইজেশন সম্পাদনের সুযোগ।

1

আপনি যখন কোনও ব্যাখ্যামূলক ভাষা ব্যবহার করবেন তখন আমি নিম্নলিখিত পরিস্থিতিগুলি সম্পর্কে ভাবতে পারি :

  • যেখানে লিনাক্স / ইউনিক্স শেল স্ক্রিপ্টগুলির মতো কোনও সংকলক উপস্থিত নেই ।
  • দ্রুত এবং নোংরা স্ক্রিপ্ট যা সামান্য সমস্যার সমাধান করে
  • যে ভাষাগুলি গতিশীল HTML পৃষ্ঠাগুলি লিখতে সহজ করে এবং জেএসপি (টমক্যাট এটি চালানোর জন্য একটি সার্ভার প্রিভিওগুলিতে সংকলন করে), পিএইচপি, এএসপি ইত্যাদির মতো সাধারণভাবে ব্যাখ্যা করা হয় Language

আপনি যখন আপনার কোডটি সংকলন করতে চান তখন আমি নিম্নলিখিত পরিস্থিতিগুলি সম্পর্কে ভাবতে পারি :

  • আপনাকে বাইনারি বিতরণ করতে হবে কারণ আপনার অ্যাপ্লিকেশনটি বন্ধ-উত্স এবং আপনি আপনার উত্স কোডটি দিতে চান না।
  • এম্বেড থাকা সিস্টেমগুলির মতো গতি এবং।
  • আপনার কোড টাইপ-নিরাপত্তার একটি স্তর প্রয়োজন যা কেবলমাত্র কঠোরভাবে টাইপ করা ভাষার সংকলক আপনাকে দিতে পারে। সংকলকগণ আপনার উত্স কোডের প্রতিটি কৌতুক এবং ক্রাইনিতে টাইপগুলি প্রকাশ করে, যেখানে ব্যাখ্যামূলক প্রোগ্রামগুলিতে টাইপগুলি প্রোডাকশন কোডের অন্বেষণে যেতে পারে।
  • বৃহত্তর , জটিল সিস্টেমগুলি: কোনও ওএস বা কোনও অফিস স্যুট সংকলিত বাইনারি ছাড়া কিছুই ভাবতে পারে না।
  • আপনি প্রতিটি ছোট্ট ওভারহেডকে উপায় ছাড়িয়ে যেতে চান এবং এসেম্বলারের স্নিপেটগুলির সাথে ভাল যোগাযোগের প্রয়োজন (কোনও ধরণের রানটাইমের সাথে কঠোরভাবে, বিশেষত একজন দোভাষীর সাথে) (এই বিষয়টি @ ডেলানাম মন্তব্য দ্বারা প্রকাশিত)

3
একটি ভাষা দোভাষী ভাষা কম জোরালোভাবে টাইপ করা হয়। হাস্কেল চূড়ান্তভাবে টাইপযুক্ত এবং আপনি কার্যকরভাবে এটি ব্যাখ্যা করতে GHCI ব্যবহার করতে পারেন। শক্ত / দুর্বল টাইপিং কোনও ভাষার দিক, সংকলক বা দোভাষীর দিক নয়।
জিমি হোফা

1
-1 সংকলনের পক্ষে: (1) সংকলন কোডটি বিপরীত প্রকৌশল থেকে রক্ষা করে না, এটি কেবল এটি আরও শক্ত করে তোলে। (২) সংকলন (দোভাষী ওভারহেড অপসারণ, অ্যাপ্লিকেশন কোডের স্বয়ংক্রিয় অপ্টিমাইজেশন) পারফরম্যান্সের একমাত্র উত্স, এবং একটি মানব বিশেষজ্ঞের হাতে হাতে সম্পন্ন বৃহত আকারের অপ্টিমাইজেশন দ্বারা অতিক্রম করা হয়। (3) টাইপ চেকিং, সাধারণত সংকলনের সাথে মিলিত হলেও এটি থেকে স্বতন্ত্র। একটি প্রকার পরীক্ষক একটি স্ট্যাটিক বিশ্লেষণ পাস; এটি কোড নির্গমন ছাড়াই এবং কোডটির ব্যাখ্যা দেওয়ার আগে ঘটতে পারে। (4) বেশ উদ্বুদ্ধ মনে হয়। আপনি কি "কল্পনা করতে পারবেন না"? কেন? এটি কিভাবে প্রয়োজন?

1
যখনই অন্য প্রোগ্রামে কোনও দোভাষী থাকে সেখানে অন্যান্য দোভাষী ভাষাগুলি উপস্থিত থাকে। যখনই কেউ দোভাষী প্যাটার্নটি ব্যবহার করছেন , সেখানে কিছু জটিলতার ব্যাখ্যা দেওয়া ভাষা রয়েছে।

3
"স্ক্রিপ্টগুলি" ব্যাখ্যা করার প্রয়োজন হয় না। অনেকগুলি "স্ক্রিপ্টিং" ভাষা ভার্চুয়াল মেশিনের বাইটোকোডে সংকলিত হয় যা পরে কার্যকর করা হয় (লুয়া, পারল, পাইথন, রুবি দেখুন)। কম্পাইল সংঘটিত হওয়া ছাড়া এই এবং জাভার মধ্যে আর কোনও আসল পার্থক্য নেই।

3
+1, আমি মনে করি এটি ওপির পরে সত্যই উত্তর ছিল, এবং যদিও পয়েন্টগুলি নির্দেশিত হিসাবে 100% সত্য নাও হতে পারে, ব্যবহারিক বিবেচনার জন্য কমপক্ষে 95% সত্য রয়েছে।
ডক ব্রাউন

1

শেষ অবধি, বড় ট্রেড অফটি উত্পাদনশীলতা (আপনাকে কত লাইনের কোডের লাইন লিখতে হবে) এবং কর্মক্ষমতা (আপনার প্রোগ্রামটি কত দ্রুত কার্যকর করবে) এর মধ্যে।

কারণ সিপিইউ তথ্যে রুপান্তরিত যখন অনুবাদিত ভাষাতে আরও তথ্য থাকে, তারা প্রতিবিম্ব এবং গতিশীল টাইপিংয়ের উপর নির্ভর করতে পারে যা উত্পাদনশীলতা ব্যাপকভাবে বৃদ্ধি করে । ব্যাখ্যামূলক ভাষার আর একটি সুবিধা হ'ল এগুলি প্ল্যাটফর্মটি স্বতন্ত্র তাই প্ল্যাটফর্মের জন্য একজন দোভাষী রয়েছে।

কারণ সিপিইউ অবশ্যই ভাষা কোডটি মেশিন কোডে রূপান্তর করতে এবং কোডটি একই সাথে চালানো উচিত নয়, ব্যাখ্যাযুক্ত ক্ষেত্রে যেমন সংকলিত ভাষাগুলি আরও দ্রুত প্রোগ্রাম দেয়। এছাড়াও, একটি সংকলিত ভাষায় নির্মিত একটি সিস্টেম আরও সুরক্ষিত যেহেতু এটি সঙ্কলন করার সময় সমস্যাগুলি সনাক্ত করতে পারে যার মূলত অর্থ আপনি যখন প্রোগ্রামটি চালিত করেন কেবল তখনই এটির পরিবর্তে (আধুনিক আইডিই সহ) আপনি এটির পরিবর্তে কোনও ত্রুটি দেখতে পান (অবশ্যই , এটি যৌক্তিক ত্রুটিগুলি ঠিক করে না)।

এটি জানার সাথে সাথে, ব্যাখ্যা করা ভাষাগুলি উপযুক্ত:

  1. উত্পাদনশীল বিকাশ: দ্রুত ওয়েব বিকাশ (পিএইচপি, জাভাস্ক্রিপ্ট) বা প্রোটোটাইপিংয়ের জন্য।
  2. ক্রস-প্ল্যাটফর্ম; উদাহরণস্বরূপ জাভাস্ক্রিপ্ট প্রতিটি ব্রাউজারে (মোবাইল ব্রাউজার সহ) সমর্থিত।

এবং সংকলিত ভাষাগুলি উপযুক্ত:

  1. পারফরম্যান্স সমালোচনামূলক (অপারেটিং সিস্টেম) বা সংস্থানগুলি দুর্লভ (মাইক্রোকন্ট্রোলার)।
  2. তৈরি করা সিস্টেমগুলি জটিল; বৃহত সিস্টেমগুলি তৈরি করার সময় (এন্টারপ্রাইজ সিস্টেম) সংকলিত ভাষাগুলি অনেকগুলি সম্ভাব্য বাগ পরিচালনা করা আবশ্যক যা ব্যাখ্যা করা ভাষায় প্রদর্শিত হতে পারে; জটিল প্রোগ্রামগুলির জন্য অনেক সংস্থান প্রয়োজন এবং ভারসাম্য সংকলিত ভাষাগুলিতেও থাকে।

-1 কারণ আপনি বোঝাচ্ছেন যে সমস্ত ব্যাখ্যামূলক ভাষা গতিশীলভাবে টাইপ করা হয়েছে এবং সমস্ত সংকলিত ভাষা স্থিতিকভাবে টাইপ করা হয়েছে যা সম্পূর্ণ অসত্য।
ড্যানিয়েল প্রাইডেন

@ ড্যানিয়েলপ্রাইডেন তখন অবশ্যই এটি নির্ভেজাল কাকতালীয় হওয়া উচিত, প্রায় সমস্ত বর্ণিত ভাষা গতিশীলভাবে টাইপ করা হয় এবং সংকলিতগুলি স্থিরভাবে টাইপ করা হয়? গতিশীল টাইপের মডেলটি ব্যাখ্যা করা ভাষার জন্য উপযুক্ত কি এটি একটি কাকতালীয় ঘটনা?
m3th0dman

বিভিন্ন কারণে, একটি পারস্পরিক সম্পর্ক রয়েছে, তবে এটি কোনও প্রয়োজন নয়। এটি আসলে স্ট্যাকওভারফ্লোতে জিজ্ঞাসা করা হয়েছে: সংজ্ঞায়িত ল্যাংগুলিকে কেন বেশিরভাগ ডাকটাইপ করা হয় যখন সংকলন করার সময় শক্ত টাইপ করা হয়?
ড্যানিয়েল প্রাইডেন

1
এরলং সংকলিত এবং গতিশীল টাইপ করা হয়। হাস্কেল স্থিতিশীলভাবে টাইপ করা হয়েছে এবং সংকলন বা ব্যাখ্যা করা যায়
জ্যাচারি কে

1
@ জাচারি এর্লংয়ের একটি রান-টাইম সিস্টেম রয়েছে; হাস্কেল বেশিরভাগ ক্ষেত্রে সংকলিত (প্রোগ্রাম লিখিত)।
m3th0dman

1

অন্যরা উল্লিখিত কারণগুলি ছাড়াও, কোনও রূপ সংকলন বা কোনও হাইব্রিড পদ্ধতির উপর ভিত্তি করে অ্যাডহক ব্যাখ্যাকে বেছে নেওয়ার জন্য একটি বিশেষ গুরুত্বপূর্ণ ব্যবহারের মামলা রয়েছে।

যদি কোনও প্রোগ্রামিং ল্যাঙ্গুয়েজ যোগাযোগ প্রোটোকল হিসাবে ব্যবহৃত হয় , এবং যখন প্রতিক্রিয়া বিলম্বিতা গুরুত্বপূর্ণ, সংকলন এবং কোনও সম্ভাব্য প্রিপ্রোসেসিংয়ে সময় নষ্ট করা এড়াতে আরও বোধগম্য হয়।

এটি এজেন্ট ভাষাগুলির ক্ষেত্রে প্রযোজ্য, উদাহরণস্বরূপ, বা কীভাবে বলা যায়, টিসিএল / টাকা সাধারণত ব্যবহৃত হয়।

ব্যাখ্যার সাথে লেগে থাকার আরও একটি সম্ভাব্য কারণ হ'ল যখন কোনও ভাষা দোভাষী নিজে নিজে বুটস্ট্র্যাপিং বা আরও বিস্তৃত, উচ্চ স্তরের ভাষা ব্যবহার করার জন্য ব্যবহৃত হয় এবং বুটস্ট্র্যাপ প্রক্রিয়া কর্মক্ষমতা থেকে তার সরলতা আরও গুরুত্বপূর্ণ important

অন্য যে কোনও সম্ভাব্য ব্যবহারের ক্ষেত্রে সংকলন (বা একটি সংকর পদ্ধতির) একটি ভাল ফিট।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.