تعد البرمجة من أهم عناصر التطور التكنولوجي؛ فهي عملية تكنولوجية متخصصة في تصميم وتطوير وبناء مجموعة من برامج الحاسوب القابلة لتنفيذ عمليات حسابية معينة، بالإضافة إلى ذلك تتضمن البرمجة مجموعة من المهام التي تتمثل في تحليل البيانات وإنشاء الخوارزميات وتنفيذها من خلال أنواع لغات مختلفة؛ حيث يتم كتابة التعليمات البرمجية المصدر للبرنامج بلغة محددة أو أكثر من لغة واضحة للمبرمجين، وأستمرت البرمجة بالتطور والتنوع منذ بدايتها حتى أصبحت من أهم التطورات التكنولوجية العالمية مع التقدم الزمني، وذلك من خلال مهامها المتعددة والتي تتضمن العثور على سلسلة من الإرشادات التي تعمل على أداء المهمة وتنفيذها بالوقت المحدد، وسيتحدث هذا المقال عن أنواع لغات البرمجة.
- ماهي لغة البرمجة...
- أنواع لغات البرمجة...
يمكن تقسيم لغات البرمجة إلى نوعين حسب مستواها من حيث القُرب إلى لغة الآلة (بالإنجليزيّة: Machine language)، وهي اللغة التي يفهمها جهاز الحاسوب بشكل مباشر، وتتمثَّل بالأرقام. النوع الأوّل من لغات البرمجة حسب هذا التصنيف هي لغات البرمجة كالتالي :
1-منخفضة المستوى : (بالإنجليزيّة: Low-level languages)، وهي لغات البرمجة الأقرب للغة الآلة، بحيث تُعد لغة الآلة هي الأقل مستوى، ويأتي في مستوى أقل من بعدها ... لغة التجميع : (بالإنجليزيّة: Assembly language)، إذ إنَّ هذه اللغات تتميَّز بكونها تتضمَّن فقط الأوامر التي يفهمها جهاز الحاسوب، وبالتالي هي الأكثر بُعداً عن اللغة التي يفهمها الإنسان، ولكن في نفس الوقت تتيح للمُبرمج التحكُّم الكامل في برنامجه.
النوع الآخر من لغات البرمجة حسب المستوى هي لغات البرمجة...
2- عالية المستوى : (بالإنجليزيّة: High-level languages)، وهي الأبعد عن لغة الآلة، والأقرب لفهم الإنسان، ولكنّها أيضاً لا تتيح نفس مقدار التحكُّم الذي تتيحه اللغات منخفضة المستوى للمبرمج، وذلك من حيث طريقة تنظيم الحاسوب للذاكرة والبيانات. من الميّزات المهمّة في لغات البرمجة عالية المستوى هي تمكين المبرمج من إستخدام المتغيِّرات (بالإنجليزيّة: Variables)، والكائنات (بالإنجليزيّة: Objects)، بالإضافة إلى الروتينات (بالإنجليزيّة: Routines)، والتكرار (بالإنجليزيّة: Loops)، فيمكن عن طريق اللغات البرمجيّة عالية المستوى في بعض الأحيان، تنفيذ كمّ كبير من الأوامر بكتابة سطر واحد فقط. ومن الأمثلة على مثل هذا النوع من لغات البرمجة هي لغتي بايثون (بالإنجليزيّة: Python) وروبي (بالإنجليزيّة: Ruby).
- تنقسم لغات البرمجة حسب طريقة تنفيذها الى نوعين ...
1- لغات البرمجة المُترجمة أو المُحوَّلة : (بالإنجليزيّة: Compiled)، لغات البرمجة المُترجمة يتم فيها إستخدام برنامج المُترجِم (بالإنجليزيّة: Compiler) ليتم تحويلها إلى لغة آلة مُخصّصة لنظام التشغيل الذي تمّت عمليّة الترجمة عليه، ويكون على هيئة برنامج يمكن تنفيذه من خلال إستدعاء اسمه، فلو تمَّت العمليّة في نظام تشغيل لينكس (بالإنجليزيّة: Linux) على سبيل المثال، فلن يتمكَّن المستخدم من تنفيذ ذات البرنامج على نظام تشغيل ويندوز (بالإنجليزيّة: Windows)، كما أنّه في عمليّة التحويل، يتم فحص البرنامج والكشف عن وجود أيّة أخطاء برمجيّة -وليس المنطقيّة- فيه. من الأمثلة على هذا النوع من لغات البرمجة هي لغة السي (بالإنجليزيّة: C).
أمّا النوع الآخر، فهي لغات البرمجة المُفسّرة : (بالإنجليزيّة: Interpreted). في اللغات البرمجيّة المُفسَّرة، يتم إستخدام برنامج المُفسِّر (بالإنجليزيّة: Interpreter) لتنفيذ البرنامج بشكل مباشر دون الحاجة لترجمته، إذ يتم تنفيذ النصوص (أو ما يُسمّى بالسكريبت) بواسطة البرنامج المُفسِّر ذاته، لذا يجب تثبيت البرنامج المُفسِّر على أي جهاز يُراد تشغيل البرنامج المكتوب عليه، ممّا يجعل هذا النوع من البرامج قابلاً للتنفيذ على أي نظام تشغيل ما دام البرنامج المُفسِّر مُثبّتاً عليه. من ميّزات لغات البرمجة المُفسَّرة قدرة المبرمج على تعديل البرنامج بشكل مباشر دون الحاجة لإعادة ترجمته (كما في اللغات البرمجيّة المُترجَمة)، ولكن عمليّة الترجمة الفوريّة التي يقوم بها المُفسِّر باستمرار أثناء تشغيل البرنامج ستجعل من عمليّة التنفيذ بطيئة مقارنةً مع البرامج المُحوّلة. من الأمثلة على هذا النوع من لغات البرمجة هي لغة بايثون.
- حسب الإستخدام يمكن تصنيف لغات البرمجة إلى عدّة أنواع حسب الغرض من إستخدامها...
1- لغات برمجة مُخصّصة لتطوير وإنشاء المواقع الإلكترونيّة:
ومن الأمثلة عليها لغة جافاسكريبت (بالإنجليزيّة: Javascript)، ولغة بي إتش بي (بالإنجليزيّة: PHP)، ولغة بايثون (بالإنجليزيّة: Python).
2- لغات برمجة يمكن إستخدامها في تطوير تطبيقات الهواتف المحمولة :
كتلك التي تعمل بأنظمة تشغيل الآندرويد (بالإنجليزيّة: Android) والآي أو إس (بالإنجليزيّة: iOS)، ومن الأمثلة على هذه اللغات لغة جافا (بالإنجليزيّة: Java)، ولغة سويفت (بالإنجليزيّة: Swift).
3- لغات برمجة تستخدَم في تطوير برمجيّات الحاسوب المكتبي :
ومن لغات البرمجة المستخدمة في ذلك، لغة جافا (بالإنجليزيّة: Java) ولغة سي شارب (بالإنجليزيّة: #C).
4- لغات برمجة يمكن إستخدامها لبرمجة وتطوير ألعاب الفيديو:
يمكن أيضاً إستخدام اللغتين السابق ذكرهما أيضاً في ذلك وهما لغة الجافا والسي شارب، بالإضافة إلى لغات أخرى كلغة هاكسية (بالإنجليزيّة: Haxe) وغيرها.
5- توجد لغات برمجة أيضاً يُمكن تخصيصها لنوع معيَّن من المهام :
فلغة آر (بالإنجليزيّة: R) على سبيل المثال هي لغة مُتخصّصة في التعامل مع البيانات، كالتنقيب عنها، وإجراء الحسابات عليها، بالإضافة إلى تحليلها، كما يمكن إستخدام لغة بايثون لنفس الغرض. أمثلة على لغات برمجة يوجد من لغات برمجة ما لا يمكن عدّه أو حصره، ولكلّ من هذه اللغات ميّزاتها وإستخداماتها، ومن بعض لغات البرمجة الشائعة ما يأتي:
1- لغة سي (بالإنجليزيّة: C): هي لغة برمجة عالية المستوى ذات إستخدام عامّ، تمَّ إنشاؤها في السبعينات من القرن الماضي في مختبرات بيل (بالإنجليزيّة: Bell Labs) على يد دينيس ريتشي (بالإنجليزيّة: Dennis Richie)، وهي تُعد لغة مثاليّة لكتابة البرامج الثابتة (بالإنجليزيّة: Firmware) والمتنقّلة (بالإنجليزيّة: Portable).
2- لغة بايثون (بالإنجليزيّة: Python): هي لغة برمجة مُفسَّرة كائنيّة التوجُّه (بالإنجليزيّة: Object-oriented)، تتميَّز بسهولة تعلُّمها وقلّة تعقيدها، بالإضافة لإمكانيّة تشغيل برامجها على عدّة نُظُم تشغيل.
3- لغة الجافا (بالإنجليزيّة: Java): هي لغة برمجة عالية المستوى ذات إستخدام عامّ، بالإضافة إلى كونها كائنيّة التوجُّه، تمَّ إنشاؤها من قِبَل شركة صَن مايكروسيستمز (بالإنجليزيّة: Sun Microsystems) في عام 1991م، وحاليّاً تخضع لشركة أوراكل (بالإنجليزيّة: Oracle)، بعد أن قامت الأخيرة بشراء شركة صَن في عام 2009م. بحسب إحصائيّة من شركة أوراكل، فإنَّه في الوقت الحالي، يوجد أكثر من 9 ملايين مبرمج يستخدم لغة جافا.
4- لغة السي بلس بلس (بالإنجليزيّة: ++C): هي لغة برمجة عالية المستوى ذات إستخدام عامّ، تتميَّز بكونها شبيهة إلى حدّ كبير بلغة سي، إلّا أنّها أيضاً تدعم البرمجة كائنيّة التوجُّه، والتي يمكن للمبرمج الإستفادة منها أو البرمجة بلغة سي الإعتياديّة دون الحاجة للتقيُّد بالبرمجة كائنيّة التوجُّه.
أتمنى أن يكون قد حاز هذا الشرح على إعجابكم مع تمنياتي لكم بالنجاح والتوفيق....