در مورد زبان های برنامه نویسی زیادی میشه صحبت کرد .
از 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 زبان خیلی قوی و کاملیه . برای اینکه بخواین خوب یاد بگیرید باید واقعا عمیق مطالعه کنین .
به این منظور چندین کتاب رایگان نوشته شده که کامل و جامع توضیح داده . من لینکشون رو میزارم و هر سوالی باشه در حد توانم پاسخگو هستم .