জাভা বনাম কোটলিনে একটি দ্রুত উঁকি দেওয়া

কোটলিন হ'ল বিশ্বের সেরা আইডিইগুলির নির্মাতা জেটব্রেইনসের একটি নতুন প্রোগ্রামিং ভাষা।

গত বছর প্রায় গুগল গুগল আই / ও’১17 এ অ্যান্ড্রয়েড অ্যাপ বিকাশের জন্য অন্য একটি সরকারী ভাষা হিসাবে কোটলিনকে ঘোষণা করেছিল।

এক বছরে, কোটলিনে এতগুলি নিবন্ধ রয়েছে এবং বিকাশকারীরা দ্রুত গতিতে কোটলিনে স্থানান্তরিত হয়।

এয়ারটেল প্রোডাক্ট ইঞ্জিনিয়ারিংয়ে আমরা সর্বদা নতুন প্রযুক্তি নিয়ে পরীক্ষা-নিরীক্ষা করি এবং সেগুলি আমাদের পণ্যগুলিতে গ্রহণ করি। কোটলিন সম্পর্কে আমার বিশ্লেষণ নীচে দেওয়া হল।

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

আসুন আমার বর্তমান কয়েকটি পছন্দের সাথে শুরু করা যাক।

  1. পরিবর্তনশীল সংজ্ঞা:

জাভাতে, আমাদের কেবল পঠনযোগ্য পরিবর্তনের জন্য চূড়ান্ত রয়েছে।

// জাভা
ফাইনাল চর a = ‘এ’; // কেবল পঠনযোগ্য `চারি প্রকার
চর বি = 'বি'; // পরিবর্তনীয় `চর` প্রকার
খ = 'সি';

কোটলিনে, আমাদের কেবল পঠনযোগ্য পরিবর্তনশীল এবং মিউটেবল ভেরিয়েবলের জন্য বৈকল্পিক রয়েছে।

// কোটলিন
ভাল a = 'এ' // কেবল পঠনযোগ্য `চারি প্রকারটি অনুমান করা হয়
var b = 'B' // পরিবর্তনযোগ্য `চার` প্রকারটি অনুমান করা হয়
খ = 'সি'

স্ট্রিং টেমপ্লেট:

জাভাতে, আমরা স্ট্রিং ফর্ম্যাট করার জন্য স্ট্রিং.ফর্ম্যাট ব্যবহার করেছি

// জাভা
int a = 20;
চূড়ান্ত স্ট্রিং টি 1 = স্ট্রিং.উফর্ম্যাট ("অ্যামি বয়স% d", ক);
a = 25;
চূড়ান্ত স্ট্রিং টি 2 = স্ট্রিং.ফর্ম্যাট ("% s, এখন% d।", t1.replace ("is", "ছিল"), ক);

কোটলিনে, আমরা টেমপ্লেটে প্রকাশ করতে পারি।

// কোটলিন
var a = 20
ভাল টি 1 = "অ্যামির বয়স $ এ"
a = 25
ভাল টি 2 = "$ {t1.replace (" হয় "," ছিল ")}, এখন $ এ।

পার্থক্যটি দেখুন, কোটলিন এত পাঠযোগ্য এবং পরিষ্কার।

৩. নাল সুরক্ষা (নালযোগ্য প্রকার ও নন-নাল প্রকার)

জাভাতে, ডিফল্টরূপে সমস্ত শূন্য। সুতরাং, এনপিই এড়াতে আমাদের অনেক পরীক্ষার প্রয়োজন

// জাভা
স্ট্রিং নাম = নাল;

// এনপিই এড়ানোর নিরাপদ উপায়
যদি (নাল! = নাম)
    int দৈর্ঘ্য = নাম। দৈর্ঘ্য ();
}
// এনপিই নিক্ষেপ করে
int দৈর্ঘ্য 2 = নাম। দৈর্ঘ্য ();

কোটলিনের টাইপ সিস্টেমটি কোড থেকে নাল রেফারেন্সের বিপদ দূরীকরণের উদ্দেশ্যে, এটি বিলিয়ন ডলার ভুল হিসাবেও পরিচিত।

একটি নিয়মিত স্ট্রিং নাল ধরে রাখতে পারে না, তবে নুল স্ট্রিংকে অনুমতি দেওয়ার জন্য আমাদের স্ট্রিং হিসাবে টাইপ দিতে হবে?

// কোটলিন
ভাল নাম: স্ট্রিং = "জাভা"
নাম = নাল // সংকলক ত্রুটি
ভাল শেষ নাম: স্ট্রিং? = "কোটলিন"
lastName = নাল // ওয়ার্কস ফাইন

ভেরিয়েবল বৈশিষ্ট্য অ্যাক্সেস করার সময়, নিয়মিত স্ট্রিং এনপিই ছাড়া স্ট্রিং ফেলে না? এনপিই নিক্ষেপ করবে।

এটি এড়ানোর কিছু উপায় রয়েছে:

  • যদি অন্য কোনও সাধারণ চেক ব্যবহার করা হয়
// সাধারণ চেক
ভাল দৈর্ঘ্য = যদি (সর্বশেষ নাম! = নাল) শেষ নাম-দৈর্ঘ্য অন্য -1
  • SafeCall ব্যবহার করছেন? অপারেটর (কোটলিনের অন্যতম সেরা বৈশিষ্ট্য)
// নিরাপদ কল
ভাল দৈর্ঘ্য = শেষ নাম? দৈর্ঘ্য // আউটপুট: সর্বশেষ নাম দৈর্ঘ্য বা নাল

এটি lastName.leth প্রদান করে, যদি শেষ নামটি নাল না হয়, অন্যথায় নাল হয়। নিরাপদ কল ?. এমপ?। অ্যাড্রে?? হাউসের মতো রেফারেন্সের শৃঙ্খলে সত্যই কার্যকর the

আমরা যদি নালার দিকে ফিরে না যেতে চাই এবং কিছু ডিফল্ট মান দিতে চাই। আমরা এলভিস অপারেটর ব্যবহার করতে পারি?:

// এলভিস অপারেটর ব্যবহার করে
ভাল দৈর্ঘ্য = শেষ নাম? দৈর্ঘ্য?: -1 // আউটপুট: সর্বশেষ নাম দৈর্ঘ্য বা -1
  • ব্যবহার !! অপারেটর (এনপিই প্রেমীদের জন্য)
// ব্যবহার !! অপারেটর
ভাল দৈর্ঘ্য = সর্বশেষ নাম !! দৈর্ঘ্য // এনপিই নিক্ষেপ করুন, যদি শেষ নামটি শূন্য থাকে

৪. চেক এবং স্বয়ংক্রিয় Castালাই টাইপ করুন

জাভাতে, আমরা টাইপ পরীক্ষা করতে উদাহরণস্বরূপ ব্যবহার করি এবং তার বৈশিষ্ট্যগুলি অ্যাক্সেস করার জন্য কাস্ট টাইপ করা দরকার।

// জাভা
যদি (স্ট্রিংয়ের নাম উদাহরণ) {
    int দৈর্ঘ্য = ((স্ট্রিং) নাম)। দৈর্ঘ্য ();
}

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

// কোটলিন
যদি (নাম স্ট্রিং হয়) {
    ভাল দৈর্ঘ্য = name.length
}

আরও তথ্য এখানে সরবরাহ করা হয়।

5. যখন এক্সপ্রেশন

প্রাক্তন হিসাবে: আমি অবজেক্টটি 1 বা 5 বা স্ট্রিং বা অন্য কোনও প্রকারের সন্ধান করতে চাই।

জাভাতে, আমাদের উপরের টাস্কটি সম্পাদন করতে উদাহরণস্বরূপ এবং সুইচ ব্যবহার করতে হবে।

// জাভা
প্রাইভেট স্ট্রিং স্যুইচএক্সম্প্যামেল (অবজেক্টের নাম) {
    যদি (পূর্ণ উদাহরণ হিসাবে নাম) {
        পূর্ণসংখ্যা টেম্পিন্ট = (পূর্ণসংখ্যা) নাম;
        স্যুইচ (টেম্পেন্ট) {
            মামলা 1:
            কেস 5:
                "1 বা 5" প্রত্যাবর্তন;
            ডিফল্ট:
                "1 বা 5 নয়" ফেরত দিন;
        }
    } অন্যথায় যদি (স্ট্রিংয়ের নাম উদাহরণ) {
        "স্ট্রিং" প্রত্যাবর্তন;
    }
    "ইনট বা স্ট্রিং নয়" ফেরত;
}

কোটলিনে, যখন প্রকাশ এত সহজ করে তোলে। এটি স্বয়ংক্রিয় টাইপ castালাই করে এবং আমরা এর ভিতরে অনেকগুলি অভিব্যক্তি ব্যবহার করতে পারি। তার উপরে, এটি এতটা পাঠযোগ্য।

// কোটলিন
মজা যখন উদাহরণ (নাম: যে কোনও): স্ট্রিং =
        কখন (নাম)
            1, 5 -> "1 বা 5"
            ইন্ট -> "1 বা 5 নয়"
            স্ট্রিং -> "স্ট্রিং"
            অন্য -> "ইন্টার বা স্ট্রিং নয়"
        }

6. ক্লাস

জাভাতে, আমাদের ক্লাসে বৈশিষ্ট্য অ্যাক্সেসের জন্য গেটর এবং সেটার তৈরি করতে হবে।

// জাভা
পাবলিক ক্লাস গ্রাহক {
    ব্যক্তিগত স্ট্রিং নাম;

    পাবলিক গ্রাহক (স্ট্রিং নাম) {
        this.name = নাম;
    }

    পাবলিক স্ট্রিং getName () {
        প্রত্যাবর্তনের নাম;
    }

    পাবলিক অকার্যকর সেটনাম (স্ট্রিং নাম) {
        this.name = নাম;
    }
}

কোটলিনে আর কোনও গেট আর সেটটার নেই। আপনি যদি কাস্টমগুলি সেট করতে চান তবে আমরা তৈরি করতে পারি।

// কোটলিন
শ্রেণীর গ্রাহক (বর্ণের নাম: স্ট্রিং)

কোটলিনে এটি সেরা। আমি যখন এই দেখলাম, তখন একটি কথা মনে মনে আসল! এটা দুর্দান্ত

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

আপনি যদি কোটলিন ব্যবহার শুরু করতে চান তবে দয়া করে তাদের সরকারী দস্তাবেজগুলি দেখুন। এটা সত্যিই ভাল।

আরও আপডেট দেখতে, আমাকে মাঝারি বা টুইটারে অনুসরণ করুন। আপনার মতামত মন্তব্য বিভাগে ছেড়ে যান বা টুইটারে আমার কাছে পৌঁছান এবং আমি সিরিজটিতে যুক্ত করে রাখব।

আপনি যদি এটি পছন্দ করেন তবে হাততালি দিতে ভুলবেন না আপনি যদি তালি বোতামটি ধরে রাখেন তবে আপনি আরও তালি ছেড়ে দিতে পারেন।