لغة رست

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

يُعرف أيضًا بـ لغة رست رست لغة برمجة الأنظمة

التعريف

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

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

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

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

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

أسئلة حول لغة رست

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

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

أخبرنا بما تبنيه وسنجيبك بلغة واضحة.