জাভা একটি দৃঢ়ভাবে টাইপ করা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। 1995 সালে তৈরি করা হয়েছে, তারপর থেকে এটি অনেক উন্নতি পেয়েছে। প্রোগ্রামিং ভাষার র‌্যাঙ্কিং এবং সফটওয়্যার ডেভেলপারদের বেতনের র‌্যাঙ্কিংয়ে স্থিরভাবে একটি অগ্রণী অবস্থান দখল করে আছে ।

এবং সবচেয়ে বড় কথা, জাভার র‌্যাঙ্কিং বছরের পর বছর বাড়ে না - এটি ধারাবাহিকভাবে উচ্চ থাকে। আসুন বোঝার চেষ্টা করি কি জাভা জনপ্রিয় করে তোলে।

1. ক্রস-প্ল্যাটফর্ম — লিখিত কোডটি বাইটকোডে রূপান্তরিত হয়, যা JVM দ্বারা কার্যকর করা হয়। বিভিন্ন প্ল্যাটফর্মের জন্য JVM বাস্তবায়ন রয়েছে। এর মানে হল যে কোড, একবার লেখা হয়ে গেলে, উইন্ডোজ, লিনাক্স এবং ম্যাকওএস এবং এমনকি বিভিন্ন বহিরাগত প্ল্যাটফর্মে চলবে, যেমন আরডুইনো, স্মার্ট রেফ্রিজারেটর এবং ভ্যাকুয়াম ক্লিনার। অন্য কথায়, কোডটি বিভিন্ন প্ল্যাটফর্ম এবং অপারেটিং সিস্টেমে কাজ করবে, তাদের প্রতিটির জন্য মানিয়ে নেওয়ার প্রয়োজন ছাড়াই।

2. স্বয়ংক্রিয় মেমরি ম্যানেজমেন্ট — বিকাশকারীকে RAM-তে ভেরিয়েবলগুলি কোথায় সংরক্ষণ করা হবে তা নিয়ে ভাবতে হবে না, সেগুলি ম্যানুয়ালি পড়তে/লিখতে হবে বা ডেটা অখণ্ডতা নিয়ে চিন্তা করতে হবে না। একটি গ্রাহকের ব্যবসায়িক সমস্যা সমাধান করার সময়, আপনাকে সমস্যাটি সম্পর্কে ভাবতে হবে, কীভাবে এবং কোথায় বাইট লিখতে হবে সে সম্পর্কে নয়।

3. গতি (JIT কম্পাইলার) — স্ট্যাটিক কম্পাইলেশন ছাড়াও, যা "আগে থেকে" হয়, জাভা জাস্ট-ইন-টাইম (JIT) সংকলন সমর্থন করে। এটি সার্ভার কোডের জন্য অত্যন্ত প্রাসঙ্গিক, যা এক সময়ে কয়েক মাস বা এমনকি বছর ধরে চলতে পারে। প্রায়শই-নির্বাহিত কোড বিভিন্ন উপায়ে সংকলিত হয় এবং এটি কার্যকর করার সময় পরিমাপ করা হয়। ফলাফল হল যে একটি অ্যাপ্লিকেশন যত বেশি সময় চলে, তত দ্রুত হয়। এবং এটি একটি সক্রিয়ভাবে চলমান সার্ভারের জন্য সত্য। কুল, ডান?

4. ব্যাকওয়ার্ড সামঞ্জস্য — জাভার পুরানো সংস্করণে লেখা কোড নতুন সংস্করণেও কাজ করবে। এটি সুবিধাজনক: জাভা স্পেক আপডেট হওয়ার পরে, আপনাকে "আপডেটের কারণে" আপনার প্রকল্পের অর্ধেক পুনরায় লিখতে হবে না, তবে আপনি এখনও সর্বশেষ সুরক্ষা প্যাচ পেতে পারেন।

5. বস্তুর অভিযোজন — মানুষ বস্তুর পরিপ্রেক্ষিতে চিন্তা করে: একটি টেবিল, একটি ট্রলিবাস, একটি স্মার্টফোন। বিকাশকারীরা কাজ করার সময় অস্বাভাবিক দৃষ্টান্তে চিন্তা করতে বাধ্য হয় না এবং এটি অপ্রয়োজনীয় ত্রুটিগুলিকে আমাদের কোডের বাইরে রাখতে সাহায্য করে৷ পরিবর্তে, আমরা শুধুমাত্র সেই সমস্ত বিবরণগুলিতে মনোনিবেশ করতে পারি যা টাস্কে গুরুত্বপূর্ণ। উদাহরণস্বরূপ, একটি অভ্যন্তরীণ ডিজাইনারের দৃষ্টিকোণ থেকে, একটি টেবিলের আকার এবং একটি রুমে অবস্থান গুরুত্বপূর্ণ। এটির তৈরির তারিখ, টেবিলের জন্য কাঠ কাটা শ্রমিকের নাম এবং ফেডেক্স ড্রাইভারের ফোন নম্বর যিনি এটি সরবরাহ করেছেন তা গুরুত্বপূর্ণ নয়। এছাড়াও, সেই ডেটার সাথে কাজ করার জন্য ডেটা এবং পদ্ধতিগুলি কোডে একসাথে সংরক্ষণ করা হয়।

6. স্ট্যাটিক টাইপিং (দ্রুত ব্যর্থ) — সংকলন পর্যায়ে পরিবর্তনশীল প্রকারের সামঞ্জস্যতা পরীক্ষা করা হয়। প্রতিটি বিকাশকারী কোড কম্পাইল করে, তাই সংকলন ত্রুটিগুলি প্রায় তাত্ক্ষণিকভাবে ধরা পড়ে। পরবর্তী পর্যায়ে যে পর্যায়ে একটি ত্রুটি আবিষ্কৃত হয়, এটি ঠিক করা তত বেশি ব্যয়বহুল।

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

উদাহরণস্বরূপ, getContext() পদ্ধতিটি প্রসঙ্গটি প্রদান করে এবং বয়স ক্ষেত্রটি বয়স সংরক্ষণের জন্য দায়ী। জাভাতে, নামের দৈর্ঘ্য সত্তার সাথে কাজ করার জন্য প্রয়োজনীয় সিস্টেম সংস্থানগুলির পরিমাণকে প্রভাবিত করে না। C এটিও পরিচালনা করে না: যখন একজন বিকাশকারী একটি নতুন প্রকল্পে যোগদান করেন, কোডের যুক্তি বোঝার পরিবর্তে, তাকে অবশ্যই এটির পাঠোদ্ধার করতে হবে।

8. প্রচুর ওপেন সোর্স লাইব্রেরি এবং ফ্রেমওয়ার্ক — একজন ডেভেলপার দৈনন্দিন অনুশীলনে যে কাজগুলির মুখোমুখি হন তার 99% ইতিমধ্যেই কেউ সমাধান করেছেন। সময়ের সাথে সাথে, ভাল সমাধানগুলি লাইব্রেরি এবং এমনকি কাঠামোতে পরিণত হয়। কোনটি ভাল — 5 মিনিটের জন্য গুগলিং করা বা বর্গাকার চাকা দিয়ে আপনার নিজের সাইকেলটি পুনরায় উদ্ভাবন করা?

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

জাভা এর অনেক ইতিবাচক "গুণ" ইতিমধ্যে উল্লেখ করা হয়েছে, কিন্তু আমি আরো কিছু যোগ করতে চাই:

  • JVM (জাভা ভার্চুয়াল মেশিন) আপনার জন্য মেমরি পরিচালনা করে, যা এটিকে নিরাপদ করে তোলে এবং আর্থিক সরঞ্জামগুলির জন্য #1 ভাষা।

  • জাভাতে ব্যাকএন্ড সার্ভার (সার্ভার লজিক) লেখা খুবই সুবিধাজনক।

  • সম্প্রতি পর্যন্ত, জাভা অ্যান্ড্রয়েড অ্যাপ্লিকেশনের জন্য শীর্ষ ভাষা ছিল।

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

  • অনেক বিখ্যাত কোম্পানি জাভা ব্যবহার করে: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym এবং আরও অনেক কিছু।