কম্পিউটার

জাভা এবং রুবির মধ্যে 7 প্রধান পার্থক্য

আপনি কিভাবে জাভা থেকে রুবিতে যাবেন?

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

জাভা/সি# থেকে রুবি-তে যেতে চান এমন অনেক লোকের জন্য এটি দুর্দান্ত৷

কিন্তু…

আপনি যদি পার্থক্য সম্পর্কে কৌতূহলী হন তবে এটি আপনার জন্যও।

এটা করা যাক!

স্ট্যাটিক টাইপিং বনাম ডাইনামিক টাইপিং

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

এই হল পরিস্থিতি :

  • জাভা স্ট্যাটিক টাইপিং ব্যবহার করে
  • রুবি ডায়নামিক টাইপিং ব্যবহার করে

এর মানে কি, ঠিক?

টাইপিং বোঝায় কিভাবে ভেরিয়েবল এবং পদ্ধতি আর্গুমেন্ট কাজ করে।

একটি দৃঢ়ভাবে (বা স্থিরভাবে) টাইপ করা ভাষাকে ঘোষণা করতে হবে যে প্রতিটি ভেরিয়েবল কী ধরনের (শ্রেণী) গ্রহণ করতে পারে।

এটা এরকম দেখাচ্ছে :

int n =1;

যেখানে int এই ক্ষেত্রে, Integer প্রকার .

কেন এটি দরকারী?

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

এর মানে হল যে আপনি সবসময় জানতে পারবেন আপনি কোন ধরনের বস্তুর সাথে কাজ করছেন।

কম নমনীয় হওয়ার অসুবিধা সহ।

বিপরীতভাবে…

ডায়নামিক টাইপিং হল নমনীয়তা সম্পর্কে, ভেরিয়েবলগুলি একটি নির্দিষ্ট ধরণের সাথে আবদ্ধ নয়, তাই টাইপ পরিবর্তন হতে পারে৷

এখানে একটি উদাহরণ আছে :

n =1n ="abc"

নেতিবাচক দিকটি হল আপনার কোডটি অগোছালো হলে এবং কোড পড়ার সময় আপনি ততটা না পেলে আপনি আরও ত্রুটির সম্মুখীন হতে পারেন৷

এটি একটি প্রধান পার্থক্য!

পরবর্তী বিভাগে আরও।

সিনট্যাক্স:সহজ জিনিস এবং বয়লারপ্লেট

জাভা বয়লারপ্লেটের রাজা।

বয়লারপ্লেট হল সেই সমস্ত "সেটআপ" কোড যা আপনাকে কেবলমাত্র আপনার কোডকে সিনট্যাকটিকভাবে বৈধ করতে যোগ করতে হবে৷

ফলে...

জাভা সহজ জিনিসগুলিকে জটিল করে তোলে!

জাভাতে হ্যালো ওয়ার্ল্ড :

<প্রি>ক্লাস হ্যালো { স্ট্যাটিক পাবলিক ভ্যাইড মেইন() { System.out.println("হ্যালো ওয়ার্ল্ড"); }}

তারপর আপনাকে এটি একটি ক্লাস ফাইলে কম্পাইল করতে হবে এবং এটি চালাতে হবে।

দুই ধাপ!

(আইডিই এতে সাহায্য করে।)

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

রুবিতে হ্যালো ওয়ার্ল্ড :

"হ্যালো ওয়ার্ল্ড" রাখে

হ্যাঁ৷

এটাই।

দেখে মনে হচ্ছে রুবি ক্লিনার কোডে ফলাফল করে। রাজি?

তার উপরে...

আপনি একটি টার্মিনাল থেকে একটি একক কমান্ড দিয়ে এই কোডটি চালাতে পারেন!

কোন সংকলন পদক্ষেপের প্রয়োজন নেই৷

কোড দিয়ে খেলা:বিল্ট-ইন REPL

রুবি irb এর সাথে আসে, যা কিছু কোডের পরীক্ষা সত্যিই দ্রুত করে তোলে।

এমনকি আপনাকে একটি ফাইল সংরক্ষণ করতে হবে না।

অথবা একটি সম্পাদক খুলুন!

জাভাতে এই বিল্ট-ইন নেই, অন্তত জাভা 9 পর্যন্ত এটি নেই।

ফাইলের নাম এবং ফাইল সংস্থা

জাভা একটি নির্দিষ্ট ফাইলের নামকরণ কাঠামো এবং সংস্থাকে বাধ্য করে।

উদাহরণস্বরূপ :

আপনার যদি Hello নামে একটি (পাবলিক) ক্লাস থাকে , ফাইলের নাম অবশ্যই Hello.java হতে হবে .

এটি রুবির ক্ষেত্রে নয়৷

এছাড়াও, আমাদের রুবিতে একটি প্রাইভেট ক্লাসের ধারণা নেই৷

ব্যতিক্রম পরিচালনা

জাভা দুই ধরনের ব্যতিক্রম আছে:

  • চেক করা ব্যতিক্রম
  • অচেক করা ব্যতিক্রম

পার্থক্য?

আপনাকে চেক করা ব্যতিক্রমগুলি পরিচালনা করতে হবে!

অথবা আপনার প্রোগ্রাম চালানো হবে না।

এখন :

রুবি শুধুমাত্র এক ধরনের ব্যতিক্রম আছে.

আপনি চাইলে এটি পরিচালনা করতে পারেন, দোভাষী এটি সম্পর্কে অভিযোগ করবেন না, তবে এটি আপনার প্রোগ্রামটি ক্র্যাশ করতে পারে৷

কম্পাইলার এবং ভাষা লাইসেন্সিং

সবশেষে, আসুন লাইসেন্স সম্পর্কে কথা বলি।

এটি সাধারণত প্রোগ্রামিং ভাষার সাথে একটি সমস্যা হয় না।

কেন?

কারণ সেগুলি ওপেন সোর্স, যার প্রধান রক্ষণাবেক্ষণকারী এবং ডিজাইনার হিসাবে একজন ব্যক্তি।

জাভা এখানে আলাদা।

এটি একটি বড় কর্পোরেশনের (ওরাকল) কাছে এবং এটির লাইসেন্সিং এর উপর প্রভাব রয়েছে৷

আসলে :

জাভা রানটাইমের দুটি সংস্করণ রয়েছে, “ওরাকল জেডিকে”, যেটি (যদি আমি সঠিকভাবে বুঝতে পারি) সংস্করণ 9 থেকে শুরু করে একটি বাণিজ্যিক পণ্য।

তারপর আপনার কাছে "ওপেন জেডিকে" আছে, যা ওরাকলেরও অন্তর্গত।

কিন্তু এটির একটি ওপেন সোর্স লাইসেন্স আছে৷

লাইব্রেরি এবং কোড বিতরণ

আরেকটি প্রধান পার্থক্য, রুবি সম্পর্কে আমার একটি প্রিয় (এছাড়াও ম্যাটজের প্রিয়) হল রুবিজেমস।

এটি লাইব্রেরি বিতরণ করা (যেমন HTTP ক্লায়েন্ট) অনেক সহজ করে তোলে।

কারণ :

  • একটি কেন্দ্রীয় ভান্ডার আছে
  • এটি ভাষার সাথে একত্রিত হয়েছে
  • অনেক ওপেন সোর্স রত্ন পাওয়া যায় এবং সহজে খুঁজে পাওয়া যায়

যতদূর আমি জানি, জাভা এর কাছাকাছি কিছু নেই, তাই এটি একটি প্রধান জয় রুবির জন্য।

সারাংশ

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

এখন আপনি রুবিকে বোঝার জন্য আরও ভালভাবে প্রস্তুত যাতে আপনি আপনার জন্য সঠিক সিদ্ধান্ত নিতে পারেন।

পড়ার জন্য ধন্যবাদ! 🙂


  1. জাভাতে বিমূর্ত শ্রেণী এবং ইন্টারফেসের মধ্যে পার্থক্য

  2. জাভাতে org.simple.json এবং org.json লাইব্রেরির মধ্যে পার্থক্য?

  3. জাভাতে সংগ্রহ এবং সংগ্রহের মধ্যে পার্থক্য?

  4. জাভাতে অপেক্ষা () এবং ঘুম () পদ্ধতির মধ্যে পার্থক্য?