অন্যান্য উচ্চ স্তরের ভাষা থেকে কীভাবে জেভিএম এবং জাভার ডাব্লুআরও আলাদা?


12

জাভা বিশ্বে আমরা প্রায়শই জেভিএম সম্পর্কে কথা বলি, এবং জাভা যখন নতুন ছিল তখন এটি "একবার লিখুন, যেকোন জায়গায় রান করুন" এর অনুমিত ঘাতক বৈশিষ্ট্য ছিল।

লোকেরা কথা বলার এবং লেখার উপায় থেকে, পাইথন যেমন কাজ করে, তার থেকে এটি পৃথক বলে মনে হয়। তবুও আমি জানি না যে পাইথন কোডটি আমি লিখেছি তা অন্য মেশিনে ভিন্নভাবে কাজ করবে। (যদিও আমি এতটা পাইথনটি লিখিনি))

তাহলে আমি কী মিস করছি? জেভিএম কীভাবে পাইথন ইন্টারপ্রেটার থেকে আলাদা? পাইথনের জাভা প্ল্যাটফর্মের স্বাধীনতার অভাব আছে কি এমন কোনও উপায় আছে? নাকি এটাই কি একটা সাংস্কৃতিক পার্থক্য?


1
প্রাথমিক পার্থক্য হ'ল জেভিএম নির্দিষ্টকরণের কঠোরতা। এটি কীভাবে আচরণ করা উচিত (উচিত নয়) এটি খুব ভালভাবে সংজ্ঞায়িত করা হয়।

উত্তর:


17

অন্তর্নিহিত ওএস থেকে আপনাকে বিচ্ছিন্ন করার জন্য জাভা খুব ভাল কাজ করে এবং বেশিরভাগ প্ল্যাটফর্মে আপনাকে একই সঠিক সরঞ্জাম দেয় যা অন্তর্নিহিত ওএসের জিনিসগুলির সাথে কথা বলার জন্য কাজ করে।

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

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


1
জাভা কোডটি লিখতে মোটেও অসুবিধা নয় যা কেবল উইন্ডোজে কাজ করে; একটি হার্ড উইন্ডোজ ফাইলের পথ যেমন "সি: like মাই অ্যাপ \ ডেটা"
কেভিন ক্লিন

@ কেভিঙ্কলাইন হার্ডকোডযুক্ত পথগুলি যে কোনও অপারেটিং সিস্টেমে খারাপ অভ্যাস। তবে জাভা আপনাকে এটি করার প্রয়োজন হয় না, কারণ এটি ব্যবহারকারীর ডিরেক্টরি বা বর্তমান প্রোগ্রামের ইনস্টল পাথের মতো সাধারণ ডিরেক্টরিগুলি পুনরুদ্ধার করতে ওএস-স্বাধীন পদ্ধতি সরবরাহ করে offers
ফিলিপ

3

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

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

ডাব্লুওআরএ বেশিরভাগই পাস - এখন অনেকগুলি অনুবাদিত ভাষা প্রায় যে কোনও জায়গায় অপরিবর্তিত রয়েছে।


3

জাভা যখন নতুন ছিল, তখন ডাব্লুওআর কিছুটা গর্ব করার মতো ছিল - বিশেষত, আপনি একটি প্ল্যাটফর্মে সংকলন করতে পারেন এবং এটি (বাইকোড সংকলিত) অন্যান্য প্ল্যাটফর্মে চালাতে পারেন।

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


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

1

পাইথনের কি প্ল্যাটফর্মটি স্বাধীন জিইউআই আছে?

যাইহোক, ডাব্লুওএআরএ বৈশিষ্ট্যটি ছিল - আবার - সি প্রোগ্রামারগুলিকে লোভিত করার জন্য, যেহেতু সি অন্তর্নিহিত প্ল্যাটফর্মটি ঘনিষ্ঠভাবে মডেল করেছিল, এবং প্ল্যাটফর্মগুলি পৃথক ছিল (পুরোপুরি পোর্টেবল সি প্রোগ্রাম তৈরির ক্ষেত্রে দুর্দান্ত যত্ন এবং মনোযোগ প্রয়োজন) plat

জাভা প্রতিশ্রুতি ছিল যে এই সমস্ত ক্লান্তিকর কাজটি করতে হবে না, কারণ প্ল্যাটফর্মটি খুব ভালভাবে সংজ্ঞায়িত হয়েছে এবং আপনি জানেন যে একটি চর 16 টি বিট রয়েছে। এছাড়াও জিইউআই জাভাতে লেখা আছে এবং 100% বহনযোগ্য, যার অর্থ আপনার প্রোগ্রামটি এমন কোনও কম্পিউটারে চলতে পারে যা আপনি কখনও শুনে নি এবং এমনকি সঠিকভাবে চালাতে পারেন না।


6
পাইথনের বেশ কয়েকটি প্ল্যাটফর্ম স্বতন্ত্র জিইউআই বিকল্প রয়েছে: ডকস.পিথন.অর্গ
জুনাস পুলক্কা

জাভা জিইউআইগুলি বিভিন্ন প্ল্যাটফর্মগুলিতে সঠিকভাবে প্রদর্শন না করার জন্য কুখ্যাত হয়, তাই আমি ঠিক সেই দিকটি নিয়ে গর্ব করব না। যাইহোক, আমি আপনার বাকী বাকী সাথে একমত হবে।
ক্রোধ

-4

ছাড়া জাভা প্রবলভাবে হয় না WORA। আমি জাভা সফ্টওয়্যার দেখেছি যা জাভা গৌণ সংস্করণ সংখ্যায় একটি উচ্চতর সংস্করণে আপগ্রেড হওয়ার পরে ভেঙে গেছে । আইএমএইচও, ওওআরএ হ'ল একটি বিপণন চালাকি।


1
এটি আসলে প্রশ্নের উত্তর নয়।
এরিক উইলসন

-1 কারন জাভা সমস্ত ব্যবহারিক উদ্দেশ্যে WORA। আপনি সিস্টেম-নির্দিষ্ট হ্যাক এবং স্পষ্টতই JNI এর মতো নেটিভ স্টাফগুলি এড়িয়ে চললে এটি কাজ করবে । আমার 50,000+ লাইন অ্যাপ্লিকেশনগুলি পুরো উইন্ডোজ, ম্যাক এবং লিনাক্স জুড়ে পুরোপুরি চালিত হয়েছে, একই সংকলিত .jar ফাইলের সাথে প্রথমবার কোনও পরিবর্তন হয়নি। আপনি যদি খাঁটি জাভাতে লেগে থাকেন তবে এটি সব ঠিক কাজ করে।
মাইকেরা

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