چه چیزی این کتاب را از بقیه متفاوت میکند؟
این کتاب، نسخهای آزمایشی و مستقل از The Rust Programming Language است که پژوهشگران آزمایشگاه مهندسی شناختی دانشگاه براون آن را تهیه کردهاند. اگر دوست دارید بدانید این نسخه دقیقاً با کتاب اصلی TRPL چه فرقی میکند، همین صفحه را بخوانید؛ اما اگر فقط میخواهید Rust را یاد بگیرید، میتوانید فعلاً ردش کنید و بعداً سر فرصت برگردید.
بخشهای تعاملی
این کتاب قرار نیست فقط خوانده شود؛ قرار است همانجا که یاد میگیرید، با Rust کار کنید. اول، آزمونهایی مثل نمونهی زیر دارد. برای امتحان کردنش، «شروع» را بزنید.
اگر به یک سوال پاسخ غلط دادید، دو راه دارید: یا دوباره آزمون را شروع کنید، یا پاسخهای درست را ببینید. پیشنهاد ما این است که تا جایی که به ۱۰۰ درصد نرسیدهاید، آن را دوباره امتحان کنید؛ اگر لازم بود، بخش مربوطه را مرور کنید و بعد برگردید. فقط یادتان باشد: وقتی یکبار پاسخهای درست را دیدید، دیگر امکان دوباره امتحان کردن را ندارید.
دوم، میتوانید روی هر جمله یا بخشی از متن که برایتان مهم است، علامت بگذارید و یادداشتتان را کنارش بنویسید. کافی است متن را انتخاب کنید، دکمهی ✏️ را بزنید و اگر خواستید توضیح کوتاهی اضافه کنید.
👈 همینجا امتحان کنید و این متن را هایلایت کنید! 👉
نکته: اگر بعداً محتوای هایلایتشده را تغییر دهیم، هایلایت شما از بین میرود. ضمن اینکه هایلایتها بهصورت کوکی ذخیره میشوند؛ پس اگر کوکیها را مسدود کنید یا مرورگرتان را عوض کنید، ممکن است هایلایتهای قبلی را دیگر نبینید.
تغییرات محتوایی
بیشتر مطالب این کتاب همان TRPL است و ما هر چند وقت یکبار آن را با نسخهی اصلی همگام میکنیم. اما مهمترین فرق، فصل درک مالکیت است. در این فصل، مالکیت را با زبان و تصویری توضیح دادهایم که پژوهش ما نشان داده درک Rust را برای خواننده بهتر از کتاب اصلی پیش میبرد. در سراسر فصل نمودارهایی مثل نمونهی زیر میبینید که با ابزار Aquascope رفتار Rust را هم در زمان کامپایل و هم در زمان اجرا نشان میدهند:
علاوه بر فصل مالکیت، ویرایشهای ریز دیگری هم در کتاب انجام دادهایم تا بتوانیم بعضی سوءتفاهمهایی را که از پاسخهای آزمونها به چشم آمدهاند، بهتر پوشش دهیم. اگر در آزمونها یا هر جای دیگری از کتاب مشکلی دیدید، خوشحال میشویم در مخزن GitHub ما issue ثبت کنید: https://github.com/Aalamifar/rust-book
اگر دوست دارید در آزمایشهای دیگری برای راحتتر شدن یادگیری و استفاده از Rust شرکت کنید، از اینجا ثبتنام کنید: https://forms.gle/U3jEUkb2fGXykp1DA
مقالات مرتبط
تا اینجا، حاصل این پروژه دو مقالهی دسترسیآزاد است. اگر میخواهید پشتصحنهی علمی این کار را ببینید، اینها را نگاه کنید:
-
“Profiling Programming Language Learning”
Will Crichton و Shriram Krishnamurthi. OOPSLA 2024. (برگزیدهی کنفرانس.) -
“A Grounded Conceptual Model for Ownership Types in Rust”
Will Crichton، Gavin Gray و Shriram Krishnamurthi. OOPSLA 2023. (انتخابشده بهعنوان SIGPLAN Research Highlight و Communications of the ACM Research Highlight.)
قدردانی
این پروژه بخشی از آن با حمایت DARPA تحت قرارداد شمارهی HR00112420354، بخشی با حمایت NSF تحت grant شمارهی CCF-2227863 و بخشی هم با حمایت Amazon Web Services انجام شده است. دیدگاهها، یافتهها و نتایجی که در اینجا آمده، متعلق به نویسندگان است و لزوماً نظر حامیان مالی را منعکس نمیکند. از Carol Nichols و بنیاد Rust برای کمک به معرفی این آزمایش تشکر میکنیم. TRPL هم پیش از شروع این پروژه، ثمرهی تلاش بسیاری از افراد بوده است.