حقق الاستعداد الكامل لتدقيق NIS2 في غضون 12 أسبوعًا فقط.اقرأ المزيد عن امتثالنا لمعيار NIS2 →
تحويل الذكاء الاصطناعي إلى نتائج ملموسةقم بتكوين فرقك المتخصصة في الذكاء الاصطناعي →

Rust – نظرة عامة موجزة على لغة البرمجة الحديثة التي يحبها المبرمجون

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

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

وهكذا فعل، وولدت لغة «روست». وبفضل جهود هور الأولية، حظيت اللغة الجديدة بدعم من مؤسسة «موزيلا» في عام 2009، وأُطلقت كمشروع مفتوح المصدر بعد عام واحد، وأُعلن أنها «مستقرة وناضجة» في عام 2015 — عندما تم إصدار الإصدار 1.0 من «روست».

وقد اكتسبت منذ ذلك الحين شعبية بين المطورين (حيث يستخدم هذه اللغة أكثر من 12% منهم اعتبارًا من عام 2023)، وصانعي القرار التقنيين، والشركات، بما في ذلك مايكروسوفت وألفابت ودروبوكس

يُستخدم لغة Rust بشكل رئيسي في برمجة:

  • أنظمة الخلفية ذات الأهمية الحاسمة للأداء
  • تطوير أنظمة التشغيل، والرموز المرتبطة بأنظمة التشغيل، والمكونات الأخرى ذات المستوى المنخفض (مثل أندرويد وجوجل كروم)
  • تطوير الويب من جانب الخادم
  • البنية التحتية لسلسلة الكتل وبرمجة العقود الذكية
  • أدوات CLI
  • تطوير الأنظمة المدمجة وإنترنت الأشياء

 

رسم بياني يوضح المجالات الشائعة لاستخدام لغة البرمجة Rust

 

في K&C، عملت فرقنا على عدد من المشاريع التي تضمنت لغة Rust ضمن مجموعات تقنياتها أو استخدمتها كلغة برمجة أساسية. لكننا شهدنا ارتفاعًا كبيرًا في الطلب على هذه اللغة خلال العامين الماضيين – لا سيما في مجال تطوير البلوك تشين والتطبيقات اللامركزية (dApp).

يحب المطورون لغة «Rust» بأنفسهم، وقد اختاروها «لغة البرمجة الأكثر إثارة للإعجاب» بين اللغات الشائعة الاستخدام لمدة 8 سنوات متتالية.

كما أن التطور الذي يشهده قطاع تطوير البرمجيات يزيد من الطلب على المطورين ذوي الخبرة في هذه اللغة.

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

ستقدم لك هذه المدونة لمحة موجزة عن لغة البرمجة «Rust». وسأتناول ما يلي:

  • ما نوع لغة البرمجة "Rust"؟
  • ما هي فائدته؟
  • الاعتبارات الفنية والتجارية عند اختيار لغة Rust ضمن مجموعة التقنيات المستخدمة
  • سوق مطوري لغة Rust
  • تعلم لغة الروست
  • مستقبل لغة Rust – الاتجاهات المتوقعة

 

ما نوع لغة البرمجة "Rust"؟

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

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

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

 

رسم بياني يوضح لغات البرمجة المختلفة مصنفة من المستوى المنخفض إلى المستوى العالي جدًا

 

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

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

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

وبصفته مهندس برمجيات، كان بإمكانه أن يرجح بقوة أن تكرار تعطل نظام برمجيات المصعد يرجع إلى الأخطاء في الذاكرة التي غالبًا ما تنتج عن اللغات المستخدمة في برمجة برامج مستوى النظام – وعادةً ما تكون لغة C أو C++.

فقد أطلق مشروعًا جانبيًا لابتكار لغة جديدة تجمع بين جميع مزايا الإيجاز والسرعة التي تتميز بها لغات الأنظمة القديمة — دون أن تعاني من مشاكل الذاكرة.

اقرأ دليل المقارنة التفصيلي الخاص بنا لمعرفة المزيد عن الاختلافات بين لغة Rust ولغات البرمجة الأخرى مثل C وC++ وGo.

 

لماذا يُعد نهج «Rust» في تخصيص الذاكرة أثناء التحويل البرمجي أمرًا مهمًا للأمن؟

تنسب شركتا التكنولوجيا العملاقتان «مايكروسوفت» و«جوجل» ما يصل إلى 70% من جميع الثغرات الأمنية الخطيرة في مشروعي «ويندوز» و«كروم» التابعين لهما إلى مشاكل في الذاكرة.

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

 

"في لغتي C أو C++، يراودك دائمًا هذا الخوف من أن ينهار كودك فجأة"مارا بوس، المؤسسة المشاركة لشركة Fusion Engineering ورئيسة فريق مكتبة Rust.

 

تتغلب اللغات الأحدث مثل جافا وجافا سكريبت وبايثون على هذه المشكلة من خلال استخدام مكونات تُعرف باسم «مجمعات القمامة» لأتمتة عملية التنظيف الدوري لتخصيص الذاكرة أثناء تشغيل البرنامج. وهذا يحل مشكلة تخصيص الذاكرة، ولكن على حساب الدقة في التحكم والأداء، وذلك بسبب الوقت الذي تستغرقه عملية جمع القمامة.

كانت لغة «Rust» محاولة من «Hoare» لدمج أفضل ما في العالمين في لغة برمجة جديدة واحدة. فهي تعمل على أتمتة تخصيص الذاكرة، مما يزيل مخاطر حدوث أخطاء في الذاكرة، لكنها لا تزال توفر مستوى عالٍ من التحكم مثل لغتي C و C++ – مع ما تتميز به اللغات التقليدية على مستوى النظام من إيجاز وسرعة.

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

 

لغة Rust كلغة "ذات أنواع محددة بدقة"

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

تفرض اللغات ذات الأنواع الصارمة قيودًا على خلط أنواع البيانات والقيم المختلفة. وهذا يُجبر المطورين على تعلم القواعد الصارمة المتعلقة بكيفية كتابة الكود في لغة Rust والالتزام بها – ولكنه يقلل إلى حد كبير من احتمالات الوقوع في الأخطاء.

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

يتم تطبيق قواعد التحديد هذه بواسطة مُجمِّع يرفض ترجمة الكود إلى برنامج قابل للتشغيل في حالة عدم الالتزام بقواعد تحديد أنواع البيانات.

 

"تفرض لغة Rust الانضباط على المطور" – تيم ريزنيتشينكو، رئيس الفريق والفريق التقني، ومهندس TypeScript متكامل ومطور Web3 في K&C.

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

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

وقد أدى ذلك إلى ازدياد شعبية هذه اللغة بشكل كبير بين مطوري البرمجيات وممولي المشاريع.

 

ما هي استخدامات لغة Rust؟

"تعتبر الشركات، من مايكروسوفت إلى أمازون، لغة البرمجة "Rust" مفتاحًا لمستقبلها. فقد استخدمت منصة الدردشة "Discord" لغة Rust لتسريع نظامها، وتستخدمها "Dropbox" لمزامنة الملفات مع جهاز الكمبيوتر الخاص بك، بينما تستخدمها "Cloudflare" لمعالجة أكثر من 20% من إجمالي حركة المرور على الإنترنت... حتى الحكومة الأمريكية تروج بشدة للبرمجيات المكتوبة بلغة Rust كوسيلة لجعل إجراءاتها أكثر أمانًا."كلايف طومسون، MIT Technology Review.

تُستخدم لغات البرمجة منخفضة المستوى مثل «Rust» لكتابة البرامج التي تعمل عليها الأجهزة التي لا تحتوي على نظام تشغيل مثل «Windows» أو «Linux». ويشمل ذلك كل شيء بدءًا من أجهزة غسيل الكلى وصولاً إلى آلات تسجيل النقد و... المصاعد.

تُستخدم لغات النظام أيضًا في البرامج التي تحتاج إلى التواصل مع الأجهزة، مثل أنظمة التشغيل. وقد كُتبت نوى أنظمة التشغيل «ويندوز» و«لينكس» و«ماك أو إس» تاريخيًا بلغة «سي» – على الرغم من أن الانتقال إلى لغة «راست» أصبح الآن اتجاهًا سائدًا لدى أكبر شركات التكنولوجيا.

لم يكن مفاجئًا أن تكون «موزيلا» أول شركة برمجيات كبرى تستخدم على نطاق واسع اللغة البرمجية الجديدة من المستوى المنخفض التي ابتكرها أحد مهندسيها، ثم طورها فريق من «موزيلا». وقد انسحب «هوار» بنفسه من المشروع الذي أطلقه في عام 2013، واثقًا من أن فريق «موزيلا» ومجتمع البرمجيات مفتوحة المصدر الذي كان ينمو بسرعة حول لغة «راست» سيواصلان تطويره.

أدركت «موزيلا» الإمكانات التي يتمتع بها لغة «روست» في مساعدتها على تحسين محرك متصفح الشركة المفتوحة المصدر. ومن المعروف أن المتصفحات هي أنظمة برمجية معقدة تتيح فرصًا عديدة لظهور أخطاء في الذاكرة.

في عام 2016، أطلقت موزيلا محرك المتصفح الجديد «سيرفو» (Servo) المكتوب بلغة البرمجة «روست» (Rust). وفي عام 2017، تم ترحيل الجزء المسؤول عن عرض CSS في متصفح «فايرفوكس» إلى لغة «روست»، مما أدى إلى تحسن كبير في أداء المتصفح.

 

  • استخدمت شركة ميتا لغة البرمجة «روست» لإعادة تصميم البرامج التي يستخدمها مهندسوها لإدارة شفراتهم البرمجية الداخلية.
  • استخدمت Dropbox لغة Rust لتطوير إصدار جديد من البرنامج الذي يعمل على مزامنة الملفات بين أجهزة المستخدمين ومساحة التخزين السحابية الخاصة بالشركة.
  • أعاد مهندسو Discord كتابة أجزاء كبيرة من كود التطبيق بلغة Rust، بعد أن انتقلوا من لغة Go (التي تستخدم مكونًا لإزالة الذاكرة غير المستخدمة)، وحققوا سرعة أعلى بعشر مرات كمكافأة على ذلك.
  • أنشأت AWS فريقًا متخصصًا في لغة Rust في عام 2022 بهدف كتابة كود أكثر أمانًا وسرعة لمنصتها وأدواتها الخاصة بالحوسبة السحابية. وتوصلت مجموعة بحثية تابعة لـ AWS إلى أن الكود المكتوب بلغة Rust يستهلك كهرباء أقل بمقدار النصف مقارنةً بالكود المكتوب بلغة Java. ومن شأن ذلك أن يضاعف سعة مراكز البيانات أو يتيح إنشائها في المناطق الحضرية.

 

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

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

 

لغة Rust لتطوير البلوكشين

كما تحظى هذه اللغة بشعبية كبيرة في مجال تطوير البلوكشين، وتُستخدم لبرمجة العقود الذكية وسلاسل البلوكشين نفسها، بما في ذلك سولانا (Solana) وبولكادوت (Polkadot) وهايبيرليدجر فابريك (Hyperledger Fabric) – وهي سلسلة بلوكشين خاصة للمؤسسات طورتها مجموعة شركات بقيادة مؤسسة لينكس. وإجمالاً، هناك ما يزيد عن 50 سلسلة بلوكشين وإطار عمل للبلوكشين تم إنشاؤها باستخدام لغة «روست» أو تدعمها.

 

تحظى لغة Rust بشعبية كبيرة بين المطورين

قد لا تكون لغة «Rust» من بين لغات البرمجة الأكثر استخدامًا، حيث لا يتجاوز عدد المطورين الذين يستخدمونها 12٪ بقليل. لكنها تُعد «الأكثر إثارة للإعجاب» من بين جميع اللغات التي شملها استطلاع «Stack Overflow Developer Survey 2023»، وهو لقب تحتفظ به منذ 8 سنوات.

تستند هذه الفئة إلى النسبة المئوية للمطورين الذين يستخدمون لغة برمجة ما ويرغبون في الاستمرار في البرمجة بها. 80% من المطورين الذين يستخدمون لغة Rust يرغبون في الاستمرار في استخدامها.

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

 

يستخدم 12% من مطوري البرمجيات لغة Rust بشكل فعال

 

رسم بياني يوضح لغات البرمجة مرتبة حسب الشعبية استنادًا إلى النسبة المئوية لمطوري البرمجيات الذين يستخدمونها

 

يُشير تقرير "أفضل لغات البرمجة لعام 2022" الصادر عن GitHub إلى أن لغة Rust كانت لغة البرمجة التي شهدت أكبر نمو في الاستخدام خلال العام الماضي، حيث ارتفعت بنسبة 50.5٪. وهذا يعكس تجربتنا في تزايد الطلب على خدمات التطوير والتوظيف الخاصة بلغة Rust.

كما صنّف موقع Github لغة Rust في المرتبة الثانية بين لغات البرمجة الأسرع نموًا بين عامي 2021 و2022، حيث ارتفع استخدامها بنسبة 50.5%.

 

جدول يوضح لغات البرمجة حسب نسبة النمو في الاستخدام بين عامي 2021 و2022

المصدر: GitHub

 

ليس الجميع يحبون لعبة Rust

على الرغم من أن هذه المقالة قد تحولت إلى نوع من «التغزل» بلغة «Rust»، وأن مطوري «Rust» لدينا في K&C يحبون استخدام هذه اللغة، إلا أنه من المهم تحقيق بعض التوازن – فليس الجميع يحبون «Rust».

قد يكون من الصعب حتى على المطورين المتمرسين تعلم القواعد الصارمة لهذه اللغة والتكيف معها، مما يسبب الإحباط. فهي ليست من اللغات التي يسهل تعلمها.

شارك أحد المطورين المتمرسين إحباطه من لغة Rust على موقع Reddit، حيث قال:

"أعمل في مجال البرمجة منذ ما يزيد عن ثلاثين عامًا. وأنا أجيدها (في الغالب). وقد أخبرني العديد من زملائي ومدرائي أنني سريع للغاية. حسناً، لكن ليس في لغة Rust!"

"والآن، ها أنا ذا، مجبر على استخدام لغة Rust في مشروع في العمل. الأمر مؤلم للغاية."

"بشكل عام، لغة Rust هي كابوس. فهي مطولة بشكل مفرط، ومعقدة، وصعبة القراءة، وبطيئة في الترجمة، كما أن مسألة "دورات الحياة" (lifetimes) هي حقًا مزحة قاسية. ونادرًا ما أسفر البحث في جوجل عما أحتاجه عن إجابات مفيدة."

 

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

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

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

يُلخص أحد الردود الأمر كما يلي:

"أنت تحاول كتابة الكود بطريقة تختلف جذريًا عن الطريقة التي تريدها لغة Rust، وهذا هو جوهر الأمر. ابدأ بخطوات صغيرة، وتعلم ما تريده منك..."

قد يعارض المطورون الذين لا يدركون ضرورة تكييف أسلوب البرمجة الذي اعتادوا عليه عند استخدام لغات أخرى القواعد الصارمة التي تفرضها لغة Rust.

هذا الفيديو الساخر بعنوان«10 أسباب لعدم استخدام Rust» من قناة «fasterthanlime» على يوتيوب مسلٍّ، وإن كان متحيزًا بعض الشيء:

 

تكاليف تطوير لغة Rust ورواتب مطوري Rust

قد لا يحصل مطورو لغة «Rust» على أعلى الرواتب في القطاع، لكنهم يحتلون مراكز متقدمة في سلم الرواتب، حيث يبلغ متوسط الراتب السنوي 87,102 دولارًا. ويرتفع هذا الرقم إلى 105,000 دولار في الولايات المتحدة، بينما يقترب من 55,000 دولار في أسواق تعهيد تكنولوجيا المعلومات مثل أوكرانيا.

 

رسم بياني يوضح لغات البرمجة، بما في ذلك لغة «Rust»، مرتبة حسب متوسط راتب المطورين

 

وبالمقارنة، يبلغ متوسط الراتب السنوي لمطور جافا سكريبت 74,034 دولارًا، بينما يبلغ راتب مطوري جافا 72,701 دولارًا.

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

ظلت رواتب مطوري لغة البرمجة «Rust» مستقرة خلال العام الماضي، حيث كان متوسط الراتب المتوسط في عام 2023 مطابقًا تقريبًا لما كان عليه في عام 2022.

 

رسم بياني يوضح التغير في متوسط الراتب السنوي لمطوري لغة Rust بين عامي 2022 و2023

المصدر: استطلاع StackOverflow للمطورين 2023

 

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

قد يعني ارتفاع تكاليف توظيف الكفاءات التقنية الماهرة في لغة «Rust»، على سبيل المثال، مقارنةً بـ«Java» و«Python»، ارتفاع الفاتورة الشهرية للرواتب أو تكاليف الاستعانة بمصادر خارجية في مجال تكنولوجيا المعلومات على المستوى الظاهري. ومع ذلك، فإن مسألة ما إذا كان التطوير بلغة «Rust» «أكثر تكلفة» مقارنةً بالبدائل الأخرى هي معادلة أكثر تعقيدًا بكثير من ذلك.

 

  • قد يعني التطوير باستخدام لغة Rust تقليل الاستثمار في الاختبار وضمان الجودة بشكل كبير، وذلك لأن الكود آمن بطبيعته وخالٍ من الأخطاء.
  • يعد نظام Rust البيئي، الذي يشمل المكتبات والأدوات والمجتمع المحيط به، أكثر ثراءً بكثير من نظيره في لغة C++، وهو ما يسرع عملية التطوير ويساعد في تحسين أداء البرامج – وقد سبق أن ذُكر أن أبحاث AWS كشفت أن مراكز البيانات التي تعمل برموز Rust تستهلك نصف كمية الكهرباء التي تستهلكها المراكز الأخرى التي تعمل بلغة Java – وهو توفير يمثل مبالغ ضخمة، لا سيما مع تراكمه بمرور الوقت.
  • إن البرامج الأكثر كفاءة إما توفر المال أو تدر المزيد منه – وإذا حققت لغة Rust ذلك، فإن زيادة رواتب فريق التطوير بشكل طفيف خلال مرحلة التطوير الأولية ستكون بمثابة قطرة في بحر.

 

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

 

تعلم لغة Rust – ما مدى صعوبة ذلك، وهل يمكن للمطورين المبتدئين أو ينبغي عليهم البدء بلغة Rust كلغة برمجة أولى، والموارد التعليمية المتاحة

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

 

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

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

ويعود ذلك أيضًا إلى الطبيعة الشاملة للغة Rust.

في حين أن الكتب التي تتناول لغات برمجة أخرى عادةً ما تتناول بالتفصيل كيفية عمل عناصر معينة مثل متغيرات القوالب، وأسماء النوع البديلة للقوالب، والوراثة، والوراثة الافتراضية، وما إلى ذلك، فإن نظيراتها في لغة Rust تتبع نهجًا مختلفًا في العادة — على سبيل المثال، تشرح كيفية عمل السمات (traits)، ثم تضع على عاتق المطور مسؤولية التفكير في كل ما عدا ذلك من منظور السمات، واستنباط النهج المناسب انطلاقًا من ذلك.

 

وكما يعلق أحد المشاركين الآخرين على موقع Reddit:

"النتيجة النهائية: بعد هذه الدورة التي تستغرق 4 أو 5 ساعات، أو ربما 10 ساعات، ستكون قد اكتسبت فهماً جيداً للأساسيات... ولكن دون القدرة على تطبيقها بفعالية!"

"لأنه، نعم، لقد تعلمت كل مكونات اللغة، لكن لاستخدامها عليك ربطها ببعضها بطريقة معينة... لكن هذا لا يُعتبر جزءًا من "تعلم لغة Rust"!"

ويضيف كوهوجالي:

"لا توجد وثيقة شاملة عن لغة Rust تغطي كل شيء."

"وهذا يعكس كيفية بناء منظومة Rust. فقد صُممت Rust في عصر الإنترنت – فهي تتمتع بمكتبة قياسية مدمجة تُستكمل بمدير حزم قوي ونظام بناء، بالإضافة إلى سجل مركزي غني بالحزم. وعادةً ما تقع مسؤولية توفير التعليم الشامل والتوثيق في مجال معين على عاتق القائمين على صيانة الحزم في ذلك المجال."

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

 

نصيحة لتعلم لغة Rust – أعد كتابة الكود الذي كتبته سابقًا بلغات برمجة أخرى منخفضة المستوى

من النصائح التي كثيراً ما تُقدَّم لمن يتعلمون لغة «روست» أن يعيد المطور كتابة الكود الذي سبق له كتابته بلغات برمجة أخرى منخفضة المستوى مثل «بايثون» أو «جافا» أو «سي» أو «سي++» أو «جو».

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

 

كم من الوقت يستغرق تعلم لغة Rust إذا كنت قد أتقنت بالفعل لغات برمجة أخرى؟

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

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

 

هل تُعد لغة Rust لغة برمجة جيدة لتكون أول لغة يتعلمها المرء؟

هل ينبغي للمبتدئ تمامًا في مجال تطوير البرمجيات أن يختار لغة «Rust» لتكون لغته الأولى؟ إنه سؤال أثار جدلاً في منتديات مثل منتدى مستخدمي «Rust» نفسه وم وقع «Reddit».

لا توجد، بطبيعة الحال، إجابة قاطعة، بل هناك آراء متباينة. ويتفق الجميع على أن البدء مباشرة بتعلم لغة «روست» يمثل تحديًا كبيرًا، لكنه ليس مستحيلًا – على الرغم من أن البدء بلغة «بايثون» يمكن اعتباره خطوة وسيطة معقولة.

من عيوب بدء مسيرة مهنية في مجال التطوير باستخدام لغة Rust أنه قد يكون من الأصعب الحصول على وظيفة أولية كمطور مبتدئ مقارنة بالفرص المتاحة للغات مثل Python وJavaScript.

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

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

 

موارد تعليمية لتعلم لغة Rust

جون جينجسيت

كتاب – Rust للمبتدئين في Rust

دروس تعليمية على يوتيوب

 

آموس وينجر

قناة يوتيوب عن برمجة لغة Rust بعنوان fasterthanlime – مقاطع فيديو عن برمجة لغة Rust لا تتطلب معرفة مسبقة

مقالات مدونة مطولة حول مواضيع تطوير لغة Rust، بعضها تقني وبعضها نظري – https://fasterthanli.me/

 

لا توجد نصوص نموذجية

قناة يوتيوب عن لعبة Rust – بدون نصوص نمطية

 

GitHub Copilot

يمكن لـ GitHub Copilot، وهو مساعد برمجة يعمل بالذكاء الاصطناعي ، أن يساعدك في تعلم أساسيات لغة Rust وصقل مهاراتك فيها أثناء العمل من خلال تقديم اقتراحات مخصصة للكود، مما يقلل من الوقت الذي تقضيه في البحث عن الوثائق والنصائح من مجتمع Rust.

 

ماذا يخبئ المستقبل لـ Rust؟

شهدت شعبية Rust طفرة هائلة خلال السنوات القليلة الماضية، وذلك بعد الارتفاع المذهل الذي شهدته نسبة استخدامها عقب إصدار الإصدار 1.0 من Rust في عام 2015. فهل من المرجح أن يستمر هذا الاتجاه؟

الأرجح أن الإجابة على هذا السؤال هي «نعم».

لقد أشرتُ سابقًا إلى العديد من التقنيات الرائجة التي تجعل من لغة البرمجة «Rust» الخيار الطبيعي لها بفضل مزاياها، بما في ذلك أجهزة إنترنت الأشياء (IoT) وسلسلة الكتل (blockchain). كما أن تزايد أهمية أمن البرمجيات في مشاريع البرمجيات التجارية سيشجع على استخدامها بشكل أكبر.

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

كما أن لغة Rust أصبحت تُستخدم الآن بشكل متزايد في تطوير الويب، حيث تُستخدم لكتابة واجهات برمجة التطبيقات (APIs) ومكونات الخلفية، ويبدو أن تأثيرها على أكبر فئة من البرمجيات في تزايد مستمر.

 

إذا كنت تخطط لمشروع وتفكر في استخدام لغة Rust كعنصر أساسي في مجموعة التقنيات المستخدمة، فلا تتردد في الاتصال بنا. تتمتع K&C بخبرة تزيد عن 20 عامًا كمزود لخدمات الاستعانة بمصادر خارجية في مجال تكنولوجيا المعلومات ووكالة لتطوير البرمجيات المخصصة.

نقوم بتوظيف مطوري لغة Rust وغيرهم من المتخصصين في تكنولوجيا المعلومات المقيمين في مناطق قريبة من الساحل في أوروبا الشرقية وخارجها، ونقدم 3 مستويات أسعار حسب المنطقة الجغرافية لتلبية الميزانيات المختلفة.

تواصل معنا!

أبرز مقالات المدونة