توی ۷-۸ روز اخیر پروژه لینوکس کرنل یک مینتینرهایی رو داشت از دست میداد که نباید (لاشخورها هم نشسته بودن رو هوا بزنندها؛ ویندوز و مک) بگذریم. کار به جایی رسید که اومدن برای این موضوع قانون گذاری کردند.
https://rust-for-linux.com/
مثل سری قبلی نظرات شخصی هم داشت وارد میشد؛ که بعضی مینتینرها داشتن میکفتند نمیخواند کد Rust
ببینند و Accept
کنند چون ممکنه باعث باگ بشه؛ توسعه دهندههای Rust
که توی برخی موارد مینتینر بخشهای دیگری از کرنل هم هستند با حفظ سمت داشتن میکفتند که بابا ما این کد Rust
رو برای شما زدیم چون باگهای مموری شما مارو سرویس کرده و همین بحث که ما اضاقه نمیکنیم چون ممکنه باعث باگ بشه؛ اوناهم که خب چون باگ داری و توان فیکس ندارید ما کد دونیت کردیم و این شده بود یک loop
تا قانون اضافه شد.
الان مشخص شده همین قانون هم خودش یک سلسله ایمیلی بوده (راستی همهی ایمیلهای بحثهای توسعه کرنل لینوکس بطور کامل روی kernel.org
هست؛ بعله حتی فحش ناموسیهایی که به دولوپر تازهکارا سر اشتباهاتشون دادن؛ اکثرا هم کار خود لینوس هستا؛ حالا ما اینجا به دولوپر میگیم بیشتر دقت کن گریه میکنه میره خونشون یا با اولیاش میاد)
داستان اینه لینوس شخصا میدونه که Rust
باید بیاد توی کرنل چون باعث پیشرفت میشه و از رقیبا عقب نمیوفته ولی بعضی از مینتینرهای قدیمی که نمیتونند Rust
رو یاد بگیرند دارند احمقانه باهاش مبارزه میکنند. (از حق نگذریم حدود ۱۰٪ هم حق دارند و منطقی توضیح میدهند که باید توی فلان بخش فعلا روی C
بمونیم)؛ یک گروه دیگه هم هستند منطقیهای C
بلد که میگن کدهای اصلی که روی C
نوشته شده بذاریم باشه (بالای ۳۰ میلیون خط کد هست کرنل) ولی کدهای جدید و ... رو باید بریم روی Rust
اگر کسی توی دنیای Rust
گردن نگرفت با C
میزنیم و مثال هایی هم هست که توسعه Rust
هفتهها جلوتر از C
بوده مخصوصا برای سختافزارهای جدید چون باگ کمتر داشته و کد زدن توی Rust
برای سختافزار به مراتب سریعتر از C
هست؛ و خب بنظرم صحبتهای این دسته ۱۰۰٪ منطقی هست ولی با همینم مخالفت میکنند.
دسته دیگری هم هستن که با دیتا صحبت میکنند؛ که بیشترین مشکل ما توی باگهایی که باعث نفوذ به سرور شده توی 15+
سال قبل همش مربوط به مدیریت مموری توی C
و خطای دولوپر بوده (اینا بهترین دلوپرهای دنیا هستنا) پس منطقی هست که سعی کنیم بریم سراغ Rust
بدون شک و تردید در آینده باید این اتفاق بیوفته اینا با اینکه توسعه دهنده Rust
نیستند ولی به اندازه تیم توسعه لینوکس کرنل با Rust
موافق اضافه شدن Rust
به کرنل هستند و کامل حمایت میکنند.
دعوا شدیدا بالا گرفته و نظرات شخصی خیلی خیلی داره روی کرنل لینوکس و البته آینده کاربرهاش تاثیر میذاره و بازم من با سخنرانی حذف شده یکی از maintainer
های قبلی اشاره میکنم که این مزمون رو داشت (بعد از۳۵ دقیقه کلکل توی سخنرانیش) :
توی تیم Kernel
فسیلهای احمق و خودخواهی هستند که چون شعور و قدرت یادگیری زبان جدید (Rust
) رو ندارند حاضرند این دستاورد (منظور پیشرفتهای لینوکس بعد از سالها و ورود بیشترش به دنیای دسکتاپ هست) رو با خودشون به نابودی ببرند.
این توی یکی از سخنرانیها بود؛ موج اول خدافظی از Linux Rust Kernel
رو بهمراه داشت؛ سخنرانی بعد ازین بحث تموم شد و ویدئو این بخش هم از یوتیوبشون حذف شد (اون روز بحث کردیم راجبش).
فعلا شخص لینوس تروالدز وارد شده و بنظر میرسه خودش موضوعات مربوط به Rust
رو گردن بگیره که بسیار بسیار خوشحال کننده هست ولی کاش زودتر بود.
پینوشت:
کدی که سرش این دعوا اخیر بوجود اومد تایید شده و maintainer
مخالف از این بخش (کل نهها فقط همین بخش) حذف شد؛ دلیلشم این بود که مخالفتش غیر منطقی بوده (خود لینوس تروالدز این کدپ رو تایید کرده)
Rust for Python developers

یک توسعه دهنده پایتون هستم که سعی میکنم rust یاد بگیرم.
تو این مسیر منابع و نظرات شخصی خودم رو با آیندگان هم به اشتراک میذارم
اگر به هوش مصنوعی و پایتون علاقه دارید به کانال :
@pytens
@pyhints
سر بزنید.
Similar Channels



Rust برای توسعه دهندگان پایتون: یک راهنمای جامع
زبان برنامه نویسی Rust به دلیل کارایی بالا، امنیت و قابلیت اطمینانش به عنوان یکی از زبان های محبوب در دنیای فناوری اطلاعات شناخته شده است. این زبان به ویژه برای توسعه دهندگان پایتون میتواند جذاب باشد زیرا امکان بهینهسازی کدهای پایتون و افزایش سرعت آنها را فراهم میکند. Rust به دلیل استفاده از سیستم نوع قوی و مدیریت حافظه خودکار، توانسته است توجه بسیاری از توسعهدهندگان را جلب کند. برای توسعهدهندگان پایتون که به دنبال ارتقاء مهارتهای خود و ورود به دنیای برنامه نویسی سیستم و نرمافزارهای با عملکرد بالا هستند، یادگیری Rust میتواند یک انتخاب مناسب باشد. در این مقاله، نگاهی عمیق به چگونگی یادگیری Rust برای توسعه دهندگان پایتون، منابع و تجربیات شخصی خواهیم داشت.
چرا توسعهدهندگان پایتون باید Rust را یاد بگیرند؟
Rust به دلیل سرعت و کارایی بالای خود، میتواند گزینهای عالی برای پروژههایی باشد که نیاز به بهینهسازی دارند. هنگامی که توسعهدهندگان با پروژههایی رو به رو میشوند که زمان اجرا یا مصرف حافظه آنها بحرانی است، Rust میتواند به آنها کمک کند تا این مشکلات را حل کنند.
علاوه بر این، Rust امنیت حافظه را تضمین میکند و از بروز بسیاری از خطاهای رایج در برنامه نویسی پایتون جلوگیری میکند. با یادگیری Rust، توسعهدهندگان میتوانند به گسترش دامنه مهارتهای خود بپردازند و قابلیتهای جدیدی را کسب کنند.
منابع مناسب برای یادگیری Rust کدامند؟
برای یادگیری Rust، منابع متنوعی وجود دارد که میتواند به توسعهدهندگان پایتون کمک کند. یکی از منابع اصلی، کتاب 'The Rust Programming Language' است که به طور جامع و دقیق به مباحث مختلف این زبان پرداخته است.
علاوه بر این، وبسایت رسمی Rust و ویدئوهای آموزشی در پلتفرمهایی مانند YouTube و دورههای آنلاین در سایتهای مثل Udemy و Coursera نیز میتواند بسیار مفید باشد.
چه چالشهایی ممکن است در یادگیری Rust برای توسعهدهندگان پایتون وجود داشته باشد؟
یکی از چالشهای اصلی که توسعهدهندگان پایتون در یادگیری Rust با آن روبرو میشوند، سیستم نوع قوی آن است. در حالی که پایتون زبان سادهای است که نیازی به تعریف نوع متغیرها ندارد، Rust به شدت بر روی نوع متغیرها تأکید میکند.
همچنین، مدیریت حافظه در Rust به دلیل مفهوم مالکیت و وامداری میتواند برای بسیاری از توسعهدهندگان تازهکار چالشبرانگیز باشد. این نیاز به تفکر عمیقتری درباره چگونگی مدیریت منابع را برای توسعهدهندگان فراهم میکند.
چگونه میتوان پروژههای پایتون را با Rust ترکیب کرد؟
برای ترکیب پروژههای پایتون با Rust، میتوان از ابزارهایی مانند PyO3 و rust-cpython استفاده کرد. این ابزارها اجازه میدهند که کد Rust را به راحتی به عنوان ماژولهای پایتون استفاده کنید.
با استفاده از این ابزارها، توسعهدهندگان میتوانند کدهای پایتون خود را به Rust منتقل کنند و از مزایای عملکرد بالاتر Rust بهرهمند شوند.
آیا Rust بهتر از پایتون است؟
Rust و پایتون هر دو مزایای خاص خود را دارند و انتخاب بین آنها به نیازهای خاص پروژه بستگی دارد. Rust برای برنامههای عملکرد بالا و سیستمهای حساس به زمان ایدهآل است، در حالی که پایتون به دلیل سادگی و کاربردی بودنش در زمینه توسعه وب و علم داده بسیار محبوب است.
در واقع، بسیاری از توسعهدهندگان ممکن است هر دو زبان را یاد بگیرند و از آنها در پروژههای مختلف استفاده کنند تا از بهترین ویژگیهای هر دو زبان بهرهمند شوند.
Rust for Python developers Telegram Channel
با عنوان 'Rust برای توسعه دهندگان پایتون'، کانال '@pyrust' یک منبع عالی برای توسعه دهندگان پایتون است که علاقهمند به یادگیری زبان برنامهنویسی Rust هستند. در این کانال، یک توسعهدهنده پایتون با اشتیاق به یادگیری Rust، منابع و تجربیات خود را با دیگران به اشتراک میگذارد. این کانال یک فضای عالی برای آموزش و گفتگو در مورد Rust برای توسعهدهندگان پایتون فراهم میکند. اگر شما نیز به هوش مصنوعی و پایتون علاقهمند هستید، به کانال های '@pytens' و '@pyhints' هم سر بزنید تا از منابع دیگری در این زمینه بهرهمند شوید.
Rust for Python developers Latest Posts

let mut vec: Vec<String> = vec![];
let closure = async || {
vec.push(ready(String::from("")).await);
};
این موضوع خیلی کار رو نسبت به
async block
ها راحتتر میکنه دیگه درگیری ownership
و ... رو نداره.Rust edition 2024
هم همزمان منتشر شده؛ که یک سری رزرو جدید و ... داشته
Rust Blog
نظرشخصی:
بنظرم هرچی بیشتر جلو میریم کد زدن توی
Rust
راحتتر و تمیزتر خواهد شد.