বিষয়বস্তুতে চলুন

রাস্ট (প্রোগ্রামিং ভাষা)

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে
(Rust (programming language) থেকে পুনর্নির্দেশিত)
রাস্টের প্রাতিষ্ঠানিক লোগো

রাস্ট একাধিক প্যারাডাইমযুক্ত, সাধারণ উদ্দেশ্যে ব্যবহারের একটি প্রোগ্রামিং ভাষা। নিরাপদ, দ্রুততরসহবর্তমানতাযুক্ত সফটওয়্যার তৈরিকে গুরুত্ব দিয়ে ভাষাটি নকশা করা হয়েছে।[][] রাস্ট কোডের গঠন সি এর মত। গারবেজ কালেকশন ছাড়াই রেফারেন্সগুলো মূল্যায়ন করে রাস্ট মেমোরির নিরাপদ ব্যবহারের নিশ্চয়তা দেয়।[][] রাস্টকে সিস্টেম প্রোগ্রামিং ভাষাগুলোর একটি ধরা হয়। এতে উঁচু্-স্তরের কিছু বিষয় যেমন ফাংশনভিত্তিক প্রোগ্রামিং এর সাথে নিচু-স্তরের মেমোরি ব্যবস্থাপনা করার উপায়ও রয়েছে।[]

রাস্ট ২০১০ সাথে প্রথম প্রকাশিত হয়। মোজিলা রিসার্চে ডেভ হারমান, ব্রেন্ডন আইচ এবং অন্যদের অবদানসহ গ্রেডন হোর রাস্টের নকশা করেন।[][] নকশাকারীরা পরীক্ষামূলক সার্ভো ব্রাউজার ইঞ্জিন[] ও রাস্ট কম্পাইলার লেখার সময় ভাষাটিকে পরিমার্জন করেছিলেন। সি , ওক্যামেল, হ্যাস্কেল, ইরল্যাং ইত্যাদি ভাষা রাস্টকে অধিক প্রভাবিত করেছে।[] স্ট্যাক ওভারফ্লো জরিপে "প্রিয় প্রোগ্রামিং ভাষা" অংশে ২০১৬ থেকে ২০২১ পর্যন্ত প্রতিবছর রাস্ট প্রথম স্থান অর্জন করেছে।[১০]

ইতিহাস

[সম্পাদনা]

২০০৬ সালে গ্রেডন হোর ব্যক্তিগত প্রকল্প থেকে রাস্টের সূচনা। ২০০৯ সালে মোজিলা প্রকল্পটিতে সহযোগিতা শুরু করে এবং ২০১০ সালে তা ঘোষণা করে।[] একই বছর রাস্টের কাজ ওক্যামেল দ্বারা তৈরি প্রাথমিক কম্পাইলার থেকে এলএলভিএম ভিত্তিক ও রাস্ট দ্বারা তৈরি কম্পাইলারে স্থানান্তরিত হয়।[১১] ২০১১ সালে রাস্ট কম্পাইলার নিজেকে কম্পাইল করতে সক্ষম হয়।[১২] ২০১৫ সালে ১৫ মে রাস্টের প্রথম স্থির সংস্করণ রাস্ট ১.০ প্রকাশিত হয়।[১৩][১৪] ২০২১ সালের ৮ ফেব্রুয়ারী অলাভজনক রাস্ট ফাউন্ডেশন গঠিত হয়।[১৫] এর গঠনকারী পাঁচটি প্রতিষ্ঠান হল মোজিলা[১৬], এডব্লিউএস, হুয়াওয়েই, মাইক্রোসফট[১৭]গুগল

সিনট্যাক্স

[সম্পাদনা]

রাস্ট কোড গঠনগতভাবে সি ও সি এর মত হলেও অর্থগতভাবে এমএল ভাষা পরিবার ও হ্যাসকেলের কাছাকাছি। রাস্ট ভাষায় ফেক্টোরিয়াল নির্ণয়ের একটি রিকার্সিভ ফাংশনের উদাহরণ হল:

fn factorial(i: u64) -> u64 {
    match i {
        0 => 1,
        n => n * factorial(n-1)
    }
}

তথ্যসূত্র

[সম্পাদনা]
  1. Hoare, Graydon (২০১৬-১২-২৮)। "Rust is mostly safety"Graydon2। Dreamwidth Studios। ২০১৯-০৫-০২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৫-১৩ 
  2. "FAQ – The Rust Project"Rust-lang.org। ২০১৬-০৬-০৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৭ জুন ২০১৯ 
  3. "Fearless Security: Memory Safety"। ৮ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৪ নভেম্বর ২০২০ 
  4. "Rc<T>, the Reference Counted Smart Pointer"। ১১ নভেম্বর ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ৪ নভেম্বর ২০২০ 
  5. "What Unsafe Can Do - The Rustonomicon"doc.rust-lang.org। সংগ্রহের তারিখ ২০২২-০৪-২১ 
  6. Noel (২০১০-০৭-০৮)। "The Rust Language"। Lambda the Ultimate। ২০১২-১১-২৩ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১০-১০-৩০ 
  7. "Contributors to rust-lang/rust"GitHub। ২০২০-০৫-২৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৮-১০-১২ 
  8. Bright, Peter (২০১৩-০৪-০৩)। "Samsung teams up with Mozilla to build browser engine for multicore machines"Ars Technica। ২০১৬-১২-১৬ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৩-০৪-০৪ 
  9. "The Rust Reference: Appendix: Influences"। জানুয়ারি ২৬, ২০১৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ নভেম্বর ১১, ২০১৮ 
  10. "Stack Overflow Developer Survey 2021"Stack Overflow। সংগ্রহের তারিখ ২০২১-০৮-০৩ 
  11. Hoare, Graydon (২০১০-১০-০২)। "Rust Progress"। ২০১৪-০৮-১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১০-১০-৩০ 
  12. Hoare, Graydon (২০১১-০৪-২০)। "[rust-dev] stage1/rustc builds"। ২০১১-০৭-২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১১-০৪-২০ 
  13. "Version History"GitHub। ২০১৫-০৫-১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৭-০১-০১ 
  14. The Rust Core Team (মে ১৫, ২০১৫)। "Announcing Rust 1.0"। ২০১৫-০৫-১৫ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৫-১২-১১ 
  15. "Rust Foundation"foundation.rust-lang.org (ইংরেজি ভাষায়)। ২০২১-০২-০৮। ২০২১-০২-০৯ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০২-০৯ 
  16. "Mozilla Welcomes the Rust Foundation"Mozilla Blog (ইংরেজি ভাষায়)। ২০২১-০২-০৯। ২০২১-০২-০৮ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০২১-০২-০৯ 
  17. "Why Rust for safe systems programming"। ২০১৯-০৭-২২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২০১৯-০৭-২২ 

বহিঃসংযোগ

[সম্পাদনা]