السلام عليكم: هل احدٌ من الأخوة يعرف أي لغات البرمجة تُستخدم في المجال العسكري ( من برمجة آلات حربيّة و رادارات و أنظمة دفاع و توجيه و طائرات بدون طيًار و غيرها........) و جزاكم الله خيراً.....
لغات البرمجة المسخدمة في المجال العسكري .....
لسنا بحاجة للعمل في السلك العسكري لنجيب. مجرد امتلاك المعلومة يخولنا لطرحها كما هي بدون بدون اضافات من معنا. الانظمة الدفاعية والعسكرية هي انظمة سريعة جدا Real Time تنفذ في وقت حقيقي وهي بنفس الوقت انظمة ذكية وخبيرة Expert Systems وكل ذلك يتفاعل مع الانظمة الداخلية لمختلف المعدات Embeded Systems. ولفعل ذلك فأنت تحتاج للغة مؤهلة للاستجابة في زمن حقيقي مثل Ada وبحاجة للغة قوية تمكنك من وضع قوانين Rules لادارة حركات النظام الخبير مثل Prolog.
بعد البحث وجدت ان اللغات المستخدمة في برمجة الطائرات بدون طيار هي
C, C++ and Java (specifically, RTJ)
و كذلك Ada في طائرات البوينج
لنسلم بأمر :تصميم أنظمة خالية من الأخطاء شبه مستحيل وجد مكلف وعليه يتم تصنيف الأنظمة على حسب الأضرار الناجمة عن حدوث الخطأ.
تصميم الأنظمة العسكرية يشابه تصميم أنظمة التحكم الصناعي والمواصلات والطيرات والأجهزة الطبية والنقل لأن هذ ه الميادين تشترك في المتطلبات من أمان وجودة ووثوقية وثبات وتخضع لمعايير ومقاييس صارمة,
. ومن هنا ليست كل الأنظمة سوا ء فالأنظمة ذات الأهمية القصوى التي يترتب عن حدوث خطأء فيها نتاءج كارثية (فقدان للأروا ح ,كسر شيفرة للاتصال العسكري ,) تخضع لشروط ومعاير ونماذج ومناهج خاصة ,بداية من مرحلة جرد المتطلبات وتوصيفها مرورا بالتصميم والتحليل والتطوير والاختبار ,مع تتبع أثر كل المدخلات والمخرجات,
من اللغات المستعملة في التوصيف : lotos ,B-Method ,Process calculi ,Petri nets ,Abstract State Machines ,Z ,Java Modeling Language,ANSI/ISO C Specification Language (ACSL).... كل هذه اللغات لها أرضية رياضية ومنطقية صلبة ,على عكس الانجليزية أو UML use cases لتفادي أي
خلال التصميم والتحليل يتم صقل النموذج الأولي وتحسينة انتقال من المجرد إلى المُحكم ليسهل تطبيقه على البيئة المستهد فة,
في مرحة التطوير يتم تكويد التطبيق يدويا أو اليا,
في مرحلة الاختبار يتم استخدام البرهنة بالاستدلال سواء يدويا أو اليا لاثبا أن النموذج الذي صمم يحقق الخصائص المطلوبة ويحاف عليها خلال التحايا ,كما يتم الاعتماد على التحليل الثابت للأكواد والاختبار الوظيف واختيار الاجهاد المستخدم في البرامج العادية لكن بصرامة أكثر,وهنا تختلف لغات البرمجة من حيث قابليتها للاختبار الثابت static analysis
فلغة ال ADA و C أحسن بكثير من لغات أخر كالبايثون والجافا سكريت الكومبيلر يستطيع اكتشاف الكثير من الاخطاء .
وفي حالات تصميم نظام تفاعلي مع العالم الخارجي :مجس ,متحكم يخضع البرنامج لمتطلبات أخرى تتعلق بزمن الاستجابة للأحداث الخارحية وهنا يستلزم استخدام لغات برمجة فورية
Real-Time Specification for Java ,C , Ada Ravenscar Profile
. كما يظهر تحدي جديد في برهنة أن البرنامج أو نموذجه يحقق الشروط المتعلقة بالوقت ويتم اللجوء إلى أنظمة التشغيل الفورية
في حالة نظام مدمج Embded system تظهر تحديات أخرى كتوفر الذاكرة واستهلاك الطاقة وصعوبة تحديد البرنامج بعد استخدامه .
أغلبها نظم مدمجة صغيرة و كبيرة تستعمل عتاد بشرائح خاصة تتحمل المناخ القاسي مع تقنيات ضد الهندسة العكسية.
من لغات البرمجة: أسمبلي المعالج المستخدم في الآلة، C، لغات الـ FPGA مثل VHDL و Verilog، ...
العتاد يمكن أن يكون حاسوب متعدد الاستخدامات (بل حتى به نواة عامة مثل لينكس إن كان نظام معقد جدا). أو ASIC أو FPGA...
نسيت ذكر لغة مشهورة في المجال و هي Ada.
كتاب مدخل إلى أنظمة إلكترونيات الطيران:
المجال العسكري هو من النوع system cririque
اي ان اي خلل قد يؤدي الى كوراث
في هذا النوع من الانظمة نحتاج اضافة الى النتيجة التي عليها ان تكون صحيحة نحتاج الى عامل الوقت والا نتجاوزه
وهذا ما يعرف temp real
real time
هناك فلسلفة برمجية وللتصميم مختلفة عما تعرفه
ايضا لغات البرمجة اما تكون تتعامل مع الالة او بعقلية مختلفة
هته بعض اللغات
c,ada,python,asymbly,c arduino,java,javascript....
وغيرها ايضا مع اضافة اضافات جديدة لتلك اللغات bibliothéque
وهناك ايضا طرق للتحليل اشهرها methode b
وايضا model clustering
شكرا
*système critique
- temps réel
خطأين في كلمتين فرنسيتين ،
عموماً أنصحك بالتخلي عن هذه اللغة فهي سخيفة و غير ملائمة للعلوم و لم تعد تستعملها إلا مستعمرات فرنسا السابقة ..
تكلم بالعربية لغتك الأم أو الإنجليزية الستاندر العالمي
الإنجليزية الستاندر العالمي
حينما يكون الخيار بين الإنجليزية، والفرنسية. فأكيد أني سأختار الإنجليزية.
لكن إذا حضرت العربية، بطل التيمم (العجمية).
قولك إن الإنجليزية هي "الإستاندر" العالمي، فهذا بحكم الأمر الواقع، وليس لكونها علمية بحد ذاتها.
فاللظروف والأحوال، قد تتغير من عصر إلى آخر، وترتفع لغات وتنحسر أخرى، ففي عهد من العهود، كانت اللغة اليونانية هي لغة العلم في أروبا (ولا تزال بعض بقاياها موجودة)، ولكن شيءً فشيءً، تحول الأروبيون لاستخدام لغاتهم المحلية في العلم.
لا أحد يشك في أن هذا العصر هو عصر انحسار، لكن يجب علينا أن نحافظ عليها من التراجع (أو على الأقل أن نقلل انحسارها).
فما يجعلنا نتمسك بالعربية هي أنها لغة القرآن، والسنة النبوية، لذا في حرب اللغات هذه، إما أن تنتصر العربية، أو تنتصر.
ونصرها هي مهمتنا نحن العرب.
عندما تبني نظام لطائرة بدون طيار (مثلا) أنت تحتاج لعمل الحسابات بشكل سريع واداء اكثر من مهمة بنفس الوقت ولغات البرمجة العادية قد لا تلبي هذه الطموحات.
أنت لا تتحدث عن طائره لعبه هنا ... أنت تتحدث عن شئ حقيقى ... هناك عتاد يقوم بمعالجة البيانات ...
فمثلاً الكاميرات المثبته فيها و جهاز السونار و أنظمة تحديد المواقع و أنظمة الإستشعار الحرارى
هذه فقط لا تمثل 10% من الإمكانيات الموضوعه فى هذه الطائره ... هناك أجهزة تصنت و أجهزة تشويش و أجهزة رادار و أجهزة تحكم بالطيران و موتور الطائره و و أجهزة الدفع و تغيير المسار و الصواريخ و الإتصال بالإقمار الصناعية فهى لا تعمل بالواى فاى أكيد
كل هذه الأجهزة و أضعافها مما لا أعرفه ... يعطى بيانات و نتظر إستجابه عليها .. و لذلك يجب أن يتم معالجة هذه البيانات فى أجزاء متناهية الصغر من الثانية ... فالطائره تطير بسرعة فائق و حينما تقترب من الهدف تحتاج إلى سرعة فى إتخاذ القرار إن كان مناسباً للإطلاق أم لا ... ناهيك عن أنه يمكن أن يكون التحكم بشرى و هو ما يزيد الطين بله .. فأنت تصور و تأخذ البيانات التى لديك كلها و تنقلها إلى مركز تحكم قد يكون فى دولة بل قارة أخرى و تنتظر الرد منهم لتقوم بمعالجة الأوامر التى أتت إليك و تقوم بتنفيذها ... كل هذا يجب أن يتم فى ثوان و دقائق
الطائرة قد يطلع عليها صاروخ .. يجب عليها أن تكون ذكية بما يكفى لتحدد مسار الصاروخ و تفكر كيف تتفاداه و تفلت منها أو تدمره ... كل هذه أمور ليست بالهينة أبداً أو السهلة .
لا احد يعرف بالضبط, لأن دول معدودة تصنع الطائرات و الألات الحربية من هذه النوعية,
لكن حدسى الشخصى أنهم يستخدمون نفس الأنظمة و اللغات التى نستخدمها عادة, فلا يعقل انهم سوف يبتكرون نظام تشغيل جديد و لغات برمجة جديدة بكل المشاكل التى قد تنشأ عن ذلك, اضافة الى ان هذه تكلفة مرتفعة جدا.
توقعى الشخصى لغة سى و اسمبلى مثلما تبرمج الطائرات المدنية العادية و السيارات. نظام التشغيل المستخدم عادة اما Windows CE المخصص للEmbedded systems او لينكس او يونيكس و أتوقع ان تعمل بعض الطائرات بنظام QNX من بلاكبيرى.
لماذا QNX من بلاكبيرى؟ هل تذكرون كيف رفضت الحكومة الكندية بيع شركة بلاكبيرى الى لينوفو الصينية؟! هل الموضوع القادة الامريكيين و استخدامهم لبلاكبيرى (هذا غير منطقى, معظمهم الان يستخدم أبل و سامسونج) ام ان بلاكبيرى لها عقود سرية مع مؤسسات عسكرية أمريكية و كندية؟
بلاكبيرى تخسر الكثير من الأموال و رغم ذلك ترفض الحكومة بيعها او حتى اعلان افلاسها.
لا يعقل انهم سوف يبتكرون نظام تشغيل جديد و لغات برمجة جديدة بكل المشاكل التى قد تنشأ عن ذلك, اضافة الى ان هذه تكلفة مرتفعة جدا
لا يعقل ؟؟؟؟؟؟؟؟ كيف ذلك ... هل تعتقد أنهم يكترثون بالتكلفة أو الأموال أو ما تكترث أنت به كشخص عادى ؟ إن هذه الدول تصنع السلاح و تقوم ببيعه و تربح من تلك الصفقات أرقام لا يمكننا كتابتها ... ناهيك عن الميزانيات التى تخصصها لها حكوماتها من أجل التطوير و التسليح .. فهل سيعجزون عن إنشاء لغات برمجة جديده أو أنظمة تشغيل جديده لا يعلم أحد عنها و لا عن ال kernel الخاصه بها ..
أبل اخترعت لغة برمجة swift و هى شركة تصنع أجهزة حاسوب و ليست مؤسسه عسكرية .. و هناك أصدقاء لها هنا فى حسوب IO يعملون على لغات برمجة و هناك كل يوم لغات برمجة جديده هنا و هناك .. لا تحسب الأمور بمنظورك أنت يا صديقى ..
هل تعرف كم تكلفة المبنى الجديد لفيسبوك الذى تبنى الآن ؟
أو الذى بنته أبل ؟
الدول لا تصنع السلاح يا صديقى, انها تشتريه! هذا اعتقاد خاطىء فى الوطن العربى.
من يصنع السلاح هى شركات خاصة مملوكة لأشخاص عاديين, و يبيعونها للجيش و لغيرهم من الجيوش (طبعا بعد موافقة برلمان الدولة), و هذا احدى أسباب تقدم صناعة السلاح فى الغرب, لأنها شركات خاصة رأسمالية هادفة الى الربح, و مع الربح يأتى الابتكار و الكفاءة.
بعكس صناعة السلاح فى مصر مثلا و التى يحتكرها الجيش و لهذا لم تصل لأكثر من صناعة مدرعة و بضعة دبابات مأخوذة فى الاصل من موديلات تصنعها شركات روسية خاصة!
الF16 تصنعها شركة General Dynamics, السوخوى تصنعها شركة سوخوى الروسية, و كلها شركات خاصة.
الشركة لا تصنع كل شىء, بل تعهد لعدة مصنعين متخصصين, فشركة تصنع الهيكل, و شركة تصنع المكونات الداخلية, و شركة للأجزاء المسبوكة, و هكذا,
و بالطبع شركة لصنع السوفت وير الخاص بالسلاح. فهذا أوفر و أكثر كفاءة.
لأن دول معدودة تصنع الطائرات و الألات الحربية من هذه النوعية
هذا كلامك
الدول لا تصنع السلاح يا صديقى
و هذا أيضاً :)
لا تتصيد بالألفاظ, طالما كان المعنى واضح.
دول معدودة تصنع الطائرات و الالات الحربية معناها ان هذه الشركات المصنعة للسلاح تقع فى عدد محدود من الدول.
أى أن General Dynamics تقع فى الولايات المتحدة, و لكن الحكومة نفسها لا تصنع الF-16 لأن هذه ليست شركة حكومية بل شركة خاصة.
التعبير الأفضل كان "الحكومات لا تصنع السلاح يا صديقى".
لا اعتقد ان ذلك صحيح, QNX من تطوير شركة كندية صغيرة اسمها Quantum منذ 1980, و اشترتها بلاكبيرى فى 2010. لعلك خلطت بينه و بين Meego.
تجربتي كانت مع محطات الرادار وتعاملت مع عدة انواع من أكثر من بلد مصنعة, وجت أن جميعها يشترك في نظام التشغيل (Windows), الفضول لم يكن كافي للمخاطرة بالتعرف أكثر علي البرامج أو اللغات المستخدمة, فكنت أكتفي بتنفيذ مهمتي.
كوجهة نظر عامة لا يوجد محدد ثابت كلغة برمجة أو نظام تشغل أي مهمة يمكن تنفيذه بأي لغة برمجة يرجع القرار بيد الصانع أيهم يفضل.
الجيش الروسي يستخدم توزيعة معدلة مبنية على توزيعة دبيان تسمى astra linux
التعليقات