অ্যান্ড্রয়েড ডেভেলপমেন্টে Java এবং Kotlin-এর পার্থক্য
Kotlin Android ডেভেলপমেন্টে Java-এর চেয়ে অনেক উন্নতি নিয়ে এসেছে। নিচে কিছু মূল পার্থক্য এবং উদাহরণ দেওয়া হলো।
১. কম কোড, সহজ ডেভেলপমেন্ট
// Java
TextView displayText = (TextView) findViewById(R.id.textView);
displayText.setText("Hello World");
// Kotlin (View Binding বা Kotlin Synthetics ব্যবহার করে)
textView.setText("Hello World")
// অথবা Data Binding: binding.textView.text = "Hello World"
২. কম্পাইল-টাইম নাল পয়েন্টার এক্সসেপশন হ্যান্ডলিং
// Java: রানটাইমে NullPointerException String value = "abc"; value = null; // কম্পাইল টাইমে কোনো এরর নেই, রানটাইমে ক্র্যাশ // Kotlin: কম্পাইল টাইমে এরর var value: String = "abc" value = null // কম্পাইলেশন এরর: Null can not be a value of a non-null type String // নালেবল টাইপ var nullableValue: String? = "abc" nullableValue = null // OK println(nullableValue?.length) // Safe call
৩. ডেটা ক্লাস বনাম POJO
// Java POJO (বয়লারপ্লেট কোড)
public class User {
private String name;
private int age;
// Constructor, getter, setter, equals, hashCode, toString...
}
// Kotlin Data Class (এক লাইনে সব)
data class User(val name: String, val age: Int)
// স্বয়ংক্রিয়: equals(), hashCode(), toString(), copy(), componentN()
৪. অন্যান্য গুরুত্বপূর্ণ পার্থক্য
| ক্রমিক নং | বিষয় | Java | Kotlin |
|---|---|---|---|
| ১ | এক্সসেপশন হ্যান্ডলিং | চেকড এক্সসেপশন ব্যবহার করে (throws ঘোষণা করতে হয়) | চেকড এক্সসেপশন নেই; কম্পাইল-টাইম এরর থ্রো করে |
| ২ | নাল হ্যান্ডলিং | নাল চেক এনফোর্স করে না (NPE হয়) | কম্পাইল টাইমে নাল চেক এনফোর্স করে |
| ৩ | নন-প্রাইভেট ফিল্ডস | নন-প্রাইভেট ফিল্ড অনুমোদিত | কনস্ট্রাক্টরে নন-প্রাইভেট ফিল্ড অনুমোদিত নয় |
| ৪ | অ্যারে (Arrays) | কোভেরিয়েন্ট (String[] → Object[]) | ইনভেরিয়েন্ট (Array<String> → Array<Any> নয়) |
| ৫ | টেরনারি অপারেটর | হ্যাঁ (condition ? a : b) |
না (বরং if-else এক্সপ্রেশন ব্যবহার করুন: if (cond) a else b) |
| ৬ | এক্সটেনশন ফাংশন | না | হ্যাঁ (বिना ইনহেরিটেন্স ক্লাসে মেথড যোগ করা যায়) |
| ৭ | কোরুটিন (Coroutines) | না (থ্রেড/Executor ব্যবহার) | হ্যাঁ (লাইটওয়েট অ্যাসিনক্রোনাস প্রোগ্রামিং) |
| ৮ | স্মার্ট কাস্ট | না | হ্যাঁ (টাইপ চেকের পর অটো কাস্ট) |
উপসংহার
Kotlin আধুনিক, সংক্ষিপ্ত এবং নিরাপদ। Google-এ Kotlinকে Android-এ অফিশিয়াল ভাষা হিসেবে ঘোষণা করেছে। নতুন প্রজেক্টের জন্য Kotlin প্রস্তাবিত।