شروع برنامه نویسی با Rust - لذت همراه با قدرت

در مورد زبان های برنامه نویسی زیادی میشه صحبت کرد . از c++ گرفته تا جاوا ، یا زبان های interpreted مثل php و جاوا اسکریپت ( که پلتفورم node.js رو میشه معروفترینش دونست ) تا زبان های مولتی پارادایم مثل Rust . منظور از مولتی پارادایم چیه؟زبان های برنامه نویسی در ذات خودشون ، برای حل یک مسئله نوشته میشن و برای حل این مسائل پارادایم خاصی رو رعایت میکنن . مثلا در جاوا ، بهترین پارادیم به این شکل بود که با استفاده از OOP ، مسائل حل بشن و نتیجه مطلوبتری هم میگیرن . یا در Haskell نظر بر این بود که حتما به شکل Functional باشه تا نتیجه بهتری بگیرن . بعضی از زبان ها متناسب به نیازشون ، میتونن هم OOP باشن هم functional یا هر پارادایم دیگه . به این مدل زبان ها میگن multi paradigm . زبان Rust هم یکی از قوی ترین زبان های مولتی پارادایم در حال حاظر است . خوب بریم سر نصب کردن و شروع برنامه نویسی . اول از همه ، محیطی که من داخلش کد میزنم ، اوبونتو 18.04 . اگر موردی توی روند کار برای شما پیش اومد حتما مطرح کنین . چون ممکنه روی سیستم من دیده نشده به علت سیستم عامل یا کانفیگ هایی که دارم .خوب برای نصب و شروع کد نویسی ، مثل همیشه از سایت مرجع کمک میگیریم . Rust یک فایل باینری برای نصب داره که اول از همه باید اون رو دانلود کنیم و نصب رو انجام بدیم . به دلیل اینکه سیستم عامل ها زیادن ، یک فایل bash نوشته شده و با دستور ساده میشه نصب رو انجام داد بدون اینکه بخوایم خودمون دانلود کنیم و بریم بیبینم معماری سیستم چیه و بر اساس اون معماری یک سری کارا کنیم . پس کارمون راحته . ترمینال رو باز کنین و دستور زیر رو بزنین . curl https://sh.rustup.rs -sSf | shدستور بالا یک فایل رو دانلود میکنه ( همون فایل bash script ) و بعد از پایپ ، روی فایل دستور sh رو میزنه و shell رو اجرا میکنه تا نصب انجام بشه . بعد از اینکه عملیات نصب تموم بشه با دستور rustc --version میتونین چک کنین که با موفقیت نصب شده یا نه . اگر zsh دارید باید حتما ~/.cargo/bin رو به PATH داخل zshrc اضافه کنین . خوب این فقط نصب بود . اما تازه شروع داستانه . Rust برای اینکه کار رو خیلی راحت کنه یک مدیریت پکیج یا همون package management به اسم cargo نوشته . کارگو خیلی کارا رو برای ما انجام میده . از نصب پکیج ها تا ایجاد یک پروژه bootstrap خوب و جامع . شبیه به npm داخل node.js اما با امکانات خیلی زیاد و قدرت خیلی بیشتر در نصب و تنظیم پکیج ها . خوب حالا شروع میکنیم یکک پروژه hello world میسازیم تا ببینیم نحوه کار چجوریه . میریم به مسیری که دوست داریم و اونجا دستور زیر رو میزنیم . cargo new helloWorldهمونطور که دیدید من camelCase نوشتم . کارگو این مورد رو تشخیص میده و helloWorld رو به hello_world تغییر میده. حالا وارد hello_world میشیم . یک ساختار میبینیم به شکل زیر :.├── Cargo.toml└── src └── main.rsخوب اول از Cargo.toml شروع میکنیم . این فایل همون شناسنامه پروژه ما میشه . مثل requirements.text در پایتون یا package.json نود یا composer.json پی اچ پی . اما کمی تفاوت داره . شما داخل بلوک dependencies مثل همه زبان هایی که یک پکیج منیجر دارن ، میتونین پکیج هایی که نیاز دارید بنویسید و مدیریت کنین . داخل کارگو هم به همین شکله اما با تغییراتی اندک که در مقاله های دیگه حتما توضیح میدم . ( الان وقتش نیست ) . فقط همینقدر بدونیم که چیزایی که میبینیم به علت جدید بودن خیلی جالب و هیجان انگیزن . پوشه src اصلیترین پوشه برای ما میشه . چون اینجا قراره کد بزنیم . فایل main.rs رو که باز کنین میبنین یک hello world نوشته شده . حالا اجرا کردن مهمه . دستور زیر رو وارد کنین :cargo buildحالا بعد از اتمام این قسمت میبینیم که ساختار پوشه تغییر کرد . یک پوشه به اسم target ایجاد شده که داخل اون پوشه ، پوشه debug هست و داخل این پوشه ، فایل hello_world بدون پسوند . ( یا exe برای ویندوزی ها ) . خوب این یک فایل باینری اجراییه . میتونین ران کنین . ./target/debug/hello_world میبینید که hello world چاپ میشه . در واقع کد داخل main.rs اجرا شد . این شروعه . اما شاید یک پله هم نرفتیم بالا . Rust زبان خیلی قوی و کاملیه . برای اینکه بخواین خوب یاد بگیرید باید واقعا عمیق مطالعه کنین . به این منظور چندین کتاب رایگان نوشته شده که کامل و جامع توضیح داده . من لینکشون رو میزارم و هر سوالی باشه در حد توانم پاسخگو هستم . https://doc.rust-lang.org/cargo/getting-started/ https://doc.rust-lang.org/stable/rust-by-example/ https://doc.rust-lang.org/stable/book/