أهم 8 أشياء تعلمتها من 4000 مطور Rust

هل تعلم أن معظم مبرمجي Rust يعملون على تطبيقات الويب؟ ؟ الصدأ يمثل تحديًا ، ولكنه أيضًا مجزي وممتع للغاية! تعلم Rust على سبيل المثال ، أو افتح GitHub repo لتبدأ في VSCode.

الصدأ هو واحد من أكثر سخونة؟ لغات البرمجة اليوم. إنها لغة البرمجة المحبوبة لدى StackOverflow على مدار السنوات الأربع الماضية. ومع ذلك ، لا يزال يتمتع بسمعة طيبة كلغة برمجة لمحترفي ألفا.

حسب بعض التقديرات ، يوجد 600000 مطور Rust في جميع أنحاء العالم ، وهو رقم كبير. لكنه لا يزال يتضاءل عند مقارنته بعشرات الملايين من مطوري JavaScript و Java و Python.

من هم مطورو Rust هؤلاء؟ لماذا يستخدمون الصدأ؟ لماذا يحبون الصدأ كثيرا؟ والأهم من ذلك ، كيف تنضم إلى صفوفهم وترى بنفسك لماذا رست محبوب جدًا؟ لا تترك وراءك.

للإجابة على هذه الأسئلة ، أجرى مجتمع Rust استطلاعات سنوية للمطورين من rust-lang.org منذ عام 2016. أصدر الموقع مؤخرًا نتائج استطلاع عام 2019 بناءً على ردود من ما يقرب من 4000 مطور Rust. فيما يلي أهم 8 أشياء تعلمتها من الاستطلاع.

؟؟‍؟ الصدأ للمبرمجين المحترفين

لم يتم تصميم لغة البرمجة Rust لتكون "سهلة البدء". بدلاً من ذلك ، فهو مصمم ليكون قويًا وآمنًا في نفس الوقت. تهدف إلى أن تكون لغة إنتاجية المطور للمبرمجين المحترفين. إنها صعبة وممتعة ومجزية. يظهر ذلك في الاستطلاع.

قلة قليلة من المستجيبين يطلقون على أنفسهم اسم خبراء الصدأ. يصنف معظم الأشخاص خبرتهم في Rust بـ 7/10 أو أقل ، على الرغم من حقيقة أن أكثر من 68٪ منهم يكتبون كود Rust على أساس أسبوعي. من الواضح أنها لغة تستغرق وقتًا لإتقانها وتميزها.

شعر حوالي 37 ٪ من مستخدمي Rust بالإنتاجية في Rust في أقل من شهر من الاستخدام - وهذا لا يختلف كثيرًا عن النسبة المئوية في العام الماضي (40 ٪). شعر أكثر من 70٪ بالإنتاجية في عامهم الأول. لسوء الحظ ، مثل العام الماضي ، لا يزال هناك صراع بين المستخدمين - أشار 21٪ منهم إلى أنهم لم يشعروا بعد بالإنتاجية.

في الوقت نفسه ، عندما يُسأل عن سبب عدم استخدام Rust في بعض المشاريع ، يُشار إلى منحنى التعلم باعتباره السبب الثاني الأكثر شيوعًا. السبب الأول ، بالطبع ، هو قرار الشركة ما إذا كانت ستستخدم لغة برمجة معينة في مشروع ما.

؟ التوثيق أمر بالغ الأهمية للتبني

كيف يتغلب المطورون على منحنى التعلم في Rust ويقعون في حبه؟ حسنًا ، ليس بشكل غير متوقع ، ذكر معظم المطورين أن "التوثيق الأفضل" هو المحرك للتبني.

ولكن بالنسبة إلى "المبرمجين المحترفين" ، فإن أكثر وثائق Rust طلبًا هي محتوى المستوى المتوسط ​​الذي يساعد المطورين على تحسين مهاراتهم في Rust وإنتاجيتهم.

في حين أن الاستطلاع منحاز للمطورين الذين يعرفون بالفعل أساسيات Rust ، يبدو أن هناك تعطشًا للمعرفة وتحسين الذات في هذا الحشد.

؟ المطورون لا يريدون مجلدات من النص

تتكون وثائق البرامج التقليدية عادةً من كتب ومواقع ويب كاملة. الأجيال الجديدة من المطورين يريدون وثائق أكثر وأفضل. كلغة "جديدة" ، يقود Rust بالفعل الابتكار عندما يتعلق الأمر بتوثيق لغة البرمجة.

على سبيل المثال ، يعتبر مترجم Rust أداة توثيق ذاتي. واحدة من أكثر الميزات الفريدة والمحبوبة في Rust هي مترجمها القوي الذي يساعدك على ضمان الصحة والسلامة قبل تشغيل البرنامج. نتيجة لذلك ، يمكن لمطوري Rust كتابة برامج عالية الأداء وآمنة.

عندما تواجه خطأ تجميع في Rust ، يقدم لك المترجم شرحًا فوريًا للخطأ ، واقتراحات حول كيفية إصلاح الخطأ بناءً على سياق برنامجك.

يجعلك هذا المشروع المبدئي في GitHub تبدأ مع مترجم Rust ونظام الشحن دون الحاجة إلى تثبيت أي سلسلة أدوات برمجية. يمكنك استخدام IDE عبر الإنترنت VSCode مباشرة مع هذا المشروع.

تستخدم مواقع الويب الخاصة بوثائق Rust مثل docs.rs و Rust by Example (والإصدار الموسع) Rust Playground لتشغيل كود نموذج Rust مباشرةً من المستعرض. هذه الكتب التفاعلية أفضل بكثير من النصوص البسيطة.

ومع ذلك ، كما اكتشف الاستطلاع ، يريد المطورون المزيد. المطورون متعطشون لمزيد من محتوى الفيديو ، على سبيل المثال. يمكننا أن نتطلع إلى المزيد من مقاطع فيديو الترميز والبث المباشر من المجتمع قريبًا.

؟ ️ معظم الناس يستخدمون Rust لتطبيقات الويب ، srsly!

كلغة على مستوى النظام تهدف إلى استبدال C و C ++ ، يفترض معظم الناس أنه سيتم استخدام Rust في برمجة البنية التحتية ، مثل أنظمة التشغيل والمكتبات الأصلية وأنظمة وقت التشغيل.

ومع ذلك ، يُظهر الاستطلاع بوضوح أنه بهامش كبير ، يعمل معظم مطوري Rust اليوم على خلفيات تطبيقات الويب. لا عجب أن الصناديق مثل hyper و actix-web و Rocket هي من بين أكثر الصناديق شعبية لدى مطوري Rust.

من المؤكد أن معظم مطوري البرامج يعملون على تطبيقات الويب. ليس من المستغرب ، مع اكتساب Rust التبني السائد ، ستعكس مشاريع Rust صناعة البرمجيات الأكبر.

ومع ذلك ، فإن ذلك يوفر فرصًا للمشاريع والأدوات التي تدمج Rust في أوقات تشغيل تطبيقات الويب الشائعة. على سبيل المثال ، يكتسب نهج التطبيق الهجين Rust + JavaScript زخمًا.

؟ بلوكشين هو مرتع صدئ

عندما يتعلق الأمر ببرامج البنية التحتية ، فإن Rust تتألق حقًا كلغة برمجة لأنظمة blockchain.

بالنسبة لجميع قطاعات الصناعة المتعلقة بالبرمجيات ، يُظهر الاستطلاع أن blockchain تحتل المرتبة 35 فقط لجميع مطوري البرامج ، ولكنها تحتل المرتبة 11 لمطوري Rust. هذا ليس في جزء صغير بسبب اعتماد Rust العدواني من قبل مشاريع blockchain الكبيرة مثل Polkadot / Substrate و Oasis و Solana و Second State وما إلى ذلك.

من نواح كثيرة ، تعتبر البلوكشين مناسبة تمامًا لصدأ. تمثل Blockchains جهد المجتمع لإعادة بناء البنية التحتية للإنترنت بطريقة لامركزية. إنها تتطلب برامج عالية الأداء وآمنة جدًا أيضًا. إذا كنت مهتمًا بالعمل كمهندس blockchain ، فإن Rust هي مهارة لا غنى عنها اليوم.

الصدأ ❤️ WebAssembly

يكشف الاستطلاع أن WebAssembly هو بيئة تشغيل شائعة لبرامج Rust. تم اختراع كل من Rust و WebAssembly في Mozilla.

يركز Rust على الأداء وأمان الذاكرة ، بينما يركز WebAssembly على الأداء وأمان التشغيل. كحاوية وقت تشغيل ، يجعل WebAssembly أيضًا برامج Rust متعددة المنصات ويمكن إدارتها بشكل أكبر. هناك بالفعل الكثير من التآزر بين التقنيتين.

تم اختراع WebAssembly في الأصل كآلة افتراضية من جانب العميل لتشغيل التطبيقات داخل المستعرض. ولكن مثل جافا وجافا سكريبت قبله ، يقوم WebAssembly الآن بالترحيل من جانب العميل إلى جانب الخادم.

يبشر Rust-in-WebAssembly بشكل جيد مع اتجاه تسريع اعتماد Rust على تطبيقات الويب الخلفية. يمكنك البدء في تطوير تطبيق Rust and WebAssembly من مشروع مبتدئ في مستودع GitHub هذا.

؟ البرمجة غير المتزامنة تنطلق

في السنوات الأخيرة ، اكتسبت لغتان من لغات البرمجة الجديدة قوة جذب كبيرة بين المطورين. واحد هو Rust والآخر هو Go. جزء كبير من نجاحهم هو دعمهم المتفوق لنماذج البرمجة المتزامنة.

في الواقع ، فإن الشعار المبكر لـ Rust هو "التزامن الشجاع". يعد بإنتاجية المطورين في كتابة برامج غير متزامنة متعددة الخيوط محسّنة لبنى وحدة المعالجة المركزية متعددة النواة اليوم. كما أوضح Node.js ، فإن البرمجة غير المتزامنة السهلة أمر بالغ الأهمية لنجاح اللغة أو إطار العمل على جانب الخادم.

يوضح الاستطلاع أن 4 من أهم 10 صناديق Rust (أي مكتبات الطرف الثالث) و tokio و async و futures و hyper ، هي أطر للتطبيقات متعددة الخيوط غير المتزامنة.

؟ R و Python و JavaScript

مع نمو اعتماد Rust ، يحتاج المطورون بشكل متزايد إلى دمج برامج Rust مع البرامج المكتوبة بلغات أخرى. في الماضي ، كانت C و C ++ هي أكثر اللغات شيوعًا "للتحدث" إلى Rust حيث يتم استخدامها جميعًا في مشاريع برامج البنية التحتية.

مع نمو Rust في مشاريع البرامج التطبيقية ، هناك حاجة إلى المزيد من واجهات مستوى اللغة والجسور الآن. ومن الأمثلة الجيدة على ذلك جسر Rust JavaScript الذي يدعم وظائف Rust في تطبيقات Node.js.

وجد الاستطلاع أنه إلى جانب C / C ++ و JavaScript ، يهتم مطورو Rust بالتكامل مع R و Python. يشير ذلك إلى اهتمامات المطورين بتطبيقات التعلم الآلي والبيانات الضخمة والذكاء الاصطناعي (AI). في الواقع ، يتم تنفيذ العديد من حزم التعلم الآلي والحزم الإحصائية في Python و R في وحدات ثنائية أصلية.

Rust هي واحدة من أفضل لغات البرمجة لكتابة الوحدات الأصلية. يوضح هذا المثال كيفية استخدام Rust لتنفيذ نماذج Tensorflow في تطبيق Node.js. في المستقبل ، نتصور وحدات Rust هذه للتشغيل في حاويات مُدارة عالية الأداء مثل WebAssembly.

استنتاج

كان عام 2019 عامًا من النمو والتحسينات الإضافية لميزة الصدأ. نظرًا لأن Rust أصبحت لغة برمجة سائدة ، فإننا نتطلع إلى المزيد من الوثائق والمزيد من الأدوات والمزيد من دعم النظام البيئي والمزيد من قابلية التشغيل البيني مع اللغات الأخرى ومنحنى تعليمي لطيف.

والأهم من ذلك كله ، نحن حريصون على تكوين صداقات أكثر والاستمتاع بأكثر لغات البرمجة المحبوبة في العالم!

عن المؤلف

الدكتور مايكل يوان هو مؤلف 5 كتب عن هندسة البرمجيات. تم نشر كتابه الأخير Building Blockchain Apps بواسطة Addison-Wesley في ديسمبر 2019. الدكتور يوان هو المؤسس المشارك لـ Second State ، وهي شركة ناشئة ممولة من VC توفر تقنيات WebAssembly و Rust إلى تطبيقات السحابة و blockchain و AI. إنه يمكّن المطورين من نشر وظائف Rust سريعة وآمنة ومحمولة وبدون خادم على Node.js.

قبل عمله في Second State ، عمل الدكتور يوان كمساهم مفتوح المصدر لفترة طويلة في Red Hat و JBoss و Mozilla. خارج البرنامج ، يعد الدكتور يوان باحثًا رئيسيًا في المعاهد الوطنية للصحة ، مع العديد من الجوائز البحثية حول أبحاث السرطان والصحة العامة. وهو حاصل على دكتوراه في الفيزياء الفلكية من جامعة تكساس في أوستن.