في الواقع هذا السؤال معقول جدا والذي يبحث عنه الكثيرين في الأجابة عنه. ما الفائدة من استثمار الكثير من الوقت والجهد في تعلم لغة برمجة جديدة، خصوصا إذا اتضح أنك لن تستخدمها أبدًا؟. وإذا كنت من roboticists الجدد، فأنت تريد أن تتعلم لغات البرمجة التي ستكون مفيدة في حياتك المهنية وإذا كنت تعمل على مشروع جديد متعلق بالذكاء الإصطناعي المتعلق بالروبوتات ولكنك لا زلت لم تقرر بعد ما هي اللغه التي تريد استخدامها في برمجة المشروع، فأنت في المكان المناسب. كما نعلم الذكاء الاصطناعي : هو أحد فروع هندسة الحاسب، والذي يهدف أساسا إلى جعل الألآت قادره على محاكاة القدرات البشرية في التفكير بذكاء.
عدد لغات البرمجة في العالم ما يقارب 1500 لغة برمجيه ولو فكرنا بتعلمها فلن نستطيع عمل ذلك؛ لذلك فيما يلي نعرض عليكم أهم اللغات والأكثر استخدامًا في صنع مشاريع الذكاء الاصطناعي الخاص بالروبوت. فإذا كانت اللغه المفضله لديك غير موجوده في القائمة فأرجوا منك أن تخبرنا به في التعليقات. الطريقة التي رتبت بها من الأقل إلى الأكثر أهمية كجزء من الأهمية فقط.
5- Lisp
تعتبر ثاني أقدم لغة برمجة في العالم بعد FORTRAN. ولا تستخدم على نطاق واسع مثل بقية لغات البرمجة الأخرى المذكورة في هذه القائمة؛ ومع ذلك، فإنها لا تزال مهمه في برمجة الذكاء الإصطناعي. تم كتابة أجزاء من نظام ROS بإستخدام هذه اللغه.
4- (ProLog (Programming Logic
تعمل هذه اللغه جنبا إلى جنب مع لغة Lisp عندما نتحدث عن التطوير في مجال الذكاء الإصطناعي. وتشمل الميزات التي يوفرها نظام مطابقة الأنماط الفعالة وهيكلة البيانات القائمة على المخططات الشجريه والتراجع التلقائي. تستخدم لغة ProLog على نطاق واسع في عمل المشاريع الطبية وأيضا في تصميم أنظمة الذكاء الاصطناعي.
3- Java
يمكن اعتبار جافا أيضًا اختيارًا جيدًا لتطوير AI؛ لأن الذكاء الإصطناعي له علاقة كبيرة بخوارزميات البحث والشبكات العصبية الإصطناعية ...الخ. لذلك توفر Java العديد من الفوائد منها : سهولة الاستخدام، سهولة التصحيح، العمل المبسط مع المشاريع الكبيرة، تمثيل رسومي للبيانات مع تفاعل أفضل للمستخدم. بالإضافة إلى كونها لغة تفسيرية، مما يعني أنه لم يتم تجميعها في Machine Code. وبدلاً من ذلك، يقوم Java Virtual Machine بتفسير التعليمات في وقت التشغيل. نظرية استخدام Java هي أنه يمكنك استخدام نفس الكود على العديد من الأجهزة المختلفة، وذلك بفضل Java Virtual Machine. من الناحية العملية، لا يعمل ذلك دائمًا ويمكن أن يؤدي أحيانًا إلى تشغيل الكود ببطء. ومع ذلك، فإن Java تحظى بشعبية كبيرة في بعض أجزاء الروبوتات، لذلك قد تحتاج إليها.
2- Python
في السنوات الأخيره حدث عودة كبيرة للغة Python خاصة في مجال الروبوتات. ربما يكون أحد أسباب ذلك هو أن Python و ++C هما اللغتين الرئيسيتين للبرمجة الموجودة في أنظمة ROS. مثلا Java تعتبر لغة تفسيرية وعلى عكسها، فإن التركيز الأساسي للغة هو سهولة استخدامها. تستغني لغة Python على الكثير من الأشياء المعتادة التي تستغرق وقتًا في البرمجة بعكس اللغات الأخرى، مثل تحديد أنواع المتغيرات وطرحها. بالإضافة إلى وجود الكثير من المكتبات المجانية خاصة بلغة Python، مما يجعل مهامنا أكثر سهولة ولست مضطرا إلى "إعادة اختراع العجلة" عندما تحتاج إلى تنفيذ بعض الوظائف الأساسية. على سبيل المثال: Numpy هي مكتبة Python تساعدنا على حل العديد من الحسابات العلمية. أيضا، لدينا Pybrain، وهي لإستخدام تعليم الآله. وبما أنه يسمح بالربط البسيط مع كود C++/C، فهذا يعني أنه يمكن تنفيذ الأجزاء الثقيلة من Code في هذه اللغات لتجنب فقدان الأداء. مع بدء المزيد من الإلكترونيات في دعم لغة Python كما هو الحال مع Raspberry Pi، فمن الأرجح أن نرى المزيد من إستخدام لغة Python في مجال الروبوتات.
1- C++/C
أخيرا، نصل إلى لغة البرمجة رقم 1 في
علم الروبوتات !! والذي يتفق الكثيرين على أن لغات C و ++C هي نقطة بداية جيدة لـ roboticists الجدد. لماذا؟! لأن الكثير من مكتبات القطع الإلكترونية التفاعلية تستخدم هذه اللغات. فهي تسمح بالتفاعل مع الأجهزة منخفضة المستوى، وتسمح كذلك بالأداء في الوقت الفعلي. في هذه الأيام، ربما ستستخدم لغة ++C أكثر من لغة C؛ لأن لغة ++C بها وظائف أكثر بالإضافه إالى أن لغة ++C هي في الأساس تطوير لـلغة C. قد يكون من المفيد أولاً أن تتعلم القليل على الأقل من لغة C، بحيث تمكنك من التعرف على المكتبات الخاصة بالقطع الإلكترونية المكتوبة بلغة C. لغات C++/C ليست سهلة الاستخدام مثل Python أو Matlab، فقد يستغرق تنفيذ نفس الوظيفة باستخدام C وقتًا أطول كثيرًا، وسيتطلب ذلك المزيد من سطور التعليمات البرمجية. ومع ذلك، نظرًا لأن الروبوتات تعتمد بشكل كبير على الأداء في الوقت الفعلي، فإن لغات C و ++C ربما يكونان أقرب ما يكون لدى الروبوتات "كلغة قياسية".
بأي ترتيب يجب أن أتعلم هذه اللغات وهل يجب علي أن أتعلم بعضهن؟
فقط لأنني أدرجت هذه الخمس لغات لا يعني أن عليك أن تتعلمهن كامل، أو في الواقع أي منهم. ولكن الأهم هو العثور على اللغة التي تبدو مناسبه بالنسبة لك وتتناسب مع مشروعك الخاص. فإذا كنت تريد لغة تسمح لك بتطوير البرامج بسرعة وسهولة، بحيث تمكنك من التركيز أكثر على تطوير functionality . لهذا السبب، أوصي بتعلم لغة Python أولاً. هذا مجرد رأي خاص بي ولا يعني أن تلتزم به. وإذا كانت هناك لغة أخرى أكثر منطقية بالنسبة لك ، فتعلمها بدلاً من ذلك. ومع ذلك، فإن Python هي لغة واضحة وسهله بشكل كبير للتعلم وقوية في نفس الوقت وهذا يعود إلى المكتبات العديدة التي يمكن الوصول إليها بسهولة. بعد حصولك على إتقان معقول بإستخدام لغة Python، أود أن أوصي شخصياً بتعلم لغة C، متبوعة بـ ++C؛ لأنك سوف تحتاج إلى التفاعل مع الغالبية العظمى من برامج تشغيل الروبتات الآلية.
الى هنا أكون قد وصلت معكم إلى ختام هذا الموضوع الهام الذي كان هدفه هو التعريف بأهم اللغات البرمجية المستخدمة في الذكاء الإصطناعي الخاص بالروبوت. فأتمنى أن أكون قد وفقت في إيصال الفكرة. وإذا وجد خطاء لغوي تجاهله فأنا كتبت المنشور على عجالة وإذا كان خطأ تقني فأخبرني به لأصحح معلوماتي فكلانا نتعلم.
تابعنا عبر حساباتنا على وسائل التواصل الإجتماعي وأشترك معنا في قائمتنا البريدية، فأنا أقوم بكتابة ومشاركة المعرفة معكم بكل شغف وحب؛ من أجل نشر العلم والمعرفة اللامحدودة. وأحب دائما أن أراكم تتفاعلون معها فهذا يعتبر مصدر لي في تقديم المزيد.
ولا تنسى ان تشارك المقال مع الأصدقاء، فأنا متأكد أن الكثيرين يحتاجونه❤️ وكذلك كنت أنا سابقا ولا زلت باحثا عن المعرفه.
ممتاز يامهندس
ردحذفشرح وافي وكافي
جميل أن أنشر مواضيع تنال إعجابكم والأجمل أن أجد أشخاص يستفيدون منها فحينها أشعر بأن كل ما أقدمه له معنى.
حذفشكرا على مرورك🌷..