কোন ভাষা ওয়েবঅ্যাসাব্যাস (জঞ্জাল) তে সংকলন করা যায়?


116

কোন ভাষা ওয়েবঅ্যাসাব্যাস (জঞ্জাল) তে সংকলন করা যায়?

আমি বিশ্বাস করি এখনই সি, সি ++, এবং জাস্ট (পরীক্ষামূলক) জাভা, সুইফট, এবং সি # র মতো ভাষা সমর্থন করে নয়, তবে ভবিষ্যতের বিকাশের সম্ভাব্য প্রার্থী হওয়ার সাথে সাথে, এলএলভিএম সংকলক ব্যাকএন্ডের সাথে ওয়েবঅ্যাস্পেসে সংকলন করা যেতে পারে।

আমি বিশ্বাস করি না জাভাস্ক্রিপ্টটি ওয়াস্মে সংকলিত হতে পারে। https://github.com/WebAssembly/design/issues/219


1
এটি পড়ার যে কারও কাছে একটি নোট হিসাবে, আমি ইএমএস স্ক্রিপ্টের মাধ্যমে সম্প্রতি ডাব্লুএএসএম-তে সি এবং সি ++ ব্যবহার করেছি এবং এটি খুব সুন্দরভাবে কাজ করে।
কফি টেবিলস্প্রেসো

উত্তর:


121

ওয়েবঅ্যাসাব্যাস সমর্থন সর্বদা বিকশিত হয়। এখনই এটি নিম্নলিখিত ভাষা দ্বারা সমর্থিত:

বাণিজ্যিক সমাধানও রয়েছে:

জাভাস্ক্রিপ্ট সম্পর্কিত, এটির সমর্থন পাওয়ার সম্ভাবনা কম কারণ ওয়েবঅ্যাস্পাবলশন একটি স্ট্যাটিচ্যালি টাইপ করা সমাবেশ ভাষা।

এছাড়াও আরও অনেক অস্পষ্ট / শখের ভাষা রয়েছে যা ওয়েবঅ্যাস্পেস্পল সমর্থন করে। আরও বিশদ আরও পরিস্ফুটিত বিস্ময়কর ওয়েবঅ্যাস্প্যাশন ভাষাগুলির তালিকায় পাওয়া যাবে।


1
বাণিজ্যিক সি # / জাভা / সুইফট বাস্তবায়নের: blogs.remobjects.com/2018/01/12/... । এছাড়াও: github.com/appcyphan/awesome-wasm-langs
Andreas রসবার্গ

ভাল পয়েন্ট - আমি বহু ভাষা এবং বাণিজ্যিক হিসাবে এটি নিজের একটি বিভাগ হিসাবে রিমবজেক্টগুলি যুক্ত করেছি
কলিন

1
কিন্তু পাইথন গতিশীল টাইপ করা হয়!
রিচার্ড ইঞ্জি

17

Https://github.com/mbasso/awesome-wasm#compilers দেখুন - আপাতত এটি কেবল সি / সি ++, অন্যেরা পরীক্ষামূলক, তবে "পরীক্ষামূলক" অংশের পরিমাণ বৃদ্ধি পায়।

বর্তমানে ওয়েবঅ্যাসোব্যাকশন কেবল ফ্ল্যাট রৈখিক মেমরি সমর্থন করে। এটি সি / সি ++ / মরিচ এবং অন্যান্য প্রচুর ভাষার পক্ষে উপযুক্ত তবে বেশিরভাগ জনপ্রিয় আধুনিক ভাষাগুলি চালানোর জন্য আবর্জনা সংগ্রহকারী প্রয়োজন। এটি ওয়েবঅ্যাসাব্ল্যাশনের "পোস্ট-এমভিপি বৈশিষ্ট্য" ( https://github.com/WebAsorses/design/issues/1079 দেখুন )। আপাতত একমাত্র বিকল্প হ'ল কিছু কাস্টম কোড সহ জঞ্জালের অভ্যন্তরে আবর্জনা সংগ্রহকারীকে প্রয়োগ করা।


2
এটি যোগ করে asm.js সহজে wasm এবং asm.js করার কম্পাইল করা যায় মূল্য হয় জাভাস্ক্রিপ্ট। এটি বলেছিল, জাভাস্ক্রিপ্ট সংকলন করা অনেক বেশি কঠিন / কারণ এটি সাধারণত তাত্ক্ষণিকভাবে প্রাসঙ্গিক তথ্যের অভাব হয়।
কুলেেক্স

11

টিভিএম জেভিএম বাইটোকোডকে ওয়েবঅ্যাস্পেস্পলিতে স্থানান্তর করতে ব্যবহার করা যেতে পারে। আপনি https://github.com/konsoletyper/teavm এ প্রকল্পের হোমপেজটি চেকআউট করতে পারেন ।

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

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


8

এই রেপো

এমন ভাষার একটি তালিকা রয়েছে যা বর্তমানে ওয়েবএএসবুলেশন (জঞ্জাল) এ তাদের ভিএম সংকলন করে বা থাকে

বৈশিষ্ট্য:

  • প্রতিটি ভাষা বর্তমানে পরিপক্ক তা প্রদর্শন করতে ইমোজি ব্যবহার করে Uses
  • প্রতিটি ভাষার প্রকল্পের নাম এবং বিকল্পগুলির লিঙ্ক সরবরাহ করে

3
"প্রতিটি ভাষা বর্তমানে কতটা পরিপক্ক তা দেখানোর জন্য ইমোজি ব্যবহার করে" এটি নিজের কাছে কয়েকবার পড়ুন ... এটি একটি দুর্দান্ত গভীর বিবৃতি।
আইপ্যাচ

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