এই বাক্যটির অর্থ কী, "আমরা চেয়েছিলাম এটি সংকলিত হোক যাতে এটি সিপিইউ পোড়া না করে ভুল কাজ করে।"


10

আমি পরিতেছিলাম এই নিবন্ধটি । এটিতে নিম্নলিখিত অনুচ্ছেদ রয়েছে।

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

আমি শেষ বাক্যটির অর্থ খুঁজছি। কীভাবে ব্যাখ্যা করা ভাষা সিপিইউকে "ভুল" স্টাফ তৈরি করবে?


3
ব্যাখ্যা করা JVM বাইট কোডে সংকলিত যে কোনও কিছুকে কল করা ব্যবহারের সাথে সামান্য উদার।
রিগ

উত্তর:


47

কোড যদি বলে

A = A + 1

সংকলিত কোড এটি করে

add A, 1

দোহিত কোড এটি করে (বা কিছু ভিন্নতা)

look up the location of A in the symbol table
find the value of A
see that 1 is a constant
get its value
add the value of A and the value of 1
look up the location of A in the symbol table
store the new value of A

ধারণা পেতে?


3
কখনও কখনও ওভারসিম্প্লিফিকেশন সত্যই চিত্রকে আরও পরিষ্কার করে তোলে ;-) (কেবলমাত্র সম্পূর্ণ হতে পারে: অনেক সুপরিচিত অনুবাদকরা কিছু পদক্ষেপের কিছুটা অপ্টিমাইজ করে, তাই তারা এখানে দুটি নমুনা "বাস্তবায়ন" এর মাঝামাঝি স্থানে রয়েছে)।
জোছিম সউর

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

1
এটি একটি আশ্চর্যজনক বর্ণনা
জেমি টেলর

13

আমরা চেয়েছিলাম এটি সংকলিত হোক যাতে এটি সিপিইউ জ্বালিয়ে ভুল কাজ করে না।

মনে হচ্ছে তারা সংকলিত বনাম বর্ণিত উল্লেখ করছে। সম্ভবত রুবি অন রেলে (ব্যাখ্যা করা) বিকাশের পরে টুইটার ব্যাকগ্রাউন্ড প্রসেসিংয়ের কাজগুলি স্কালায় (সংকলিত) সরানো পুরো গল্পের দিকেই চলে যায়।

সংকলিত বনাম বর্ণিত কোডের ব্যাখ্যা এখানে

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


আপনাকে আপনার প্রথম +1 দেওয়ার জন্য খুশি। পি.এসই তে স্বাগতম!
হাইলেম

4
(এই স্কেল উল্লেখযোগ্য হতে পারে - এটি জেভিএম-তে যেমন রয়েছে - প্রযুক্তিগতভাবে কেবল বাইট-সংকলিত)।
হাইলেম

জানতেন না স্কালাটি জেভিএম ভিত্তিক। মানে এটির সম্ভবত জেআইটি সংকলিত। কোন ক্ষেত্রে, টুইটার কেবল রুবেল থেকে জেআরবিতে কেন গেল না? আপনি ভাবেন যে এটি সংকলিত সুবিধা সহ একটি সহজ স্থানান্তর হবে।
ক্রিসজি

3
তারা আরও ভাল সম্মতিযুক্ত মডেল খুঁজছিল এবং তাদের রুবির আবর্জনা সংগ্রহের ক্ষেত্রে সমস্যা ছিল। নিবন্ধটি বিস্তারিতভাবে বর্ণনা করেছে।
scrwtp

9

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

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

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


-1 উত্তরটি যেভাবে বানানো হয়েছে তা দেখতে খুব সরল দেখাচ্ছে। এটা সম্পূর্ণ জে আই টি JIT ভালো জিনিস উপেক্ষা করে ( জাস্ট-ইন-সময় সংকলন ) - কোন পথে কিভাবে Scala জেভিএম / CLR উপর সঞ্চালিত হয় হয়
মশা

সত্য। উত্তরটি পুনরায় লিখেছেন, এটি বিষয়টির মতো সামান্য যোগ করছিল was
scrwtp

-3

এই ক্ষেত্রে আমি the wrong stuffসংকলিত কোডে টাইপ সুরক্ষার অভাব বোঝাতে চেয়েছি।

সুতরাং, কেবল কোড ধীরে ধীরে ব্যাখ্যা করা হয় তা নয়, তবে এটি আরও বগু ...


8
আপনি ধরে নিচ্ছেন যে সংকলিত ভাষাগুলি সুরক্ষিত এবং তাত্পর্যযুক্ত ভাষাগুলি নয়। অনেকগুলি পাল্টা উদাহরণ রয়েছে উদাহরণস্বরূপ, লিসপ সংকলন করা যায় এবং দৃ strongly়ভাবে টাইপ করা যায় না, যখন হাস্কেলকে ব্যাখ্যা করা যায় এবং এটি বেশ প্রকারের সুরক্ষিত
জ্যাচারি কে

1
"আরও বেশি বাগি" দিয়ে "টাইপ নয় নিরাপদ" সমান হ'ল পণ্য বিক্রির পণ্য দ্বারা চালিত এফইউডি।
ব্যবহারকারী16764

1
@ ইউজার ১67646464: এটি সত্য না হলে FUD নয়। আইএমই লোকেরা পণ্য বিক্রির বিষয়ে বাজে কথা বলার চেষ্টা করে তারা ডাইনামিক টাইপিং এবং ত্রুটির মধ্যে লিঙ্কটি ডাউনপ্লে করার চেষ্টা করে। ("এটি কেবল এক ধরণের ত্রুটি ," ইত্যাদি)
ম্যাসন হুইলারের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.