• صفحه اصلی
  • اخبار
    • دنیای بازی
    • دنیای بازی‌ ابری
  • نقد و بررسی
    • بازی‌های جدید
    • بازی‌های پلی پاد
  • برترین‌ها
  • پلی‌پاد
    • آموزش‌ها
    • اخبار
  • فناوری
  • درباره ما
تازه ها

مروری بر وضعیت فعلی کلاد گیمینگ

کنسول گیمینگ ابری Playkey

۵ کارت گرافیک برتر برای ورود به حوزه استریم

معرفی ۵ کارت گرافیک برتر برای شروع استریم

فیس بوک توییتر اینستاگرام یوتیوب لینکدین Discord
پلی پاد تی وی
  • صفحه اصلی
  • اخبار
    • دنیای بازی
    • دنیای بازی‌ ابری
  • نقد و بررسی
    • بازی‌های جدید
    • بازی‌های پلی پاد
  • برترین‌ها
  • پلی‌پاد
    • آموزش‌ها
    • اخبار
  • فناوری
  • درباره ما
پلی پاد تی وی
فناوری

زبان Rust چیست و چرا تا این حد محبوب است؟

شمیمتوسط شمیم9 بهمن 1400به روز شده:9 بهمن 14007 حداقل خواندن
فیس بوک توییتر لینکدین ایمیل Telegram واتساب

چهار سالی می‌شود که Rust تبدیل به محبوب‌ترین زبان Stack Overflow شده. معمولا هرکسی که توانسته با این زبان برنامه‌نویسی کار کند، دیگر نمی‌تواند از آن دل بکند. همین‌ها باعث شده که باقی کسانی که فرصت امتحان آن را نداشتند، با خودشان بگویند «ماجرای این Rust چیست؟»

مختصر و مفید اینکه Rust نقاط ضعف باقی زبان‌ها را برطرف کرده و با کمترین جنبه‌های منفی گامی محکم رو به جلو برداشته. قرار است در این مقاله آنچه راست به کاربران سایر زبان‌های برنامه‌نویسی ارائه می‌کند و اکوسیستم فعلی آن را معرفی کنیم. البته اوضاع همیشه در دنیای راست گل و بلبل نیست، پس درباره جنبه‌های منفی آن هم صحبت خواهیم کرد.

rust in playpod
اگر می خواهید با زبان برنامه نویسی Rust آشنا شوید، جایی درستی آمدید

Rust یک زبان پویا

احتمالا برنامه‌نویسانی که مدافع داینامیک تایپ هستند تا ابد با آنهایی که استاتیک تایپ را ترجیح می‌دهند سر جنگ داشته باشند. با این حال بحث درباره مزایای استاتیک تایپ کمی سخت است. فقط به رشد زبان‌هایی مثل TypeScript یا ویژگی‌های Python توجه کنید. مردم از وضعیت فعلی داینامیک تایپ در کدبیسهای گسترده‌تر ناراضی‌اند. برعکس زبان‌های استاتیک تایپ محدودیت‌های بررسی‌شده توسط کامپایلر را بر روی داده‌ها و رفتار آن‌ها امکان‌پذیر می‌سازند، که سوء تفاهم‌ها را کاهش می‌دهد.

این بدان معنا نیست که همه استاتیک تایپ‌ها یکی هستند. بسیاری از زبان‌های استاتیک تایپ یک نشان بزرگ در کنار خود دارند: آنها مفهوم NULL را مجاز می‌کنند. مانند Haskell و برخی دیگر از زبان‌های برنامه‌نویسی مدرن، Rust این امکان را با استفاده از یک optional type رمزگذاری می‌کند و کامپایلر از شما می‌خواهد که مورد None را مدیریت کنید. این کار از بروز خطای مخوف TypeError: Cannot read property 'foo' of null جلوگیری می‌کند. در عوض آن را به یک خطای زمان کامپایل ارتقا می‌دهد که می‌توانید قبل از دیدن کاربر آن را برطرف کنید.

استاتیک تایپ Rust تمام تلاش خود را می‌کند تا از سر راه برنامه‎‌نویس کنار برود و در عین حال در بلندمدت هم پایدار بماند. برخی از زبان‌های استاتیک تایپ بار زیادی بر دوش برنامه‌نویس می‌گذارند و از او می‌خواهند که نوع یک متغیر را چندین بار تکرار کند، کاری که مانع از خوانایی و refactoring می‌شود. سایر زبان‌های استاتیک تایپ اجازه استنتاج نوع کل برنامه را می‌دهند. راست از هر دوی این سبک‌ها یاد می‌گیرد و از آنها فراتر هم می‌رود.

use rust in playpod
راست به شما این امکان را می دهد که داده‌ها را یک جا ذخیره کنید و در زمان کامپایل تعیین می‌کند که دیگر به حافظه نیازی نیست و می‌توان آن را پاک کرد

برآمده از جمع‌آوری زباله

یکی از بزرگترین مزایای استفاده از زبان برنامه‌نویسی سیستمی، توانایی کنترل جزئیات سطح پایین است. راست به شما این امکان را می دهد که داده‌ها را یک جا ذخیره کنید و در زمان کامپایل تعیین می‌کند که دیگر به حافظه نیازی نیست و می‌توان آن را پاک کرد. این کار امکان استفاده و دسترسی کارآمد از حافظه را فراهم می‌کند. پروژه‌های Rust بدون نیاز به داشتن زباله‌جمع‌کن می‌توانند از طریق رابط‌های با عملکرد خارجی مناسب، کتابخانه‌های خوبی برای سایر زبان‌های برنامه‌نویسی باشند. اینطوری پروژه‌های موجود می‌توانند تا قطعات مهم را بدون خطرات ایمنی حافظه که در زبان‎های برنامه‌نویسی دیگر هست، با کد Rust جایگزین کنند. حتی برخی از پروژه‌ها با استفاده از این تکنیک‌ها به صورت تدریجی در راست بازنویسی شده‌اند.

راست برآمده از دیگر زبان‌های برنامه‌نویسی سیستم‌ها

برای بسیاری از مردم، Rust تا حد زیادی به عنوان جایگزینی برای سایر زبان‌های برنامه نویسی، مانند C یا  ++ C  در نظر گرفته می‎‌شود. بزرگترین مزیتی که راست می‌تواند در مقایسه با این زبان ها ارائه دهد، borrow checker است. بخشی از کامپایلر که به حذف کل کلاس‌های باگ ناشی از ناامنی حافظه کمک می‌کند. برخلاف بسیاری از زبان‌های برنامه‌نویسی موجود، با این زبان نیازی نیست که تمام وقت خود را صرف جزئیات کنید.

وقتی safe Rust قادر به بیان مفهومی نیست، می توانید از unsafe Rust استفاده کنید. این قابلیت چند قدرت اضافی را باز می‌کند، اما در عوض، برنامه‌نویس مسئول ایمن بودن کد است. این کد ناامن را می‌توان در انتزاعات سطح بالاتری قرار داد که تضمین می‌کند همه موارد استفاده از انتزاع ایمن هستند. استفاده از کد ناامن باید یک تصمیم حساب شده باشد، زیرا استفاده صحیح از آن به اندازه هر زبان دیگری که در آن شما مسئول اجتناب از رفتار نامشخص هستید نیاز به تفکر و دقت دارد. به حداقل رساندن کد ناامن بهترین راه برای به حداقل رساندن احتمال خطاها و آسیب‌پذیری‌های ناشی از ناامنی حافظه است.

معمولا از زبان‌های برنامه‌نویسی سیستم‌ها انتظار می‌رود که عمر طولانی و مفید داشته باشند. بسیاری از کسب‌وکارها می‌خواهند بدانند که code base  اصلی آنها تا مدت‌ها قابل استفاده خواهد بود. Rust به این مسئله توجه دارد و در طراحی‌اش به سازگاری و پایداری معکوس دقت کافی کرده. خیالتان را راحت کنیم. راست زبانی است که برای 40 سال آینده طراحی شده است.

Rust در پلی پاد
اگر علاقمند به یادگیری یا به‌کارگیری زبان Rust هستید، با پلی پاد در میان بگذارید

اکوسیستم Rust

تجربه Rust بزرگتر از مشخصات زبان و کامپایلر است. چندین زنجیره ابزار راست را می توان از طریق Rustup نصب و مدیریت کرد. وبسایت crates.io فضایی برای اشتراک‌گذاری و کشف اندوخته‌های راست است. هر منبعی که در این سایت منتشر شود، اسنادش در docs.rs هست.

علاوه بر ابزارهای داخلی، جامعه راست تعداد زیادی ابزار توسعه ایجاد کرده است. محک زدن، فازبندی و تست ویژگی‌ها همگی به راحتی در دسترس هستند و در پروژه‌ها به خوبی استفاده می‌شوند. از نکات فنی که بگذریم، Rust فضای گرم و پویایی دارد. چندین راه رسمی و غیر‌رسمی برای کمک گرفتن از افراد وجود دارد. مانند چت، فوروم، Rust subreddit، و البته پرسش و پاسخ و چت‌روم در Stack Overflow . در فضای آفلاین هم راست کنفرانس‌های متعددی در سراسر جهان دارد. مانند RustConf , Rust Belt Rust , RustFest, Rust Latam , RustCon Asia و بسیاری دیگر. دو کامیونیتی مطرح راست دیسکورد و Rust-Lang هم در ایران شهرت زیادی دارند.

همه‌چیز هم گل‌وبلبل نیست

نوع سیستم قوی Rust و تاکید بر ایمنی حافظه – که همگی در زمان کامپایل اعمال می‌شوند – به این معنی است که هنگام کامپایل کردن کد احتمال دریافت خطا بالا است. این مسئله می‌تواند برای برنامه‌نویسانی که به چنین زبان برنامه‌نویسی‌ای عادت ندارند، آزاردهنده باشد. با این حال، توسعه‌دهندگان راست زمان زیادی را صرف بهبود پیام‌های خطا کرده‌اند تا مطمئن شوند که واضح و قابل اجرا هستند.

مخصوصاً احتمالاً زیاد می‌شنوید که برخی از «مبارزه با borrow checker» می‌نالند. با اینکه این خطاها می‌توانند دلسردکننده باشند، مهم است بدانیم هریک از قسمت‌های شناسایی شده، پتانسیل اشکالات و آسیب‌پذیری احتمالی را در زبان‌هایی که این بررسی‌ها را انجام نمی‌دهند دارند.

خبر خوب برای علاقمندان به Rust

Rust هنوز نسبتا جدید است، به این معنی که شاید بعضی منابع لازم هنوز در دسترس نباشند. نکته مثبت این است که زمینه برای ایجاد منابع و رشد در این حوزه فراهم است. صرف نظر از اینکه اکنون به کدام زبان برنامه‌نویسی علاقه دارید، احتمالا چیزی در راست هست که شما را مجذوب خودش می‌کند.

همین‌ عوامل ما و همکارانمان را در پلی پاد هم شیفته خودش کرده. اگر دوست دارید کد‌های سریعتر، ایمن‌تر و کارآمدتر بزنید، وقت آن است که ببینید آیا Rust محبوب ترین زبان بعدی شما خواهد بود یا خیر! ما در پلی پاد از علاقمندان به این زبان برنامه‌نویسی، مشتاقان یادگیری و متخصصین این حوزه دعوت می‌کنیم تا به ما بپیوندند تا باهم در تحولی بزرگ در زبان برنامه‌نویسی پیشگام شویم. برای اطلاعات بیشتر به پلی پاد سر بزنید.

منبع: stackoverflow

stack overflow برنامه نویسی ویژه
شمیم

    شمیم هستم. عاشق دنیای گیم. هر وقت بازی جدیدی میاد، امتحانش می‌کنم و نظراتم رو با بقیه دوستاران این دنیای هیجان‌انگیز به اشتراک می‌گذارم.

    پست های مرتبط

    مروری بر وضعیت فعلی کلاد گیمینگ

    17 بهمن 1401

    کنسول گیمینگ ابری Playkey

    16 بهمن 1401
    ۵ کارت گرافیک برتر برای ورود به حوزه استریم

    معرفی ۵ کارت گرافیک برتر برای شروع استریم

    12 بهمن 1401

    سرویس گیمینگ ابری Joyark

    11 بهمن 1401

    2 دیدگاه

    1. آرشام بر 11 بهمن 1400 9:37 ق.ظ

      شما تو پلی پاد Rust آموزش هم می دید؟

      پاسخ
      • شمیم بر 11 بهمن 1400 1:52 ب.ظ

        بله

    لغو پاسخ لغو پاسخ

    نقد و بررسی بازی‌های جدید

    ۵ کارت گرافیک برتر برای ورود به حوزه استریم

    معرفی ۵ کارت گرافیک برتر برای شروع استریم

    محبوب‌ترین حیوانات در بازی ‌های ویدئویی

    معرفی بهترین لپ تاپ‌های گیمینگ اقتصادی

    معرفی ۵ لپ تاپ گیمینگ اقتصادی برتر

    معرفی بهترین بازی های پلتفرمر‌ برای کامپیوتر و گوشی اندروید

    بهترین بازی‌های سال ۲۰۲۲

    معرفی بهترین بازی‌های سال ۲۰۲۲

    پلی پاد تی وی
    فیس بوک توییتر اینستاگرام یوتیوب لینکدین Discord
    • صفحه اصلی
    • اخبار
    • درباره ما
    تمام حقوق مادی و معنوی پلی پاد برای آلفا محفوظ است.

    بالا را تایپ کنید و فشار دهید Enter جستجو کردن مطبوعات Esc برای لغو.