TGViewer
Rust for Python developers Rust for Python developers @pyrust · 2.64K subscribers
Post #210 2.04K
طبق تجربه و بررسی شخصی چندین نفر از همکارا و نیروهام :

خیلی از کسانی که شروع به خوندن 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 های اشتباه استفاده می‌کنه و به همین دلیل دائم توی کد دوره مجبور به پیاده‌سازی تریک‌های عجیب و غریب هست.
  • 👍 25
  • ❤ 10
  • ❤‍🔥 3
More from @pyrust
  1. Oct 2, 2026Post #223
  2. Sep 30, 2026اما مهمترین موارد برای من روی Tauri این بود که؛ نمی‌دونستم توی فرانت چه چیزهایی رو نیاز دا…
  3. Sep 30, 2026روی کانال RandRng پیام دادند که چرا از Tauri دارم استفاده می‌کنم و نه گزینه‌های دیگه گفتم…
  4. Sep 30, 2026مدتی هست که دارم یک موزیک پلیر توی وقت‌های خالیم برای لینوکس می‌نویسم. روی Tauri v2 هست به…
  5. Sep 24, 2026Cline Desktop (Beta) منتشر شده؛ خوبی این مورد این هست که کاملا open source هست این بنظرم ی…
  6. Sep 23, 2026می‌دونستید کل ارائه رو می‌تونید به comic book تبدیل کنید ؟ هر مدلی که Image generation داش…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →