এমন কোনও ভাষা কি সি-তে স্থানান্তরিত করে, আরও ভাল বাক্য গঠন সহ? [বন্ধ]


19

কফিস্প্রিপ্ট এমন একটি ভাষা যা জাবি স্ক্রিপ্টে স্থানান্তরিত করে, একটি পরিষ্কার বাক্য গঠন সহ, রুবি দ্বারা অনুপ্রাণিত। কোনও অনুরূপ ভাষা কি সিতে স্থানান্তর করে, পারফরম্যান্সে আপস না করে আরও পাঠযোগ্য কোডের জন্য অনুমতি দেয়? যদি এর মতো কিছু না থাকে তবে এটি তৈরি না করার জন্য কি কোনও ভাল কারণ আছে?


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

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


5
আমি সত্যিই "ট্রান্সকোম্পাইল" (শব্দ )টি মারা যেতে চাই। এটি "সংকলন" এবং "সংকলক"। আউটপুট ভাষা x86 না হওয়ার কারণে আপনার কোনও নতুন শব্দের দরকার নেই (এবং যদি আপনি মনে করেন যে আপনি এটি করেন তবে আপনি সংকলক বুঝতে পারেন না)।
লুশেনকো

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

উত্তর:


23

কফিস্ক্রিপ্ট খুব সাধারণ কারণে জাভাস্ক্রিপ্টের সাথে সংকলন করে, জাভাস্ক্রিপ্ট হ'ল ক্লায়েন্ট সাইড ল্যাঙ্গুয়েজ এবং ব্রাউজার বিক্রেতারা কফি স্ক্রিপ্টকে স্থানীয়ভাবে সমর্থন করবে এমনটি আশা করা অযৌক্তিক হবে, যখন এটি প্রস্তাবিত সমস্ত বিকল্প বিকল্প বাক্য গঠন ax

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

  1. জিওজেক্টের জন্য সংকলক হোন ,
  2. নেটিভ এক্সিকিউটেবলগুলি তৈরি করুন (মেশিনের সি সংকলকের মাধ্যমে),
  3. স্বয়ংক্রিয় রেফারেন্স গণনা, এবং
  4. এখনও জিনোম সি প্রোগ্রামারগুলিতে অ্যাক্সেসযোগ্য

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

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

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

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


3
নিমও আছে।
noɥʇʎԀʎzɐɹƆ

সুইফট সি তেও সংকলন করতে পারে।
কাজী ইরফান

9

আমি কয়েক পয়েন্ট কভার করতে যাচ্ছি ইয়ানিস রিজস তার অন্যথায় দুর্দান্ত উত্তরে দেয় নি।

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

আমি জানি যে কয়েকটি বাস্তবায়ন হ'ল এটি হ'ল:

  • সি ++ (কমপক্ষে প্রথম দিনগুলিতে)
  • জিএইচসি হাস্কেল (যদিও মূল কোড জেনারেটরটি সি ---)
  • গাম্বিট / চিকেন / বিগলু স্কিম
  • ইসিএল (সাধারণ লিপ)
  • পার্ল
  • ভালা এবং জিন

মূল সি প্রোগ্রাম হিসাবে দ্রুত

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


1
সি সমাবেশ থেকে খুব দূরে ...
সারজে বোর্শ

1
কিছু লোক সি কে "হাই লেভেল এসেইম্বেলার" হিসাবে ভাবেন। এটি মেশিনের খুব কাছাকাছি, তবে অবশ্যই এটি গুচ্ছ গুচ্ছ নয়।
ডিস্ট্রোমবার্গ

6

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


4

ভালা এবং জেনি উভয় ভাষা সি যা হ্যাক্স সি ++ তে সংকলন করে, তবে আমি নিশ্চিত নই যে আপনি কী চান।


2
আপনি কি এই সম্পদগুলির প্রত্যেকটির কিছুটা বিস্তৃত করতে আপত্তি করবেন এবং আপনি কেন জিজ্ঞাসিত প্রশ্নের উত্তর হিসাবে এগুলি সুপারিশ করবেন? "লিঙ্ক কেবল-উত্তর" বেশ স্ট্যাক এক্সচেঞ্জ এ স্বাগত জানাই হয় না
মশা

4

ওক্যামেল বাইটোকোডে, স্থানীয় কোডে সংকলন করতে পারে, সরাসরি ব্যাখ্যা করা যায়, বা সি-তে সংকলন করতে পারে


1
আপনি এটি কি করে সে সম্পর্কে আরও ব্যাখ্যা করতে আপত্তি করবেন এবং আপনি কেন জিজ্ঞাসিত প্রশ্নের উত্তর হিসাবে এটি সুপারিশ করবেন? "লিঙ্ক কেবল-উত্তর" বেশ স্ট্যাক এক্সচেঞ্জ এ স্বাগত জানাই হয় না
মশা

3
আমার উত্তর কীভাবে "লিঙ্ক-কেবল উত্তর" তা আমি দেখতে ব্যর্থ হয়েছি। আসলে, আমি লিঙ্কটি সরাতে পারলাম এবং এটি এখনও একটি কার্যকর উত্তর হবে। প্রশ্নটি হ'ল "এমন কোনও ভাষা আছে যা এক্স করে" এবং আমার উত্তর "ভাষা Y করায় এক্স করে"। এই মন্তব্যটি বিলিজকের উত্তরের ক্ষেত্রেও প্রযোজ্য।
বরজাক

3
  • বাজার্ন স্ট্রোস্ট্রপের মূল সি ++ সংকলক, "সিফ্রন্ট", সি +++ সি তে সঙ্কলিত করে, যা পরে অবজেক্ট কোড তৈরির জন্য সি সংকলকটি optionচ্ছিকভাবে চালিত করবে। সি ++ প্রায় "নন-তাত্ত্বিক" হিসাবে আপনি পেতে পারেন :-)
  • ইউনিক্স "ইয়্যাক" এবং জিএনইউ "বাইসন" সংকলক-সংকলকগুলি তাদের ইনপুট ভাষা সিতে অনুবাদ করে Many অনেকগুলি, বহু পরিশীলিত সিস্টেম তাদের সাথে লেখা হয়েছে।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.