জাভাক এবং ইক্লিপস সংকলকটির মধ্যে পার্থক্য কী?


201

Eclipse এর জাভা সংকলনটি কি একই কোরটির চারপাশে কেবল একটি মোড়কের মতো javacপ্রোগ্রামটি চারপাশে মোড়ানো হয়, বা এটি সম্পূর্ণ আলাদা আলাদা সংকলক? যদি পরে থাকে তবে তারা চাকাটি পুনরায় উদ্ভাবন করবে কেন?

উত্তর:


209

ইক্লিপস তার নিজস্ব সংকলক জাভা (ইসিজে) এর জন্য এক্লিপস কমপাইলার নামে পরিচিত প্রয়োগ করেছে ।

এটি জাভাক থেকে পৃথক, সংকলক যা সান জেডিকে দিয়ে প্রেরণ করা হয়। একটি উল্লেখযোগ্য পার্থক্য হ'ল Elpipse compiler আপনাকে এমন কোড চালাতে দেয় যা আসলে সঠিকভাবে সংকলন করে না। যদি ত্রুটিযুক্ত কোডের ব্লকটি কখনও চালিত না হয় তবে আপনার প্রোগ্রামটি ঠিকঠাক চলবে। অন্যথায়, এটি একটি ব্যতিক্রম ছুঁড়ে দেবে যেটি ইঙ্গিত করে যে আপনি কোডটি চালনার চেষ্টা করেছেন যা সংকলন করে না।

আরেকটি পার্থক্য হ'ল Eclipse সংকলকটি Eclipse IDE এর মধ্যে থেকে বাড়তি বিল্ডের অনুমতি দেয়, অর্থাৎ, আপনি টাইপিং শেষ করার সাথে সাথে সমস্ত কোড সংকলিত হবে।

Eclipse এর নিজস্ব সংকলকটি উপস্থিত হওয়ার বিষয়টিও স্পষ্ট কারণ আপনি জাভা এসডিকে ইনস্টল না করেই একটিলিপসে জাভা কোডটি লিখতে, সংকলন করতে এবং চালাতে পারবেন।

জাভাকের চেয়ে ইসিজি পছন্দ করা কয়েকটি উদাহরণ:


3
@ বার্ট, এক্লিপস সংকলক এন্টারপ্রাইজ রিলিজ বিল্ডগুলির জন্য যথেষ্ট ভাল কাজ করে।
jjnguy

7
@ জিংগুই আমি একমত নই যে আপনার মুক্তির জন্য গ্রহন সংকলকটি ব্যবহার করা উচিত। যেমন আপনি উত্তরে বলেছিলেন, এটি ত্রুটি সহ কোডটি সংকলন করতে পারে, আপনি পাবলিক শূন্য ফু () এর মতো স্টাফ চান না new নতুন ত্রুটি নিক্ষেপ করুন ("অমীমাংসিত সংকলন সমস্যা: \ n \ tFOOBAR সমাধান করা যায় না) n"); আমার প্রোডাকশন কোডে উপস্থিত হতে}
ম্যাথু ফারওয়েল

10
@ ম্যাথু ফারওয়েল তিনি বলেন নি যে আপনার করা উচিত, তবে আপনি তা করতে পারেন। এবং যদি আপনি এটির ত্রুটিগুলি সহ কোনও বিল্ড তৈরি করেন তবে প্রথমে আপনার বিল্ড প্রক্রিয়াতে কিছু ভুল।
স্টেফান

4
নোট করুন যে আপনার অ্যাপ্লিকেশনটিতে ইসিজেড এম্বেড করা আপনার প্রোগ্রামকে জেডিকে প্রয়োজনের পরিবর্তে একটি জেআরই এর অধীনে চলতে দেয়।
থরবজর্ন রাভন অ্যান্ডারসন

6
@ ম্যাথিউফারওয়েল এখানে একটি লুপ বন্ধ করতে: মুক্তির জন্য বিল্ডিংয়ের জন্য আপনাকে কেবল সংকলক যুক্তি নির্দিষ্ট না করার পরামর্শ দেওয়া হয়েছে -proceedOnErrorএবং এটি ত্রুটিযুক্ত উত্স থেকে। ক্লাস ফাইলগুলি তৈরি করবে না।
স্টিফান হারমান n

36

প্রত্যেকে ইতিমধ্যে ব্যাখ্যা করেছে যে তারা আলাদা। দু'টি সংকলকের মধ্যে আমি লক্ষ্য করেছি আচরণের মধ্যে কিছু পার্থক্য। এগুলি সমস্ত বাস্তবায়নের একটিতে (কমপক্ষে) একটি বাগে সিদ্ধ হয়।

সংকলন-সময় অপ্টিমাইজেশন সম্পর্কিত

জেনারিক্স টাইপের অনুমান সম্পর্কিত


1
আসলে আমি এই পার্থক্যটি দীর্ঘ রাতের পরে জানতাম: গ্রহনটি এমন কিছু সম্পর্কে একটি ত্রুটির কথা জানিয়েছিল যা আমার কাছে আইনী বলে মনে হয়েছিল (আমার কী মনে নেই), আমার হতাশায় (আমি সবে জেগে থাকতে পারি) আমি কেবল জাভাকে কোডটি খাওয়াই এবং তাহলে এটি সহজেই কাজ করেছিল! আমি গুগলে খুঁজে পেয়েছি যে এই সমস্যার সমাধানের জন্য আমাকে জেডিটি আপগ্রেড করতে হয়েছিল।
আবেল মোর্লোস

5
আমি কঠিন ক্ষেত্রে জেনেরিকগুলি পরিচালনা করার সংকলকগুলির মধ্যে বেশ কয়েকটি পার্থক্য খুঁজে পেয়েছি। আপনি নিজের উত্তরে এগুলি যুক্ত করতে চান এমন ক্ষেত্রে আমি এখানে দুটি প্রশ্ন তৈরি করেছি: স্ট্যাকওভারফ্লো / প্রশ্ন / 13501836/… স্ট্যাকওভারফ্লো
এলিয়াস ভ্যাসিলেনকো

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

2
নির্গত বাইটকোডে যেকোন শব্দার্থগত পার্থক্য হ'ল উভয়ই প্রয়োগের ক্ষেত্রে একটি বাগ। এটি আমার মতে খুব আকর্ষণীয় নয়। আমি কেবল জাভ্যাক এবং ই সি সি থেকে খোলা বাগগুলি তালিকাভুক্ত করে সহজেই এই জাতীয় "পার্থক্যগুলির" দীর্ঘ তালিকা তৈরি করতে পারি।
আইয়ুব

এফওয়াইআই, নেটবিন্স এ জাতীয় কোনও "পার্থক্য" ভুগছে না কারণ এটি জাভা-র অভ্যন্তরীণ এপিআই ব্যবহার করে যা EJC করে।
আলেকজান্ডার ডাবিনস্কি

17

ইলিম্পের অন্তর্নির্মিত সংকলক আইবিএমের জাইকস জাভা সংকলক ভিত্তিক । (দ্রষ্টব্য যে Eclipse এছাড়াও তার জীবন শুরু করেছিল IBM এ)। এটি জেডিকে সূর্যের জাভা সংকলক থেকে সম্পূর্ণ স্বতন্ত্র; এটি সূর্যের চারপাশে মোড়ক নয় javac

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


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

2
এক্সিলিপ স্ক্র্যাপবুক যেখানে আপনি কেবল কোডের স্নিপেটগুলি লিখতে পারবেন, সেগুলি হাইলাইট করতে এবং চালাতে পারবেন, কোনও শ্রেণিতে, একটি মূল পদ্ধতিতে বা এমনকি কোনও পদ্ধতিতে রেখে না
Jörg W Mittag

1
@ জার্গডব্লিউমিত্যাগ আসলে, জাভাকের অভ্যন্তরীণ এপিআই (নেটবিয়ানরা যেমন ব্যবহার করে) একই লক্ষ্যগুলি অর্জন করতে ব্যবহার করতে পারে।
আলেকজান্ডার ডাবিনস্কি

1
@ আলেকসান্ডারডুবিনস্কি: ১৯৯ 1997 সালে জাভার জন্য ভিজুয়াল এজ প্রকাশিত হওয়ার পরে এটি আসলে কতটা ভাল কাজ করেছিল?
জার্গ ডব্লু মিট্টাগ

15

এটি সম্পূর্ণরূপে একটি পৃথক সংকলক। এটি জাভ্যাক গ্রহটির সাইট থেকে সামান্য ভাঙা কোড সংকলনের অনুমতি দেয় না বলে এটি প্রয়োজন

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


আপনি কেন "সামান্য" ভাঙা কোডটির সংকলন চান?
স্টিভ কোহেন

5
@ স্টিভকোহান: আপনি সংকলকটি সিনট্যাক্স হাইলাইটিং, শব্দার্থক হাইলাইটিং, রিফ্যাক্টরিং সমর্থন, টাইপ চেকিং, কোড সমাপ্তি, ইঙ্গিতগুলি এবং অন্য কোনও জিনিস যখন আপনার কোডটি লেখার সময় সংকলক করেন সেগুলি সরবরাহ করতে চান, এবং আপনি যখন আপনার কোডটি লিখছেন, এটি সংজ্ঞা দ্বারা কমবেশি অসম্পূর্ণ (অন্যথায়, আপনি এখনও এটি কেন লিখছেন?) একটি আইডিই যা প্রকল্পের একেবারে শেষে কাজ করে, যখন সমস্ত কিছু ইতিমধ্যে বাস্তবায়ন করা হয়েছে, তখন এটি যথেষ্ট অকেজো হবে।
Jörg ডব্লু মিটাগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.