ماهى لغات البرمجة؟

ماهى لغات البرمجة ؟ كل ما تريد معرفته !

سنتحدث اليوم عن ماهى لغات البرمجة و كيف تختلف هذه اللغات عن بعضها وانواع واستخدامات كل منها واشهر اللغات وماهو الافضل لتتعلمه.

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

ماهى لغات البرمجة ؟

لغات البرمجة ببساطة هى مجموعة من الأوامر والتعليمات لجهاز الكمبيوتر لعمل مهمة معينة فهى نقطة الوصل بين الأنسان والكمبيوتر.

وعلى خلاف لغات البشر التى يمكن فهمها حتى مع بعض الاخطاء , فإن لغات البرمجة ليست بتلك المرونة فمجرد خطأ صغير فى البرنامج مثل نسيان ; او اي خطأ بسيط فأن البرنامج لن يعمل.

وتشير كلمة لغات البرمجة غالبًا إلى اللغات عالية المستوى High-Level Languages وهى اللغات الأقرب إلى لغة البشر وتتكون من كلمات يفهمها البشر مثل If , While وغيرها امثلة على هذه اللغات C++ , Python , FORTRAN وغيرها هذه اللغات عالية المستوى وان كانت اقرب إلى لغة البشر فهى معقدة بالنسبة للغات التى يفهمها الكمبيوتر فعليًا وهى لغة الآلة او Machine Language وهى مكونة من صفر او واحد.

إذًا فنحن فى هذه المقالة بصدد الحديث عن اللغات عالية المستوي High-Level Languages ولكن قبل ذلك دعونا نتعرف على أنواع لغات البرمجة المختلفة.

أنواع لغات البرمجة

لغات البرمجة منخفضة المستوى Low Level Languages

لغات البرمجة منخفضة المستوى تلك التى تتعامل مباشرة مع المعالج دون الحاجة إلى مترجم وتتميز هذه اللغات بالسرعة الكبيرة ولذلك يتم إستخدامها فى المجالات التى تتطلب سرعة عالية مثل التطبيقات الصناعية فى حين يعيبها صعوبة كتابة الكود وصيانته.

ونتقسم لغات البرمجة المخفضة المستوى إلى نوعين:

  • لغة الآلة Machine Language : لغة عبارة عن bits من الصفر والواحد وتلك هى اللغة الوحيدة التى يفهمها الحاسب وجميع اللغات الأخرى يجب أن يتم ترجمتها إليها قبل أن يفهمها الحاسب, يتم كتابة بعض التطبيقات بهذه اللغة مباشرتًا بهدف الإستفادة من السرعة الفائقة لتنفيذ أوامر تلك اللغة.
  • لغة المجمع Assembly Language : لغة التجميع أو إختصارًا (ASM) هي أيضًا نوع من لغات البرمجة منخفضة المستوى المصممة لمعالجات محددة. وهو يمثل مجموعة التعليمات في شكل رمزي ومفهوم من قبل الإنسان ، ويستخدم المجمع او assembler لتحويل لغة المجمع تلك إلى لغة الآلة التى يفهمها الحاسب كما ذكرنا.

لغات البرمجة عالية المستوى High Level Languages

تم تصميم لغات البرمجة عالية المستوى لتطوير البرامج والمواقع بطريقة سهلة وبرموز مفهومة من قبل المطورين بعبارات سهلة مثل IF او While وغيرها. تتطلب لغة البرمجة هذه مترجم compiler او مسفر interpreter لترجمة البرنامج من الصيغة المفهوم بالنسبة للإنسان إلى لغة الآلة (او بمعنى اخر تنفيذ البرنامج).

تنقسم لغات البرمجة عالية المستوى بدورها إلى مجموعات فرعية من اللغات:

  • البرمجة الإجرائية Procedural Languages : هى مجموعة من لغات البرمجة التى تعتمد على مفهوم الدوال والإجراءات فى كتابة الكود الخاص بها وهنالك العديد من الأمثلة على هذا النوع مثل C, FORTRAN, Basic, Pascal وغيرها من اللغات.
  • البرمجة الكائنية التوجه Object Oriented Programming : هى مجموعة من لغات البرمجة تعتمد على مفهوم الكائنات فى كتابة الكود ويتم تقسيم البرنامج إلى واحدات تسمى الكائنات وتعتمد مفاهيم مثل الوراثة وتعدد الأوجه وغيرها من مفاهيم OOP.

يوجد المزيد من الأنواع الأخرى ولكن هاتين النوعين هما الأكثر إستخدامًا وسنتابع المقال عن لغات البرمجة العالية.

 كيف تختلف لغات البرمجة العالية المستوى عن بعضها ؟

لعلك تتسأل لما هذا العدد الكبير من لغات البرمجة وكيف تختلف عن بعضها !

تنشأ لغات البرمجة حينما يفكر المبرمجين فى طريقة للتعبير عن مفهوم حسابى بطريقة ابسط واذا تبنى باقى المبرمجين اللغة وكتبوا بها برامجهم فإن اللغة تتنشر, واذا حدث العكس فإن اللغة تنتهى وتموت ببطء.

و لكل لغة برمجة نقاط قوة و نقاط ضعف و الغرض الذى ستستخدم فيه اللغة هو ما يحدد اللغة الانسب على سبيل المثال ، لغة فورتران FORTRAN  هي لغة جيدة بشكل خاص لمعالجة البيانات العددية ، لكنه غير مجدية فى تنظيم برامج كبيرة .

لغة باسكال Pascal جيدة جدا لكتابة برامج جيدة التنظيم سهلة للقراءة ، ولكنها ليست مرنة كما لغة البرمجة C.

لغة سي بلس بلس C++ لغة قوية تمثل البرمجة الكائنية OOP ولكنها فى المقابل صعبة التعلم .

اذًا فاختيارك للغة المناسبة متوقف على طبيعة التطبيق المستخدمة لاجله

ما استخدامات لغات البرمجة ؟

استخدامات لغات البرمجة كثيرة ولا حصر لها ولعل اشهرها : تطبيقات الويب , تطبيقات الهواتف , تطبيقات سطح المكتب , الالعاب و برامج المحكاة , برامج الحسابات و غيرها الكثير, وكما تعلم فإننا نقصد هنا لغات البرمجة عالية المستوى High-Level Languages.

ماهى لغات البرمجة
ماهى لغات البرمجة

أشهر لغات البرمجة واستخدام كل منها : 

فيما يلى سنذكر بعض اشهر لغات البرمجة وطبيعية اللغة والاستخدامات لهذه اللغة :

لغة Javascript 

لغة سهلة تدعمها جميع المتصفحات فهى تعمل على المتصفح الخاص بك , لذلك لا حاجة لتثبيتها فهى بالفعل موجودة على المتصفحات .

يمكنها التعامل مع صفحات الويب واضافة تاثيرات جميلة وتستخدم فى التعامل مع المتصفحات وبرمجة اضافات مثلًا او Extensions و كثير من الاستخدامات الاخرى التى لن تجدها فى اي لغة اخرى حينما يتعلق الأمر بتطبيقات الويب .

أشهر مكتابات Javascript هى Jquery و تستخدم فى نحو 22.9 من أعلى مليون موقع موجود على الأنترنت .

لغة PHP

لغة PHP أنُشئت لبناء مواقع ويب تفاعلية , تعمل لغة PHP على السيرفر Server Side Language ما يعنى اننا كمستخدمين للموقع لايمكن ان نرى اكواد PHP المستخدمة فى الموقع , و يقوم السيرفر بمعالجة اكواد اللغة ويرسلها إلى المتصفح فى شكل HTML .

يمكن للغة PHP التعامل مع الملفات على السيرفر , الحصول على البيانات من الحقول Forms , التعامل مع الكوكيز Cookies , التعامل مع قواعد البيانات ,التحكم فى وصول المستخدمين لصفحات الموقع , تشفير البيانات “مثل كلمات المرور” وغيرها.

يمكنك عن طريق لغة PHP تحويل صفحات الويب الجامدة إلى موقع حقيقى واضافة كثير من المميزات على سبيل المثال البحث داخل الموقع , تسجيل اعضاء , اضافة المقالات بشكل اتوماتيكى وغيرها. 

اشهر المواقع التى تستخدم PHP فى برمجتها : موقع الفيسبوك Facebook , موقع ويكيبيديا Wikipedia , نظام ادارة محتوي وردبرس WordPress  


لغة ASP.NET مشابهة بشكل كبير لPHP فى الاستخدامات وهى من انتاج شركة ميكروسوفت غير ان PHP مفتوحة المصدر.

لمعرفة المزيد عن لغة PHP تابع المقالة هنا

لغة بايثون Python

لغة بايثون لغة سهلة التعلم , عامة الغرض General Purpose Language اي يمكن استخدامها فى اي مكان سواء تطبيقات سطح المكتب او الويب او الالعاب او غيرها على عكس Javascript و PHP التى تستخدمان فى الويب فقط , يمكن ان تستخدم فى تطبيقات الويب كلغة Server Side مع او بدون اطار عمل مثل Django ولكن من عيوب لغة بايثون البطء مقارنة مع لغات مثل C لانها لغة interpreted .

إطار العمل او Framework هو مجموعة من الدوال والتعليمات المجمعة التى توفر الوقت للمبرمجين لتأدية مهمة معينة


يمكن للغة بايثون ان تستخدم فى بناء تطبيقات الويب , تتعامل مع قواعد البيانات , بناء واجهات استخدام فى تطبيقات سطح المكتب , برمجة العاب الفيديو . 

لغة جافا Java و لغة سي شارب C#

جافا و C # هما لغتان متشابهتان إلى حد كبير ولهما قواعد صرامة للمساعدة في منع أخطاء البرمجة. يجب أن تتحول الاكواد البرمجية لهذه اللغات إلى لغة الآلة او Machine Lanaguage قبل تنفيذها ، كما تدعم اللغتان البرمجة الكائنية التوجه او Object Oriented Programming .

مقالة مفصلة عن Object Oriented Programming

استخدامات اللغتان ايضًا متشابهتان فى تطبيقات سطح المكتب والعاب الفيديو وحتى تطبيقات الويب.

لغة جافا ليست لها اي علاقة بلغة جافاسكربت

لغة روبى Ruby

لغة روبى مشابهة إلى بايثون بطريقة كبيرة فكلاهما غرضية التوجهة مرتكزة بشكل اكبر على سهولة انتاج البرامج على حساب السرعة , والسرعة ليست مشكلة كبيرة بالنسبة للمبتدائين او التطبيقات الصغيرة والمتوسطة , ازدادت شهرة Ruby فى السنوات الاخيرة بسبب إطار عمل بناء المواقع Rails , والذى يتميز بالسهولة فى بناء مواقع الويب , فاذا كنت تتوي بناء مواقع الويب بسهولة كبيرة فإن Rails خيار جيدا ولا يتطلب سوا معرفة بسيطة بRuby.

لغة سويفت Swift

سويفت هى لغة مخصصة لتطبيقات ابل Apple وهى لغة من انتاج نفس الشركة فى عام 2013 وهى لغة مفتوحة المصدر وتشتهر بميزات كثيرة منها الامان والسرعة.

ماهى لغات البرمجة الافضل لك ان تتعلمها ؟

فى الحقيقة لا يوجد أجابة قطعية لهذه السؤال لأن هذا يتوقف على عدة عوامل مثل طبيعة التطبيقات التى تريد استخدام البرمجة فيها , طبيعية العمل عمل حر او فى شركة مثلًا , طبيعية المشروعات نفسها اهى مشروعات كبيرة او صغيرة او متوسطة .

ولكن إليك الجيد فى الموضوع , الجيد انك اذا تعلمت لغة تستطيع تعلم اي لغة اخرى بسهولة لأن معظم لغات البرمجة متشابهة فى المفهوم ومختلفة فقط فى شكل الكود وهو ما تستطيع تعلمه بسهولة , فلا تحمل ابدًا هم التنقل بين اللغات .

مصادر مفيدة

https://9gag.com/gag/aDwN219/the-different-uses-of-programming-languages

http://www.dummies.com/programming/the-types-of-programming-languages/

http://blog.teamtreehouse.com/choose-programming-language

https://www.learneroo.com/modules/12/nodes/94

https://www.devsaran.com/blog/10-best-programming-languages-2015-you-should-know

http://www.webopedia.com/TERM/P/programming_language.html

http://www.webopedia.com/TERM/M/machine_language.html

https://en.wikipedia.org/wiki/Programming_language

اشترك فى القائمة البريدية

عن الكاتب

شارك على وسائل التواصل

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *