حسنًا..صحيح ما قرأت، هل تساءلت ذات مرة كيف تصمم لغات البرمجة؟ يهرع الجميع لتعلم أكبر قدر من لغات البرمجة. الكثير يبحث عن مصادر تعلم إحدى لغات البرمجة، ولكن لماذا لم يسأل أحدهم كيف أنشئ لغتي الخاصة؟
لغة برمجة جديدة..لماذا؟
كيف تصمم لغات البرمجة؟ إذا
برق هذا السؤال في عقلك، فأنت لست الوحيد من سأل، ولكنك أحد قلائل حول العالم!
تتعدد لغات البرمجة وتختلف باختلاف استخداماتها وطرق تصميمها لتبلغ
600 لغة. وسر ذلك العدد أن لم تتواجد اللغة البرمجية المثلى حتى الآن؛ لذا اضطر
علماء الحاسبات للتفكير مرارًا في تطوير لغة جديدة تجمع بين مزايا اللغات السابقة
دون سلبياتها.
ومع تزايد الطلب على برمجة المواقع والتطبيقات وغيرها، تتولد معضلات
حديثة يلزمها إيجاد حلول سهلة سريعة لإنجاز المهام.
تصميم لغات البرمجة
تُقبل الغالبية العظمى لتعلم البرمجة بينما
يعزفون عن تعلم خوارزميات البرمجة وكيف يتعرف الجهاز عليها والتفاصيل المعقدة
لترجمة الأكواد إلى تطبيق أو موقع. والسبب هو أن مجال كهذا يتطلب اختصاصيًا
بالمجال نفسه أي خبيرًا بمجال علوم الحاسوب Data Scientist.
فكرة لغات البرمجة
لغات البرمجة منخفضة المستوى.
تحديد مجموعة من الأوامر لبناء خوارزميات معينة، يمكن ترجمتها لهيئة
يفهمها الحاسوب (الكمبيوتر). هذه الطريقة تسمى لغة الآلة أو ، تتم معالجة تلك
الأمور بوحدة المعالجة المركزية CPU لإتمام عملية معينة، ويسمى مفسرًا compiler.
لغات البرمجة مرتفعة المستوى
تطورت ترجمة التعليمات من النظام الثنائي (0,1) إلى كتابة أكواد بلغة
قريبة من لغات البشر. وتشمل تلك الطريقة تراكيب syntax وبنية structure أسهل في القراءة والفهم
أيضًا، ويسمى مترجمًا interpreter.
اقرأ أيضًا: فرصة مجانية لتعلم لغة Python والحصول على منحة مالية
بقيمة 5000 دولار
إنشاء
لغة برمجة
إنشاء لغة برمجة
يُبنى على ثلاثة محاور رئيسة:
1. كيف
ستعمل اللغة من الداخل
2. كيف
يعمل المفسر
3. كيف
تبني اللغة (بنية اللغة)
إن رحلة بناء
لغة أشبه بممارسة أحد الفنون، رحلة ممتعة وسيتوجب عليك فيها الاطلاع على بعض
العلوم مثل: هندسة برمجيات عالية المستوى، ودراسة الخوارزميات وهياكل البيانات
المتقدمة، ونماذج برمجية متنوعة.
خطوات
إنشاء لغة برمجة
· تعرف على القواعد النحوية للغتك
· قم ببناء
المترجم الأمامي للشفرة المصدرية front-end compiler
· قم
ببناء مولد الرمز الخلفي back-end code generator
متطلبات تصميم لغات البرمجة
1. حدد هدفك من هذه اللغة، كيف ستخدمك وتسهل مهامك
2. يتم تحديد التراكيب syntax: وهي
أوامر تتحكم ببنية اللغة
3. تتعين البنية structure: وهي
تحدد تنظيم الأكواد في اللغة
4. تنفيذ اللغة implementation:
وفيها يُدوّن كلا المترجم والمفسر
5. المترجم interpreter: برنامج لتنفيذ الأكواد سطرًا بسطر
6. المفسر compiler: برنامج لترجمة الأكواد مرتفعة المستوى إلى
لغة الآلة ليفهمها الكمبيوتر
7. حدد الدلالات semantics الخاصة بلغتك مثل:
o
أنواع
البيانات داخل لغتك
o
نموذج
الذاكرة المستخدم
o
معالجة
التزامن concurrency
o
حدد
نمط لغتك
8. تُختبر اللغة وتُنقح وتُجرى عليها التعديلات بناء
على آراء المطوِّرين
خطوات
إنشاء المفسر compiler
1. Lexical
Analysis: وهو تحليل بنيوي أو معجمي للتعرف على
الكلمات الرئيسة على سبيل المثال
2. Parsing:
وهو محلل يتضمن نتاج الخطوة السابقة ويدرجه في بناء يشبه الشجرة، ويستخدم ذاك
البناء في وصف معنى مصدر الشفرة.
3. Semantic
Analysis: وهي الخطوة الأهم والأصعب حيث تتضمن فهم
أنواع الشفرة المصدرية، وكذلك فحص معناها.
4. Code
Generation: توليد الشفرة ويعني ترجمة الشفرة الأصلية
إلى شفرة قابلة للتنفيذ.
ختامًا
يقول الرافعي:
مقامك حيثُ أقمتَ نفسك، لاحيث أقامك الناس، فالناس لاتعدل ولا تزن.
لا تخجل من سؤال يجول بخاطرك، ولا تعبأ باستخفاف الآخرين؛ فأول مخترع
قوبل بالرفض والسخرية. ومن يدري؟ قد تتغلب لغة البرمجة خاصتك على معضلات اللغات
الستمائة جميعها!
كتبته: أميرة سامي أبوالوفا
اقرأ أيضًا:
أفضل كورسات محاسبة معتمدة 2023
احصل على أهم كورسات مجانية من جوجل!
تعرف على أفضل كورسات منصة يوديمي
باللغة العربية