گاهی وقتها نیاز نیست دقیقا مثل بقیه عمل کنی
شاید قدرت در نگاه متفاوت بر خلاف بقیه هست
بیایید این دو خط رو با دو زبان برنامه نویسی مطرح این روزها برسی کنیم
گولنگ یا همون Go
راست یا Rust
قطعا در دنیای نرم افزار به اهمیت حافظه پی بردید
حافظه محدوده و برای نرم افزارها مثل نفس که اگر نباشه قطعا مرگ حتمی است
حالا یک اتاق رو در نظر بگیرید که چندین نفر توش تشک انداختن و خوابیدن صبح که بلند میشن و میرن اگر تشکها رو جمع نکنیم جا برای نشستن نیست
پس مجبوریم اگر خودشون جمع نکردن یک نفر این کار رو انجام بده در دنیای نرم افزار اگر اون اتاق رو حافظه در نظر بگیریم میگیم GC و کارش جمع کردن تشکها هست وقتی کسی توش نخوبیده تا جای نشستن باز بشه
خیلی از زبانها این روش رو دارن و استفاده میکنن
اما زبان برنامه نویسی Rust این مفهوم و قابلیت رو پیاده نکرد و از دو مفهوم دیگه استفاده میکنه به اسم Ownership و Borrowing
یعنی هر مقدار یک مالک دارد که بعد از استفاده اون رو پاک میکنه
به زبان ساده تر میگه بزرگواری که روی تشک خوابیدی اگر بلند شدی رفتی بیرون حتما باید جات رو جمع کنی وگرنه معرفت باید بیاد جمع کنه دیگه وظیفه یک شخص خاص نیست
برای همین مدیریت حافظه در راست در زمان کامپایل انجام میشه با دادن و پس گرفتن و این تضمین تمیز ماندن و نبود سرباره
علاوه بر اون گاهی اوقات GC کارش رو تموم نمیکنه و متوقف میشه در راست چینین چیزی وجود نداره
پس به جای رفتن در مسیری که همه رفتن
یک مسیر و تفکر جدید رو پیش گرفت
دنیای فنی مدیون همین متفاوت فکر کردنهاست
@DevTwitter | <Akbar Rezaeyan Ghane/>
Post #12235
7.34K
- ❤ 52
- 👍 17
- 👎 4