طبق تجربه و بررسی شخصی چندین نفر از همکارا و نیروهام :
خیلی از کسانی که شروع به خوندن Rust میکنند توی ۲ مرحله ازین زبان برنامهنویسی خسته میشوند و ادامه نمیدند:
تقریبا ۲ هفتهای وقت گرفت تا بتونم دیتای لازم برای این بررسی رو جمع کنم؛ دسته اول که واضح هست و همه جا درموردش صحبت میشه
این دسته شامل افرادی هست که
Borrowing, Ownership , ... رو متوجه نمیشوند یا درست درک نمیکنند و بعد از یک مدت از این زبان خسته میشوند.
اما دستهی دوم خیلی برام جالب بود؛ برای درک بهتر من بصورت رندم چندنفر رو انتخاب کردم و باهم کدهاشون رو
Review کردیم.
تمام افرادی که برای این بررسی انتخاب کردم همگی افراد با تجربه برنامهنویسی بودند (حداقل ۱ سال روی پروداکشن با یک زبان برنامهنویسی دیگری کار کرده بودند)
نکته جالب این بود که همگی کسایی که از
Rust دست کشیده بودند داشتند استاندادرهای زبانهای برنامهنویسی که روش کار کرده بودند رو توی
Rust پیادهسازی میکردند.
مثلا:
از
struct, trait دقیقا مثل
class داخل پایتون استفاده میکردند و اونطوری میدیدنش و همین هم باعث میشد هر پروژهای که روش کار میکردند بعد از مدتی توسعه کد و زیاد شدن خط کدهاشون به کلی ارورهای کامپایلری بخوره و به همین دلیل هم خارج میشدند.
اگر توی کانال
@pyrust بوده باشید و پستهای قدیمی رو یادتون باشه؛ من چندین بار گفتم که دوستانی که
python رو در سطح متوسط هم اگر هستند به هیچ وجه کتاب
Gang of Fourرو نخونند چرا که این کتاب نه برای پایتون نوشته شده و نه برای این زمان و این دقیقا همون اتفاقی هست که توی
Rust باعث میشه خیلیها از
Rust فراری بشوند چون با
Design pattern اشتباه دارند کد میزنند.
بهترین راهکار چیه ؟
خوندن سورس کدهای دیگران؛ بخصوص افرادی که crate های اصلی رو توسعه میدند :
tokio, serde, axum, actix, sqlx, diesel, clap, ...اینطوری به استانداردها عادت میکنید.
نکتهی بعدی هم که دیدم این بود که خیلی از آموزشها هم این موارد رو یا آموزش نمیدند یا بدتر از اون مدرس به این نکات آشنا نیست و توی پروژه دوره از
Design pattern های اشتباه استفاده میکنه و به همین دلیل دائم توی کد دوره مجبور به پیادهسازی تریکهای عجیب و غریب هست.